一种基于偏振光的密钥分发系统的制作方法

文档序号:7782008阅读:243来源:国知局
一种基于偏振光的密钥分发系统的制作方法
【专利摘要】本发明公开了一种基于偏振光的密钥分发系统,包括光强感受模块、电机控制模块串口通信模块、随机数生成模块,有效位分析模块、AES加密模块、MD5密钥扩展模块和通信模块。本发明模拟的量子加密的采用偏振光的加密方式降低了实验难度,可以达到较为精密的密钥传输,并且继承了量子加密的优点,可以应用于实验室、军事安全通信。
【专利说明】一种基于偏振光的密钥分发系统
【技术领域】
[0001]本发明属于加密【技术领域】,涉及一种基于偏振光的密钥分发系统。
【背景技术】
[0002]加密是保障信息安全的重要手段之一。当前最常用的加密技术是用复杂的数学算法来改变原始信息。这种方法虽然安全性较高,但存在被破译的可能,并非绝对可靠。而量子密码术是一种截然不同的加密方法,主要利用量子状态来作为信息加密和解密的密钥。任何想测算和破译密钥的人,都会因改变量子状态而得到无意义的信息,而信息合法接收者也可以从量子态的改变而知道密钥曾被截获过。从理论上来说,用量子密码加密的通信不可能被窃听,安全程度极高。
[0003]早在1989年,在IBM的华生实验室中,班奈特(Charles Bennett)和同事斯莫林(JohnA.Smolin)以及布拉萨(Gilles Brassard)开创了一种加密方式的先河。在这个实验里,他们让光子在一个昵称为“玛莎阿姨的棺材”的光密盒里走了 30公分。光子振荡(偏振化)的方向,代表一连串量子位元里的O与I。量子位元构成密钥,可以对信息加密或解密。这就是现在大名鼎鼎的量子加密方式。
[0004]单个量子的不可完全擦除定理:量子相干性不允许对信息的载体一量子态任意地施行象存储在经典信息载体上的0,I经典信息进行地复制和任意的擦除,量子态只可以转移,但不会擦除(湮灭)。
[0005]量子加密的产品也有了发展,从2003年起,瑞士日内瓦的id Quantique以及美国纽约市的神奇量子科技(MagiQ),都发表了可以传送量子密钥的商品,传送距离超过在班奈特实验里的30公分。除此之外还有NEC的产品,它传送了 150公里远,创下纪录,并将在2005年初上市。除此之外,IBM、富士通以及东芝等也正在加紧研发。随着量子密钥分配协议在理论和实验上取得巨大成功,类比于经典信息安全技术,量子信息安全技术也得到了飞速发展。到目前为止,人们在量子密码学理论和实验研究方面取得了一系列的研究成果,主要包括:量子密码信息理沦基础,量子比特承诺,量子密钥管理,量子秘密共享,量子认证和量子多方计算。
[0006]所有量子安全方案是基于海森堡测不准原理进行的,所以很难得到量子的信息,除非你对他进行干扰,当两人进行通信时,偷听者就会在量子上留下记号,这是关键的一点。该系统每次发送光束在I秒内发射上百万个光量子,而携带的信息可以被恢复。当某个节点被黑客窃听,则该节点自动断开,同时黑客的节点也自动断开,而通信数据将从另外的节点传送,以保证通信的正常运行。光量子传送密钥时时光量子传输的路线不是确定的,而且到达时间十分精确。
[0007]量子通信按其所传输的信息是经典还是量子而分为两类,前者主要用于量子密钥的传输,后者则可用于量子隐形态和量子纠缠的发送。系统基本部件包括量子态发生器、量子通道和量子测量装置等。其工作原理就是被爱因斯坦称为“神秘的远距离活动”的量子纠缠。即光子被分割开之后,相距十分遥远也是相互联结的。在使用量子加密法的两个用户之间,会各自产生一个私有的随机数字符串,除了发件人和收件人之外,任何人都无法掌握量子的状态,也无法复制量子。如果通信中一旦发生试图窃取破译这些密码的行为,都会改变量子状态并留下痕迹。并且,异动的光子会像警铃一样显示出入侵者的踪迹。再高明的黑客、间谍对这种加密法也一筹莫展。

【发明内容】

[0008]为了克服现有技术中存在的不足,本发明提供一种基于偏振光的密钥分发系统,该系统模拟的量子加密的采用偏振光的加密方式降低了实验难度,可以达到较为精密的密钥传输,并且继承了量子加密的优点,可以应用于实验室、军事安全通信。其技术方案如下:
[0009]—种基于偏振光的密钥分发系统,包括光强感受模块、电机控制模块串口通信模块、随机数生成模块,有效位分析模块、AES加密模块、MD5密钥扩展模块和通信模块:
[0010]所述光强感受模块为BH1759FVI模块,其电路中:PD (Photo diode withapproximately human eye response)为接近人眼反应的光敏二极管;AMP为集成运算放大Interface (逻辑+IC界面)为光强度计算和I2C总线接口,包括下列寄存器:数据寄存器、光强度数据寄存、测量时间寄存器、时间测量数据寄存,初始值分别为“0000_0000_0000_0000” 和 “0100_0101” ;0SC 为内部振荡器,时钟频率典型值:320kHz,所述时钟为内部逻辑时钟,该模块具有较高的分辨率,能过探测较大范围的光强度变化(l-655351x),将该BH1759FVI模块传感器与单片机相连接,通过串口获得光强感受器所探测到的光强,在连续H分辨率模式2下,测量时间为120ms,光强分辨率0.51x ;
[0011]所述电机控制模块串口通信模块采用FL42STH38-0806A型步进电机,额定电压6v,步距角1.8°,步进电机转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场,该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致,当定子的矢量磁场旋转一个角度,转子也随着该磁场转一个角度,每输入一个电脉冲,电动机转动一个角度前进一步,它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比,改变绕组通电的顺序,电机就会反转,因此能够通过单片机控制脉冲个数(以控制角位移量),从而达到准确定位的目的;同时可以通过控制脉冲频率(以控制电机转动的速度和加速度),从而达到调速的目的,所述步进电机与偏振片相连接,通过单片机产生脉冲控制步进电机转动,可以较为精确的控制偏振片转动到相应的基;
[0012]所述串行接口模块一种将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件;本发明基于RS232串口进行数据通信,串口通信模块通过调用WindowsAPI函数对串口进行相应的操作;如打开串口、发送数据、接受数据、串口初始化设置、关闭串口等操作,
[0013]随机数生成模块在java中使用java.util.Random类来产生一个随机数发生器,进而产生需要的10串;
[0014]所述有效位分析模块是通过偏振光获得密钥的核心操作,密钥分发系统通过有效位分析最终获得相应密钥;
[0015]所述AES加密模块是在一个4X4的字节矩阵上运作,这个矩阵又称为“状态(state)”,其初值就是一个明文分组(矩阵中一个元素大小就是明文分组中的一个Byte),Rijndael加密法因支持更大的分组,其矩阵行数视情况增加,加密时,各轮AES加密循环,除最后一轮外均包含字节代换、行移位、列混合、密钥加4个步骤;
[0016]MD5密钥扩展模块通过偏振光产生的64位种子通过Hash算法中的MD5算法进行密钥扩展扩展出最终用作AES加密的128位密钥;
[0017]所述通信模块包括身份验证、通信验证、单片机-PC机通信和通信4个部分。
[0018]进一步优选,所述有效位分析模块具体流程为:首先分析两偏振片的不同状态,若偏振片A与偏振片B所选择的基相同,则此时通过光强感受器B所感受到的光强为1/210+1/21或者1/21,从而能判断A所发送的对应位数字;若偏振片A与偏振片B所选择的基不同,则此时通过光强感受器B所感受到的光强在上述1/2IJ1/2I或者1/21的2种情况之间;
[0019]有效位分析模块通过对光强感受器数据进行分析,保留基相同的部分,舍去基不相同的部分,并定义基相同的位为有效位,之后将有效位上的对应的数字作为密钥,完成有效位分析的工作。
[0020]进一步优选,所述MD5密钥扩展具体过程如下:
[0021](I)补位
[0022]首先对信息进行填充,即在信息的后面填充一个I和若干个O使其字节长度对512求余的结果等于448 ;
[0023]⑵补数据
[0024]用一个64位的数字表示数据的原始长度B,把B用两个32位数?表示,这时,数据就被填补成长度为512位的倍数;
[0025](3)初始化MD5参数
[0026]对MD5进行初始化,MD5中用四个32位被称作链接变量的整数参数,分别为:A=0x01234567, B=0x89abcdef, C=0xfedcba98, D=0x76543210 ;
[0027](4)四轮循环运算
[0028]开始进入算法的四轮循环运算,循环的次数是信息中512位信息分组的数目,将上面四个链接变量复制到另外四个变量中:A到a,B到b,C到c,D到d,主循环有四轮,第一轮进行16次操作,每次操作对a、b、c和d中的其中三个做一次非线性函数运算,然后将所得结果加上第四个变量,再将所得结果向右位移一个不定的数,并加上a、b、c或d中之一,最后用该结果取代a、b、c或d中之一,以下是每次操作中用到的四个非线性函数,每轮一个:
[0029]f (X,y, z) = (x&y) | ((?x) &z)
[0030]g(x, y, z) = (xz) I (y& (?z))
[0031]h (x, y, z) =x'y'z
[0032]i (x, y, z)=y~ (x| (?z))
[0033]其中:“&”是与运算,“I”是或运算,“?”是非运算,是异或运算,它们
都是位运算符。
[0034]与现有技术相比,本发明的有益效果:(1)使用偏振光作为密钥传输的介质,新颖独特;(2)应用于室内信息传输场景,方便自然,保证信息的安全性;(3)不会添加额外干扰源,利用偏振光进行加密对目前主流的非光通信领域的通信系统几乎没有干扰;(4)不同于别的波段的电磁波,安全健康,节能环保。
【专利附图】

【附图说明】
[0035]图1 是 BH1750FVI 电路图;
[0036]图2是光谱响应;
[0037]图3是光源依赖性;
[0038]图4是I2C数据传输时序图;
[0039]图5是L298N管脚示意图;
[0040]图6是串口异步通信字符帧;
[0041]图7是字节代换不意图;
[0042]图8是行移位示意图;
[0043]图9是列混合示意图;
[0044]图10是密钥加示意图;
[0045]图11是本发明装置图。
【具体实施方式】
[0046]下面结合附图和具体实施例进一步说明本发明的技术方案。
[0047]本发明能够产生64位2进制随机数种子。其原理为:
[0048]偏振片A和B均设定2组基(4个方向),分别为直线基(垂直,水平)和对角基(左上至右下,右上至左下),每个偏振片只在这四个方向上切换,每组基两个方向分别对应定义为O和I。
[0049]假设Alice和Bob双方要进行通信。首先Alice利用一个随机数发生器来生成一个大于需密钥长度2倍的10串,然后偏振片A每隔Λ T的时间任意选择一组基的一个方向,产生代表对应位数字的偏振光。偏振片B相应的每隔Λ T的时间随机选择一组基中的某一方向使得经过A后的偏振光通过。此时,Bob通过分析光强感受器B所测得的光强,产生密钥。具体分析情况如下:
[0050]①偏振片A与偏振片B所选择的基相同。此时通过光强感受器B所感受到的光强为1/210+1/2I或者1/21,从而能判断A所发送的对应位数字。
[0051]②偏振片A与偏振片B所选择的基不同,此时通过光强感受器B所感受到的光强在①的2种情况之间。
[0052]这时Bob通过对光强感受器B数据的分析,保留基相同的部分,舍去基不相同的部分,并定义基相同的位为有效位,将有效位上的数字作为密钥。Bob知道所有有效位上A所发送的数字。与此同时,Bob将他每次选择的基按顺序发送给Alice, Alice便也能知道Bob的正确的基,双方此时便能获得了同一密钥。本发明通过偏振光产生的64位随机数作为种子,通过Hash算法(本系统中应用了 SHAl算法)将种子扩展,产生一个128位的随机数,将此随机数作为后续AES加密的密钥。MD5是MessagedigestAlgorithmS (消息摘要算法)的缩写,经MD2、MD3和MD4发展而来。它能够把一个任意长度的字节串变换成一定长的大整数。
[0053]一、硬件部分[0054]硬件部分分为光强感受模块和电机控制模块。
[0055]光强感受模块
[0056]本发明应用了 BH1759FVI模块,电路图如图1所示。其中TO (Photo diode withapproximately human eye response)为接近人眼反应的光敏二极管;AMP为集成运算放大Interface(逻辑+IC界面)为光强度计算和I2C总线接口,包括下列寄存器:数据寄存器,能够将H)电流转换为H)电压;ADC为模数转换,能够获取16位数字数据;L0giC+ICInterfaCe(逻辑+IC界面)为光强度计算和I2C总线接口,包括下列寄存器:数据寄存器一光强度数据寄存、测量时间寄存器一时间测量数据寄存,初始值分别为“0000_0000_0000_0000”和“0100_0101”;0SC为内部振荡器(时钟频率典型值:320kHz)。该时钟为内部逻辑时钟。该模块具有较高的分辨率,能过探测较大范围的光强度变化(1-655351X)。将该传感器与单片机相连接,通过串口获得光强感受器所探测到的光强。在连续H分辨率模式2下,测量时间为120ms,光强分辨率0.51x。
[0057]图2为其光谱响应,由该光谱相应能够可以看出其在400_700nm波长均有响应,能够较好的反馈可见光的光强。
[0058]图3为其光源依赖特性,可以看到,该传感器对大部分光源的分辨本领都较高,其中以白炽光、Krypton光和卤素光的分辨本领最高。本发明中选用了使用最为广泛的白炽灯光。
[0059]其核心代码如下:
[0060]
【权利要求】
1.一种基于偏振光的密钥分发系统,其特征在于,包括光强感受模块、电机控制模块串口通信模块、随机数生成模块,有效位分析模块、AES加密模块、MD5密钥扩展模块和通信模块: 所述光强感受模块为BH1759FVI模块,其电路中为接近人眼反应的光敏二极管;AMP为集成运算放大Interface为光强度计算和I2C总线接口,包括下列寄存器:数据寄存器、光强度数据寄存、测量时间寄存器、时间测量数据寄存,初始值分别为“0000_0000_0000_0000”和“0100_0101” ;OSC为内部振荡器,时钟频率典型值:320kHz,所述时钟为内部逻辑时钟,将所述BH1759FVI模块与单片机相连接,通过串口获得光强感受器所探测到的光强,在连续H分辨率模式2下,测量时间为120ms,光强分辨率0.51x ; 所述电机控制模块串口通信模块采用FL42STH38-0806A型步进电机,额定电压6v,步距角1.8°,步进电机转子为永磁体,所述步进电机与偏振片相连接,通过单片机产生脉冲控制步进电机转; 所述串行接口模块一种将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件;串口通信模块通过调用WindowsAPI函数对串口进行相应的操作; 随机数生成模块在java中使用java.util.Random类来产生一个随机数发生器,进而产生需要的10串; 所述有效位分析模块是通过偏振光获得密钥的核心操作,密钥分发系统通过有效位分析最终获得相应密钥; 所述AES加密模块是在一个4X4的字节矩阵上运作,其初值就是一个明文分组,Rijndael加密法因支持更大的分组,其矩阵行数视情况增加,加密时,各轮AES加密循环,除最后一轮外均包含字节代换、行移位、列混合、密钥加4个步骤; MD5密钥扩展模块通过偏振光产生的64位`种子通过Hash算法中的MD5算法进行密钥扩展扩展出最终用作AES加密的128位密钥; 所述通信模块包括身份验证、通信验证、单片机-PC机通信和通信4个部分。
2.根据权利要求1所述的基于偏振光的密钥分发系统,其特征在于,所述有效位分析模块具体流程为:首先分析两偏振片的不同状态,若偏振片A与偏振片B所选择的基相同,则此时通过光强感受器B所感受到的光强为1/2IJ1/2I或者1/21,从而能判断A所发送的对应位数字;若偏振片A与偏振片B所选择的基不同,则此时通过光强感受器B所感受到的光强在所述1/210+1/2I或者1/21的2种情况之间; 有效位分析模块通过对光强感受器数据进行分析,保留基相同的部分,舍去基不相同的部分,并定义基相同的位为有效位,之后将有效位上的对应的数字作为密钥,完成有效位分析的工作。
3.根据权利要求1所述的基于偏振光的密钥分发系统,其特征在于,所述MD5密钥扩展具体过程如下: (1)补位 首先对信息进行填充,即在信息的后面填充一个I和若干个O使其字节长度对512求余的结果等于448 ; (2)补数据用一个64位的数字表示数据的原始长度B,把B用两个32位数?表示,这时,数据就被填补成长度为512位的倍数; (3)初始化MD5参数 对MD5进行初始化,MD5中用四个32位被称作链接变量的整数参数,分别为:A=0x012.34567,B=0x89abcdef, C=0xfedcba98, D=0x76543210; (4)四轮循环运算 开始进入算法的四轮循环运算,循环的次数是信息中512位信息分组的数目,将上面四个链接变量复制到另外四个变量中:A到a,B到b,C到c,D到d,主循环有四轮,第一轮进行16次操作,每次操作对a、b、c和d中的其中三个做一次非线性函数运算,然后将所得结果加上第四个变量,再将所得结果向右位移一个不定的数,并加上a、b、c或d中之一,最后用该结果取代a、b、c或d中之一,以下是每次操作中用到的四个非线性函数,每轮一个:
【文档编号】H04L9/08GK103684757SQ201310724578
【公开日】2014年3月26日 申请日期:2013年12月25日 优先权日:2013年12月25日
【发明者】王萍, 王硕, 郭迎, 王博, 金玲攀, 赵志胜, 施荣华 申请人:中南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1