改进加密算法及在单片机中的实现技术

[复制链接]
查看1341 | 回复0 | 2011-9-7 22:45:30 | 显示全部楼层 |阅读模式
<





一种基于keeloq的改进加密算法及其在单片机中的实现技术
摘要:讨论了microchip公司的keeloq加解密算法的实现机制,通过引入随随机数,提出了一种新的改进算法,并给出了其在单片机中的实现方案。该算法具有简单实用、所需硬件资源少、传输效率和安全性相对较高等优点,适用于需要数据加密的小型无线数据传输系统,具有广阔的应用前景。
关键词:加密算法 keeloq 单片机 跳码技术
当今的编解码电路已经朝着高度集成化和微电脑化发展。像普通的固定编解码芯片和mc145026/145027、pt2262/2272等已被广泛应用于公用系统中,给生活带来了方便。然而这些芯片不能保证系统的安全性。由于这些系统每次发送的数据流一模一样,只是高低电平的组合,第三方面通过捕捉设备,一旦用户信号出现,便可瞬间取得合法的身份识别码;或使用编码扫描设备,主动攻击解码芯片。因此保证系统的安全性是一个很现实的问题。在此背景下,基于加密算法的编解码ic的安全机制得到了应用。microchip公司的keeloq技术是这种技术的代表。keeloq技术是一种多变化、抗截获得、安全可靠性高的非线性跳码加密解密技术。keeloq目前是通过硬件芯片ic(以mirochip公司的hcs300为代表)实现,主要应用于汽车阵盗系统和门禁系统,是无钥进入系统领域的首选芯片。但也由于硬件芯片本身的限制(其所能加密的数据必须预先写入eeprom中),使之很难用于其它(如数据加密)领域。
本文把这项封装在芯片里的keeloq加密技术用软件方式实现,并针对单片机的特性进行了适当改进。这种在单片机中实现的改进算法不仅包含了原来hcs300所具备的所有功能,而且在系统安全性、灵活性、可扩展性、传输效率等方面均有较大改善,同时对改进算法在数据加密领域作为全新的尝试,以其特殊的密钥管理方法独立于对称型加密(如des)与不对称型加密算法(即公开密钥体制,如rsa),成为一种适用于无线传输领域小型系统的数据加密算法。
1 keeloq技术简介及其硬件实现
keeloq技术的核心思想是用64bit的en_key[64:0](加密密钥)去加密32bit的csr[31:0](校验码)得到32bit的cryp密文。加密机制为:首先定义一个非线性表,这个非线性表有5位输入nlf_in[4:0],一位输出nlf_out。它在csr[31:0]中间隔均匀地取固定5位:i0、i1、i2、i3、i4,通过非线性产生一个输出码nlf_out;这一位输出码nlf_out再与en_key中的15位、csr中的2位进行异或运算后输出第一位输出码cryp[0];每输出一位后,en_key、csr分别进行移位,en_key作循环移位,cryp[0]作为csr移位的输入;重复上述步骤直到输出32位cryp[0:31]。依此法,即使32bit的校验码csr中只有一位发生变化,用keeloq加密算法得到的cryp密文也会有50%以上的数据位(16bit)发生变化。
microchip公司以keeloq技术为基础开发了滚动码系统专用芯片,hcs300是其中较典型的一款。它是一块8引脚的编码ic芯片,里面集成了keeloq算法和其他一些功能,带有四个按键接口,实现15位的功能/命令码。内置192bits(12
热帖推荐
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则