当今,编解码电路已经朝着高度集成化和微电脑话发展,给生活带来了很多的方便。由于这些系统每次发送的数据流一模一样,只是高低电平的组合,第三方通过捕捉设备,一旦用户信号出现,便可瞬间取得合法的身份识别码,或使用编码扫描设备,主动攻击解码芯片。因此保证系统的安全性是一个很现实的问题[2]。
在过去的安全领域,有很多的加密技术出现,如DES,3DES,RC2,IDEA等加密算法,其中在无线遥控技术应用中,普遍采用的是基于KEELOQ的加密技术,较之其他加密技术增加了同步计数值参与加密。每次发送数据时,同步计数器的值都得到更新,从而加密结果在每次发送数据时都得到改变,具有很好的抗截获性。而传统的KEELOQ采用的是硬件解码,解码芯片昂贵,而且输出控制端口很少,传输效率较低,对功能码纠错的功能较弱,扩展功能弱,升级不方便,更重要的是受硬件设计灵活性差,成本较高,不拥有核心技术,容易受制于人,无法满足多样化要求[3]。软件实现的滚动加密技术,有无与伦比的优势,并且被大量运用在生活的各个方面。由此基于KEELOQ的滚动加密技术,成为主流。源.自/优尔·论\文'网·www.youerw.com/
1.2 研究现状
1.2.1 固定码
1.2.2 基于KEELOQ的滚动码加密技术
1.2.3 硬件实现方法
1.2.4 软件实现方法
1.2.5 发展趋势
1.4 论文结构
论文共包括5章
第1章 绪论 主要介绍加密的起源以及随着计算机技术的发展,滚动码加密算法的背景,研究现状和发展趋势。
第2章 滚动码编码原理 主要介绍了滚动码的数学模型原理以及公式和实现的流程图。
第3章 开发工具Visual C++的特点介绍以及窗口的设计用到的控件和作用。
第4章 各个功能模块的设计实现,转换、加密、解密的代码实现的主要过程 和联调的过程。
第5章 程序运行和验证,信息在经过加密,然后解密后得到的信息与原来的信息比较,鉴别位,溢出位,同步计数值,按键状态位是否一致。
2 滚动码编码原理
在KEELOQ滚动编码数据传输过程中的66位数据,其中有32位的滚动码编码数据,这32位的滚动码编码数据是由一组64位的密钥和由同步计数值,溢出位,状态位,鉴别位组成的32位信息加密得到的[7]。而在数据传输的过程,发送的信息包括32位滚动码,序列号,按键信息组成。其具体的流程图如下图2.1所示:
图2.1 滚动码生成图
从图中可以看出,在发射前将信息用密钥加密,同步计数值是32位信息的一部分,完成加密的信息和序列号和按键信息组成可以发送的66位完整发送信息。由于在发送的66位数据中需要在后续的操作中提取其中的信息