- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘要:讨论了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×16bit words)EEPROM,用来存放en_key(加密密钥)、sn(序列号)、sync(同步码)、seed(种子码)等。序列号用来标识不同的对象;加密密钥用来对发送的数据进行加密,增加破译的难度,它不直接发送出去;同步计数器用来抗截获,每次发送数据时,同步计数器的值都被更新,所以每次发送的数据都不一样。种子码用于安全学习时参与加密密钥的生成。接收方必须先通过学习来获得并存储发送方的序列号、加解密密钥和当前同步计数器的值。学习相当于身份确认,只有经过学习的用户才能与主机通信。主机在接收到信号后,首先比对序列号,然后利用学习过程中得到并存储的加密密钥对接收的数据进行解密;接着检查同步计数器是否匹配,在确认其匹配后,再去处理接收到的按键信令,并根据接收到的按键信令作出相应的动作反应。HCS300的系统使每次发送的密文都不相同,有效防止了空中截获法和数据重传带来的安全隐患。????HCS300系统的加密密钥在学习过程中经密钥生成算法产生。学习分为一般学习和安全学习。一般模式下,解密解钥由mkey和sn生成加解密密钥 en_key,其解密密钥隐含于发送信息(mkey和sn)中。安全模式下,增加了种子码seed(当四键一起按时发送),它与mkey和sn一起生成加解密密钥en_key,而seed_key在平时并不发送,这样增加了安全性。不过,在学习时seed码的发送是不经过加密的。2 keeloq技术的不足与改进加密算法
您可能关注的文档
- SQLServer课件第6章.ppt
- SQLServer学习课件10.ppt
- SQL第3章.ppt
- V《会计软件程序设计基础》总结.doc
- VB0021数据加密及DES算法应用2.doc
- VB3066基于DES加密算法的WORD加密插件的实现2.doc
- VC0043基于改进的BM算法在IDS中的实现.doc
- vc++第6章 结构体共同体和枚举型.ppt
- VFP基础大纲.doc
- VHDL课件5.ppt
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
文档评论(0)