1 / 5
文档名称:

基于KEELOQ的改进加密算法及其在单片机中的实现.doc

格式:doc   大小:40KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于KEELOQ的改进加密算法及其在单片机中的实现.doc

上传人:wxc6688 2022/6/22 文件大小:40 KB

下载得到文件列表

基于KEELOQ的改进加密算法及其在单片机中的实现.doc

相关文档

文档介绍

文档介绍:基于KEELOQ的改进加密算法及其在单片机中的实现
时间:2012-06-10 22:47:44 来源:
当今的编解码电路已经朝着高度集成化和微电脑化发展。像普通的固定编解码芯片如MCl和种子码SEED。在HCS300芯片中,加密密钥EN_KEY是由出厂密钥MKEY、序列号SN和种子码SEED(安全模式)生成的。而SN和SEED在发送数据的过程中未经加密,是可截获的。理论上出厂密钥一经确定一般不会更改。所以,一旦出厂密钥外泄,后果极其严重。
  (2)扩展功能弱、升级不方便。其算法由硬件芯片实现。其所能实现的功能由按键决定。其按键只有4个,最多也只有15种组合。发送方无法附加其余的信息(对于大多领域来说,它要求能发送一些附加信息,如用户的姓名、年龄、出生日期等),功能扩展几乎不可能。另外,某一特定型号的芯片其序列号和同步计数器的长度是固定的。当系统建成后,开发者如果想只通过软件升级来扩充系统的容量或提高系统的性能、用硬件实现技术基本不可能。
  (3)对功能码的检错和纠错的功能较弱。在无线传输中,出现误码的概率比较大。功能码代表所要实现的功能,如开门、报警、开阀等。如果发送的数据是0010,而接收的数据为0100,其后果非常严重
[4]。
  (4)传输效率较低。在发送的数据中,其有用信息(如序列号、功能码)全部在固定码中,加密码只作为一种加密用的附加数据,这样不但降低了安全性,而且传输效率不高。以HCS300为例,发送的66位数据中只有32位为有用信息,传输效率比较低。
  (5)无法用于数据加密。由于其是由硬件芯片实现的,它所能加密的数据只限于序列号、同步码等预先存在HCS300的EEPROM中的数据。它没有数据入口,无法对数据流进行加密。
  (6)受硬件设计限制,灵活性差,成本较高,由于不拥有核心技术,容易受制于人[4]。
  基于上述分析,笔者结合单片机的特性,对KEELOQ算法提出如下改进:
  (1)保留出厂密钥,但引入随机数,防止出厂密钥和种子码的泄漏,用户可随时改变加密密钥。
  (2)改进数据传输的格式,把同步码映射到各组待加密的数据中,提高传输效率。
  (3)增加对功能码或关键数据的检错和纠错的功能。
  (4)增加数据入口,改变对加密数据的长度要求,使其适合批量的数据加密。
  数据加密系统的两个基本要素是加密算法和密钥管理。密钥是控制加密算法和解密算法的关键信息,其产生、传输、存储等工作十分重要。目前数据加密技术可以分为二类,即对称型加密、不对称型加密[5]。对称型加密(如DES算法)使用单个密钥对数据进行加密或解密。不对称型加密算法也称公用密钥算法(如RSA算法),其特点是有二个密钥(即公用密钥和私有密钥),只有二者搭配使用才能完成加密和解密的全过程。但两者都在密钥的管理和分发上遇到一些困难。KEELOQ密钥管理机制的主要特点是对每个用户都有自己独特的加解密密钥,在学****过程中发送到主机并保存。但密钥信息隐含在每次发送的信息(SN和MKEY)中(即使在安全模式下,种子码SEED也是固定码,可截获),并且依赖于生产厂家和出厂密钥,不可更改。本改进算法主要针对无线传输领域的小型系统,可以在学****过程中引入随机参数RANDOM,与M