一种基于keeloq的改进加密算法及其在单片机中的实现技术

一种基于keeloq的改进加密算法及其在单片机中的实现技术

ID:13449596

大小:24.02 KB

页数:10页

时间:2018-07-22

一种基于keeloq的改进加密算法及其在单片机中的实现技术_第1页
一种基于keeloq的改进加密算法及其在单片机中的实现技术_第2页
一种基于keeloq的改进加密算法及其在单片机中的实现技术_第3页
一种基于keeloq的改进加密算法及其在单片机中的实现技术_第4页
一种基于keeloq的改进加密算法及其在单片机中的实现技术_第5页
资源描述:

《一种基于keeloq的改进加密算法及其在单片机中的实现技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一种基于KEELOQ的改进加密算法及其在单片机中的实现技术一种基于KEELOQ的改进加密算法及其在单片机中的实现技术摘要:讨论了Microchip公司的KEELOQ加解密算法的实现机制,通过引入随随机数,提出了一种新的改进算法,并给出了其在单片机中的实现方案。该算法具有简单实用、所需硬件资源少、传输效率和安全性相对较高等优点,适用于需要数据加密的小型无线数据传输系统,具有广阔的应用前景。关键词:加密算法KEELOQ单片机跳码技术10/10当今的编解码电路已经朝着高度集成化和微电脑化发展。像普通的固定编解码芯片和MC145026/145027、PT2

2、262/2272等已被广泛应用于公用系统中,给生活带来了方便。然而这些芯片不能保证系统的安全性。由于这些系统每次发送的数据流一模一样,只是高低电平的组合,第三方面通过捕捉设备,一旦用户信号出现,便可瞬间取得合法的身份识别码;或使用编码扫描设备,主动攻击解码芯片。因此保证系统的安全性是一个很现实的问题。在此背景下,基于加密算法的编解码IC的安全机制得到了应用。Microchip公司的KEELOQ技术是这种技术的代表。KEELOQ技术是一种多变化、抗截获得、安全可靠性高的非线性跳码加密解密技术。KEELOQ目前是通过硬件芯片IC实现,主要应用于汽车阵盗

3、系统和门禁系统,是无钥进入系统领域的首选芯片。但也由于硬件芯片本身的限制,使之很难用于其它领域。本文把这项封装在芯片里的KEELOQ加密技术用软件方式实现,并针对单片机的特性进行了适当改进。这种在单片机中实现的改进算法不仅包含了原来HCS300所具备的所有功能,而且在系统安全性、灵活性、可扩展性、传输效率等方面均有较大改善,同时对改进算法在数据加密领域作为全新的尝试,以其特殊的密钥管理方法独立于对称型加密与不对称型加密算法,成为一种适用于无线传输领域小型系统的数据加密算法。1KEELOQ技术简介及其硬件实现10/10KEELOQ技术的核心思想是用6

4、4bit的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移位的输入;重复上述步骤

5、直到输出32位CRYP[0:31]。依此法,即使32bit的校验码CSR中只有一位发生变化,用KEELOQ加密算法得到的CRYP密文也会有50%以上的数据位发生变化。Microchip公司以KEELOQ技术为基础开发了滚动码系统专用芯片,HCS300是其中较典型的一款。它是一块8引脚的编码IC芯片,里面集成了KEELOQ算法和其他一些功能,带有四个按键接口,实现15位的功能/命令码。内置192bitsEEPROM,用来存放EN_KEY、SN、SYNC、SEED等。序列号用来标识不同的对象;加密密钥用来对发送的数据进行加密,增加破译的难度,它不直接发

6、送出去;同步计数器用来抗截获,每次发送数据时,同步计数器的值都被更新,所以每次发送的数据都不一样。种子码用于安全学习时参与加密密钥的生成。接收方必须先通过学习来获得并存储发送方的序列号、加解密密钥和当前同步计数器的值。学习相当于身份确认,只有经过学习的用户才能与主机通信。主机在接收到信号后,首先比对序列号,然后利用学习过程中得到并存储的加密密钥对接收的数据进行解密;接着检查同步计数器是否匹配,在确认其匹配后,再去处理接收到的按键信令,并根据接收到的按键信令作出相应的动作反应。HCS300的系统使每次发送的密文都不相同,有效防止了空中截获法和数据重传

7、带来的安全隐患。10/10HCS300系统的加密密钥在学习过程中经密钥生成算法产生。学习分为一般学习和安全学习。一般模式下,解密解钥由MKEY和SN生成加解密密钥EN_KEY,其解密密钥隐含于发送信息中。安全模式下,增加了种子码SEED,它与MKEY和SN一起生成加解密密钥EN_KEY,而SEED_KEY在平时并不发送,这样增加了安全性。不过,在学习时SEED码的发送是不经过加密的。2KEELOQ技术的不足与改进加密算法的提出尽管KEELOQ技术有上述独特的优点,但是经过深入分析不难发现KEELOQ算法及其硬件实现技术也存在一些不足:安全性基于出厂

8、密钥和种码SEED。在HCS300芯片中,加密密钥EN_KEY是由出厂密钥MKEY、序列号SN和种子码SEED生成的。而S

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。