Chaotic-Cipher-Lock

这是学校的大一年度项目。


混沌电子密码锁的设计

摘要: 混沌电子密码锁是将混沌理论应用于电子锁的加密,充分应用混沌系统对初值的极端敏感性和混沌序列的不确定性,使密码锁的安全等级大大提高。 本项目使用STC90C516RD+单片机,使用24C16存储密码,混沌方程采用Logistic映射。 初始时,将钥匙与锁体写入相同的混沌方程并设定相同的初始值, 开锁时,先在锁体单片机上通过矩阵键盘输入密码,若密码正确则通过串口进行锁体单片机与钥匙单片机的双向通信,进行混沌序列值的比较, 若比对成功则开锁,同时改变锁体与钥匙的混沌序列值,等待下一次开锁比对。 这样每次锁体与钥匙比对的混沌序列值都是不同的,相当于每次开锁时密码锁的密码都是不同的, 所以本项目相对于传统电子密码锁在设定密码方面有本质的不同,这将大大提高密码锁的安全性。

关键词:串口通信;Logistic映射;LCD;E2PROM;仿消息队列编程

课题背景

密码技术用于保护军事和外交通信可追溯到几千年前 . 在今天的信息时代, 大量的敏感信息如病历、法庭记录、资金转移、私人财产等常常通过公共通信设施或计算机网来进行交换, 而这些信息的秘密性和真实性是人们迫切需要的。

密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换; 变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展, 对语音、图像、数据等都可实施加、脱密变换。密码在如今的社会发展中起着至关重要的作用。

混沌学是一门新兴的学科,它在生物学、气象学、金融学,乃至国际关系学中的应用都极大地引起了学者们的兴趣。 将混沌学这一新兴学科与密码学这一历史久远的 学科有机地结合起来便催生出了崭新的混沌密码学。 混沌密码学正得到广泛的重视,方兴未艾。

混沌(Chaos)是非线性动力系统中出现的一种确定性的、貌似无规则的运动, 它不需要附加任何随机因素也可以出现类似随机的行为,即存在内在随机性, 这种运动既非周期又不收敛,并且对初始值有极其敏感的依赖性。 即初值敏感性,将这一特性应用于加密算法中将使密码安全性大大提高。

混沌电子密码锁的设计是一个新颖又具有实际应用意义的课题。 现今电子锁的研究已经达到较高水平,各式各样的电子锁层出不穷,其安全性,简便性也在不断提高。 如果将混沌加密理论应用于电子锁中,其安全性将会大大提高。

课题研究内容与方法

我们主要通过锁体与钥匙来产生一定数量混沌序列,然后通过串口通信来实现混沌序列的比对以及是否开锁, 过程中采用具备I2C总线接口的E2PROM芯片来完成密码的存储, 用矩阵键盘设置手动输入密码环节,使用LCD显示双机序列值,用C语言编写程序。

1.电子锁的锁体设计:

(1)锁体机械结构、电驱动部分、单片机。

(2)单片机(STC90C516RD+)的数字电路部分:使用的元器件包括核心芯片STC90C516RD+、存储芯片24C02、继电器等。

(3)矩阵键盘:手动输入密码,二重保护,也可以修改密码。

(4)通信部分:实现锁体与钥匙的配对,进行混沌序列比对。

(5)LCD:动态显示,直观了解双机序列值情况。

2.电子钥匙的设计:(利用混沌编码)

(1)与锁体相同的混沌序列发生器:钥匙同样具有混沌序列发生器, 如果它和锁体具有相同的参数,给定相同的初始值,就会得到相同的结果,从而判定钥匙与锁匹配,执行开锁功能。

(2)通信部分:实现与锁体配对。

其中锁体的功能较多,编程较为复杂,故采用了消息队列的编程思想,使程序变得十分简洁美观。

main()

(图为锁体程序的主函数,其余功能都高度模块化 )

研究结果

1.串口通信部分

钥匙单片机(从机)与锁体单片机(主机)进行双向通信,其串口接收使用串口中断方式。

以下是锁体的流程图:

lock-flow

主机与从机间混沌序列值比对多次的意义:防止破解设备逐次发送数据试探性破解密码锁, 进行多次比对确定主机与从机的混沌方程的初值和控制参数完全相同,即插入锁体的确实为与之配对的钥匙, 大大增强了安全性、可靠性。

钥匙单片机流程图:

key-flow

2.混沌函数方面

采用Logistic映射

logistic-map

其中状态量:

logistic-x

系统控制参数:

logistic-μ

μ=0.5 μ=3.54
μ=3.566 μ=4.0

在本项目中,设置logistic模型的初值 x 0 在0到1之间,系统控制参数 μ 在3.57到4.00之间, 当迭代步数 n 增大时, x 值呈现随机性,不确定性,离散性。该模型的一系列序列值可作为极好的电子锁密码,大大提高了密码锁的安全性。 以下为使用 Mathematica 计算的Logistic映射分岔图

bifurcation diagram

3.矩阵键盘部分

键盘功能设计
1 2 3 修改密码
4 5 6 显示密码
7 8 9 返回
0 Del C 确认

先设定若干位初始密码,由矩阵键盘输入第一重密码,输入正确则进入混沌序列比对,错误则蜂鸣器会发出警报。 可以通过矩阵键盘来修改密码:输入一遍原密码,再输入新密码,最后确认一遍新密码及修改完成 (密码储存在外部存储器EEPROM中,数据不会因断电消失)。

4.LCD显示屏

之所以选用LCD屏而放弃数码管是因为LCD屏突破了数码管八位的限制,可以将第一重手动输入的密码设置的更长, 这略微增加了锁的安全性,也可以在混沌序列比对时显示更长的序列。下图为键入第一重密码时的情形:

Enter PW

5.实验现象

1 2
3 4
5 6
7 8

第一张为初值的比对,其余为混沌序列的比对,其中L为锁体生成的序列,K为钥匙生成的序列。

overview

演示视频

创新点

当前广泛应用于各种领域的电子密码锁都是基于单片机或PLC等,通用的加密算法几乎都可以被破译, 包括对称加密算法、公钥加密算法、数字签名、消息认证、散列函数算法等,或者是单纯的机械锁,安全系数较低,容易被破解。

目前模糊控制属于比较前沿的控制理论,而混沌的概念则是其中最具代表性的理论。 但理论不能只停留在理论的阶段,只有将理论应用于实践的土壤中,才能发挥更大的作用。

该创新项目旨在将目前非常有发展前景的混沌理论在信息保密中的应用与电子密码锁相结合, 大大提高了密码破解的难度,提高了密码锁的可靠性。 而且,混沌理论在保密通信及密码学领域已有了比较深入的研究,但是并没有很多具体应用于实践的例子。 我们将其与电子密码锁相结合,使其具有了更好的实践意义。

结束语

随着科技的进步,各式密码锁层出不穷,人们将电子技术、集成电路设计、大量的电子元器件, 结合多种创新的识别技术(包括计算机网络技术、内置软件卡、网络报警、锁体的机械设计)等应用于密码锁,使其越来越智能,越来越安全。

在另一方面,混沌被认为是继相对论和量子力学后,二十世纪物理学的第三次重大革命,由此可见混沌理论的影响。 现在,混沌理论在经济学,管理学,气象,生物,心理学,信息科学,甚至音乐艺术等领域都得到了广泛的应用。

混沌方程的对初值极端敏感性和不确定性为密码锁提供了极好的密码生成机制, 应用了混沌理论的电子密码锁具有结构简单,易操作,安全性高等特点,其密码设置方式相对传统密码锁有本质的不同, 所以说,混沌电子密码锁是混沌理论的一次很好的应用实践,也是对传统密码锁的一次改进。