基于跳码技术的无线密码锁设计

基于跳码技术的无线密码锁设计,第1张

  0 引言

  无线电子锁系统相比传统机械锁系统具有无接触性、方便快捷、易于管理等优点,伴随着RF器件的价格逐步降低和各种数控系统的集成化要求,无线电子锁在更多的领域得到了应用。早期的无线电子锁系统,钥匙向锁发送的或者是没有加密的固定密码,或者是经过PT2262,VD5026等编码芯片编码的密码,但这些方式产生的密码都是固定的内容,且长度较短(一般不超过16位),入侵者只要利用“拷贝重发”或者“扫描跟踪”等方法就可轻而易举地破解,因此这样的方案都应用于对安全性要求不高的场合。

  为满足对更高安全性的要求,本文提出一种基于“跳码”的无线锁解决方案。所谓跳码,是指钥匙每次向锁发送的密码都是唯一而随机的,入侵者无法预测,即使记录了原来的*密码也不能用于下次*,因此安全性极高。

  1 跳码的软件实现

  目前跳码的实现多借助于专用的处理器硬件,如Microchip的HCSXXX系列,美国MACRSTAR公司的TR13XX,ACM公司的ACM1330E系列,这些产品都是专利产品,内部算法对外不公开。设计者要想使用这些产品,必须学习新的处理器,并且付出一定的专利费。这里提出一种跳码的完全软件实现,使用合适的普通单片机就可运行这种跳码软件。

  跳码的实现核心是非线性加密算法,利用32位非线性反馈移位寄存器(NLFSR)和64位密钥组成的加密单元,可实现对输入32位二进制数据的加密,加密后的输出是32位二进制随机数。输入有一位变化,加密后的输出统计上将有一半以上的位发生变化,具有相当高的随机性。图1是跳码加密和解密的示意图:

  基于跳码技术的无线密码锁设计,第2张

  注意,对于同一套加密系统,加密单元和解密单元的64位密钥是相同的,且是不公开的,这是典型的私钥加密系统。

  1.1 加密单元

  基于跳码技术的无线密码锁设计,第3张

  依据上图,加密时,将欲加密的32位二进制数据X存入32位移位寄存器(shift register,SR)中,选取32位SR的1、9、20、26、31位和固定32位二进制数据OX3A5C742E组成非线性函数(NLR)的输入,NLR的输出、SR的0、16位、以及64位密钥移位寄存器(key FSR)移位后的0位,这些位数据异或(XOR)后产生的1bit数据作为32位SR的31位。循环此 *** 作528轮后,32位SR 中的数据即为X经加密后的跳码数据Y。这里给出用VC6.0对该加密算法的实现:

  基于跳码技术的无线密码锁设计,第4张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2661218.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-13
下一篇 2022-08-13

发表评论

登录后才能评论

评论列表(0条)

保存