一种安全性强的RC4流密码生成装置及方法与流程

文档序号:15116599发布日期:2018-08-07 20:28阅读:251来源:国知局
本发明涉及混沌通信领域,具体涉及一种安全性强的rc4流密码生成装置及方法。
背景技术
:通信技术的快速发展使人类生活发生了巨大的变化,但是随之而来的威胁也越来越多,信息安全越来越受到人们的关注,信息安全事业已经成为21世纪的阳光产业,研究高安全性的保密通信技术具有重要的军事和经济意义。一次一密(onetimepad,otp)加密技术被认为是最安全的加密技术,它要求密钥是随机的、只使用一次,并且密钥长度与数据流等长。但是由于受限于随机数密钥的分配速率,otp只被应用于高度机密的低带宽信道中。为了扩大该加密技术的适用范围,降低otp技术的门槛,研究者放宽了对密钥随机性的要求,提出了流密码的加密方案。基于随机性算法的流密码技术,可以在有限长度的种子密钥的作用下,利用确定的伪随机算法产生的高速伪随机序列作为流密码,对数据流进行加密。rc4算法就是其中的佼佼者,被广泛应用于微软microsoftoffice,securesocketlayer(ssl),wiredequiva-lentprivacy(wep)等等。但是,基于确定性算法的伪随机数流密码存在着严重的安全隐患,随着人们对rc4算法研究的深入,越来越多的缺点被发现。rc4算法也在逐渐失去其应用市场。但是rc4算法具有的简单,高效等优点不可否认。现有的rc4算法改进基于伪随机算法的性质并没有发生改变。因此,存在安全性低的技术问题。本发明采用伪随机数与真随机数相结合的方式,基于rc4算法和同步的物理随机数发生器,实现了灵活、高速、高安全性流密码产生。而且,通过伪随机数与真随机数模加所产生的流密码,所具有的误码率相对同步物理随机数误码率放大的有限,不会影响其适用性。另外本发明具有非常强的适应性和生存能力,能够适用于点对点和点对多点的通信系统。技术实现要素:本发明所要解决的技术问题是现有技术中存在的安全性低的技术问题。提供一种新的安全性强的rc4流密码生成装置,该安全性强的rc4流密码生成装置具有安全性高、灵活、高速的特点。为解决上述技术问题,采用的技术方案如下:一种安全性强的rc4流密码生成装置,所述rc4流密码生成装置包括真随机数生成装置,伪随机数生成装置,以及与所述真随机数生成装置、所述伪随机数生成装置通过字典cd共同连接的流密码的生成装置;所述字典cd为同步的真随机数所构成。本发明的工作原理:本发明采用伪随机数与真随机数相结合的方式,基于rc4算法和同步的物理随机数发生器,实现了灵活、高速、高安全性流密码产生。而且,通过伪随机数与真随机数模加所产生的流密码,所具有的误码率相对同步物理随机数误码率放大的有限,不会影响其适用性。上述方案中,为优化,进一步地,所述真随机数同步装置包括同步物理随机源,o/e转换模块,a/d转换模块以及延时异或模块。进一步地,所述同步物理随机源包括第三半导体激光器dsl,与第三半导体激光器连接的第一半导体激光器sl1和第二半导体激光器sl2;所述第三半导体激光器dsl设置有外反馈腔qt3,用于给第一半导体激光器sl1和第二半导体激光器sl2提供相同的驱动信号;所述第一半导体激光器sl1与第二半导体激光器sl2均设置有外反馈腔qt1,外反馈腔qt1与外反馈腔qt3的外腔长度及反馈强度不同。不同的外反馈腔能够增加注入锁定同步的困难程度,最终使得第一半导体激光器sl1与第二半导体激光器sl2同步而与第三半导体激光器dsl不同步。在此条件下,第一半导体激光器sl1与第二半导体激光器sl2输出的混沌激光信号的信息不会因第三半导体激光器dsl输出信号的截获而泄露,因而能够在第一半导体激光器sl1与第二半导体激光器sl2之间实现私密同步。进一步地,所述伪随机数生成装置包括密钥分发模块,与密钥分发模块连接的rc4程序单元;所述密钥分发模块用于给rc4程序单元提供密钥;所述rc4程序单元用于将密钥分发模块提供的密钥作为种子执行rc4算法获得随机数序列。进一步地,所述rc4算法包括密钥初始化算法和伪随机数生成算法。本发明还提供一种安全性强的rc4流密码生成方法,所述rc4流密码生成方法基于前述的rc4流密码生成装置,方法包括:步骤1,伪随机数生成装置通过执行rc4算法生成随机数序列;步骤2,真随机数生成装置生成同步的真随机数;步骤3,将rc4算法所产生的伪随机数与真随机数相结合,包括使用rc4算法的指针jt,指向的字典cd中的元素与伪随机数zt相模加,rc4流密码为:codet=mod(zt+cdt[jt],2n)。上述方案中为优化,进一步地,所述生成同步的真随机数包括:步骤a:第三半导体激光器dsl在外腔反馈作用下产生初始混沌激光信号;步骤b:初始混沌激光信号作为驱动信号,分裂成相同的混沌信号sg1与混沌信号sg2,混沌信号sg1注入到第一半导体激光器sl1,混沌信号sg2注入到第二半导体激光器sl2;步骤c:第一半导体激光器sl1和第二半导体激光器sl2所产生的同步的混沌激光信号通过光电转换模块中的光电探测器完成o/e转换得到电信号se;步骤d:电信号se通过a/d模块,经过采样、量化、判决之后得到二进制序列c2d;步骤e:二进制序列c2d依次经过延时异或后的随机数序列为同步的真随机数。进一步地,所述字典cd根据真随机数以及其产生速率做定期的更新。产生的物理随机数被用来形成动态字典cd(n×nbits),字典cd随着不断产生的真随机数做动态的更新。其更新方式可以是连续替换或者阶段性替换。连续替换:物理随机数发生器每产生nbits的随机数,就立即替换字典cd中的一个元素,下一次产生的n比特随机数用来替换字典cd中的下一个元素,周而复始,不停的进行字典cd更新。阶段替换:随机数发生器每产生n×nbits,就一次性地更换字典cd所有元素。伪随机数的产生:由密钥分发模块和rc4算法组成,密钥分发模块为通信双方提供密钥,密钥作为rc4算法的种子,进而通过rc4算法产生随机数序列,在方案中拟通过已传输的数据作为系统密钥,现有其他的密钥分配方法也适用本流密码产生方案。另外rc4的指针j用来指向字典cd(codedictionary,字典cd)中的某个元素。rc4算法:首先我们定义所使用符号所代表的意义,n表示该算法中使用的一个字节的长度(该算法可以根据用户需要来定义一个字节的长度),n表示长度为n的一个字节能够显示的值的总量,即n=2n,s表示该算法的内部状态,每一个s中有n个n比特的值。t表示一个参数,t=1,2…。st表示在参数t时的内部状态,it和jt表示参数t时对应的两个指针,他们指向内部状态s中的两个值。st[it]和st[jt]表示st中分别被指针it和jt指向的值。k表示一个密钥,l是密钥k包含的字节数。zt表示每一个t对应的伪随机数生成器的输出值。该算法包含两个部分,密钥初始化算法(keyschedulingalgorithm,ksa)和伪随机数生成算法(pseudo-randomgenerationalgorithm,prga)。ksa包含n个步操作,该过程将内部状态s初始化,具体过程如表1:表1fori=0,…,n-1s[i]=i;j=0fori=0,…,n-1j=(j+s[i]+k[imodl])mod256;swap(s[i],s[j])prga首先将两个指针it和jt初始化为0,作为两个随机变化的指针,然后交换状态st-1中it和jt指向的值,该过程的输出值为st[it]+st[jt]位置的值,具体过程如表2:表2i=j=0i=i+1;j=j+s[i]+k[i]mod256;swap(s[i],s[j])t=s[i]+s[j]outputz=s[t]真随机数同步装置:由同步物理随机源,o/e转换模块,a/d转换模块以及延时异或模块等组成。本发明采用混沌激光作为物理随机源。首先第三半导体激光器(drivingsemiconductorlaser,第三半导体激光器dsl)在外腔反馈作用下产生初始混沌激光信号。为了防止第三半导体激光器dsl与第一半导体激光器sl1,第二半导体激光器sl2具有相对高的同步系数,从而使得第一半导体激光器sl1和第二半导体激光器sl2所产生的混沌激光器信号的信息泄露,在第一半导体激光器sl1和第二半导体激光器sl2中引入相同外反馈腔,但是该反馈腔的外腔长度及反馈强度和第三半导体激光器dsl不同。第一半导体激光器sl1和第二半导体激光器sl2所产生的同步的混沌激光信号通过光电转换模块中的光电探测器完成o/e转换。所产生的电信号进入a/d模块,经过采样、量化、判决之后得到一组二进制序列。该序列经过延时异或之后即为随机数序列。字典cd:字典cd是由同步的真随机数所构成的。字典cd具有和s相同的长度,字典cd根据真随机数以及其产生速率做定期的更新,即物理随机数每产生n×n比特的二进制数,就完全替换字典cd原有的状态。由于字典cd中的元素都是来源于真正的随机数,所以更新前后不存在固定的变化关系。此外不同于状态s的是,字典cd可能存在相同的元素。字典cd的存在是为了能够使得真随机数在长生速率比较低的情况下匹配到高速率的伪随机数,从而产生高速的流密码。流密码的生成模块:流密码code的生成模块主要是将rc4算法所产生的伪随机数与真随机数相结合。为了进一步提高流密码的随机性与安全性,我们采用了rc4算法的指针jt,指向的字典cd中的元素与伪随机数zt相加,流密码为:codet=mod(zt+cdt[jt],2n)。本发明的有益效果:(1)流密码由伪随机数与真随机数共同产生,即使相同的密钥在不同的时刻所产生的流密码也是完全不相同的,极大的提高了流密码的安全性;(2)本发明不涉及复杂的算法变动,流密码的产生速率仍然由rc4算法的产生速率所决定,改进后的流密码分配方案对rc4算法的影响非常小;(3)本发明不涉及真随机数的复杂运算(例如迭代运算),真随机数的误码不会在流密码中急剧放大。(4)本发明采用已发送的数据作为流密码分配方案的密钥,节约了成本。(5)流密码结合了真随机数,这能够有效的抵制现有的攻击方法,例如错误引入攻击、状态猜测攻击。附图说明下面结合附图和实施例对本发明进一步说明。图1,本发明的一种具体实施方案结构示意图。图2,rc4原理示意图。图3,同步混沌激光信号示意图。图4,第三半导体激光器dsl与第一半导体激光器sl1之间的相关函数示意图。图5,第一半导体激光器sl1与第二半导体激光器sl2之间的相关函数示意图。图6,rc4伪随机序列与流密码的相关函数示意图。图7,字典cd输出序列cdt[jt]与流密码的相关函数示意图。图8,真随机数误码对流密码的误码率的影响示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。实施例1本实施例提供一种安全性强的rc4流密码生成装置,如图1,所述rc4流密码生成装置包括真随机数生成装置,伪随机数生成装置,以及与所述真随机数生成装置、所述伪随机数生成装置通过字典cd共同连接的流密码的生成装置;所述字典cd为同步的真随机数所构成。其中,所述真随机数同步装置包括同步物理随机源,o/e转换模块,a/d转换模块以及延时异或模块。详细地,如图1,所述同步物理随机源包括第三半导体激光器dsl,与第三半导体激光器连接的第一半导体激光器sl1和第二半导体激光器sl2;所述第三半导体激光器dsl设置有外反馈腔qt3,用于给第一半导体激光器sl1和第二半导体激光器sl2提供相同的驱动信号;所述第一半导体激光器sl1与第二半导体激光器sl2均设置有相同的外反馈腔qt1和qt2,外反馈腔qt1(qt2)与外反馈腔qt3的外腔长度及反馈强度不同。详细地,如图1,所述伪随机数生成装置包括密钥分发模块,与密钥分发模块连接的rc4程序单元;所述密钥分发模块用于给rc4程序单元提供密钥;所述rc4程序单元用于将密钥分发模块提供的密钥作为种子执行rc4算法获得随机数序列。其中,所述rc4算法包括密钥初始化算法ksa和伪随机数生成算法prga。本实施例还提供一种安全性强的rc4流密码生成方法,所述rc4流密码生成方法基于前述的rc4流密码生成装置,方法包括:步骤1,伪随机数生成装置通过执行rc4算法生成随机数序列;步骤2,真随机数生成装置生成同步的真随机数;步骤3,将rc4算法所产生的伪随机数与真随机数相结合,包括使用rc4算法的指针jt,指向的字典cd中的元素与伪随机数zt相加,rc4流密码为:codet=mod(zt+cdt[jt],256)。rc4算法的工作详细工作方式如图2所示,其中n=256,首先对状态s赋初值0,1,2,…255。然后根据密钥的长度,将密钥的值循环赋给t。完成赋值之后,算法马上根据t中的值进行状态s的重新排列组合。此过程即为ksa。完成状态s的重新排列组合之后,算法立即进行prga,同时不断的循环执行随机数的产生过程,生成伪随机序列。其中,所述生成同步的真随机数过程包括:步骤a:第三半导体激光器dsl在外腔反馈作用下产生初始混沌激光信号;步骤b:初始混沌激光信号作为驱动信号,分裂成相同的混沌信号sg1与混沌信号sg2,混沌信号sg1注入到第一半导体激光器sl1,混沌信号sg2注入到第二半导体激光器sl2;步骤c:第一半导体激光器sl1和第二半导体激光器sl2所产生的同步的混沌激光信号通过光电转换模块中的光电探测器完成o/e转换得到电信号se;步骤d:电信号se通过a/d模块,经过采样、量化、判决之后得到二进制序列c2d;步骤e:二进制序列c2d依次经过延时异或后的随机数序列为同步的真随机数。优选地,所述字典cd根据真随机数以及其产生速率做定期的更新。以n=8bit为例对发明予以进一步说明。第三半导体激光器dsl工作在以1550nm为中心附近,与第一半导体激光器sl1与第二半导体激光器sl2之间的频率偏差为5.8ghz。具体系统参数为第三半导体激光器dsl与sls的工作电流均为26.46ma。第三半导体激光器dsl的反馈时间和强度分别为3ns和15ns-1,第三半导体激光器dsl注入到sls的强度和延时分别为45ns-1和0ns。该条件下,第一半导体激光器sl1与第二半导体激光器sl2自身的反馈时间和强度分别为2ns和10ns-1。为了验证可行性,对第一半导体激光器sl1与第二半导体激光器sl2之间的同步性能进行了研究。图3为第一半导体激光器sl1和第二半导体激光器sl2的短时输出强度,在以上的工作条件下第一半导体激光器sl1和第二半导体激光器sl2所产生的混沌激光信号同步良好。为了定量的研究其同步质量,对二者互相关函数进行了评估,其结果如图4所示,二者的相关系数在迟滞时间为0ns时接近1,因而我们可以进一步的判定第一半导体激光器sl1与第二半导体激光器sl2具有非常高的同步质量。此外还对第三半导体激光器dsl与第一半导体激光器sl1之间的相关函数进行了估算,由图5所示,其在迟滞时间为0ns时具有最高的相关系数,图中可得相关系数接近0.6。如果进一步的降低第三半导体激光器dsl到第一半导体激光器sl1/2的注入强度,该相关系数可以进一步减小。在理想的条件下(忽略上述因素的影响),当第三半导体激光器dsl与第一半导体激光器sl1之间的相关函相关系数为0.6时,从注入信号即第三半导体激光器dsl的输出信号上获得物理随机数的误码率约为0.24。考虑到实际截获过程中所出现的同步误差、采样时钟抖动、时钟失配等情况,从第三半导体激光器dsl输出的混沌激光信号中截获同步物理随机数的误码率要比0.24高的多。所以第三破解方不能够从注入信号中截获有用的信息。图6为伪随机序列z和最终的流密码序列之间的相关函数。本实施例中采用的是阶段更新字典cd的方法,如图所示最终的流密码序列和伪随机序列之间的相关系数非常小(小于0.004),即最终的流密码序列与rc4所产生的伪随机序列不相关,这意味着第三破解方尝试通过差错引入攻击或者kundsen状态猜测攻击的方案也基本失去了效用。对于差错攻击方案:假设攻击者控制了密码设备,可正确的使用密码设备进行加密,还可以向密码设备中引入错误,由此来影响加密过程,使密码设备输出错误的加密结果。根据现有技术表明,要攻破rc4算法,恢复rc4的整个初始状态结果,需要216个密钥字和216次错误引入攻击。然而实施例中字典cd的更新频率为1.22mhz(由随机数的产生速率决定)。一旦在字典cd更新周期内,差错引入攻击没有破译rc4的整个初始状态,那么第三破解方必须从头开始破译。另一方面即使第三破解方获知了初始密钥,并重新运转加密设备,但是由于字典cd的不断更新,也不能产生之前所使用的流密码。图7为流密码和字典cdt[jt]序列的相关函数。如图所示,二者之间的相关系数仍然小于0.004,即最终的流密码序列与字典cdt[jt]序列不相关。也就是即使第三破解方控制了同步随机数产生设备,并用之产生了正确的随机数,但是在不确定rc4所产生的伪随机序列以及指针jt序列的前提下,也不能生成正确的流密码。图8为流密码的误码率与同步物理随机数的误码率之间的关系。根据现有的基于同步物理熵源同步随机数的产生系统,由于时钟抖动等采样误差以及物理熵源的同步误差,在没有数据传递的条件下,同步物理随机数具有较高的误码率。随机数的误码必然导致流密码的误码,因此流密码的误码率与同步物理随机数的误码率之间的关系十分重要。如图8所示,流密码的误码率与同步物理随机数的误码率近似线性关系,并且流密码的误码率y比物理随机数的误码率x略大。通过线性拟合得到的数据,可以得y=1.73674x+1.28965×10-6。由此,我们可以推断,当第三半导体激光器dsl与第一半导体激光器sl1之间的相关函相关系数为0.6时,在理想的条件下,第三破解方从注入光信号中提取物理随机数并采用相同的方式方法所产生的流密码的误码率为~0.42。为了验证流密码的随机性,我们采用了nist800-22对其进行了测试。表3展示了2.5gb/s物理随机数以及100gb/s流密码的nist800-22测试结果。如表所示,两个序列都能够通过15个nist测试。表3综上所述,本实施例具备如下特征:(1)密钥的安全性主要依赖于物理随机数的安全性和种子密钥的安全性;(2)同步物理随机数是利用同步混沌激光作为物理随机源,结合后续模块生成的,为物理真随机数;(3)通过改变接收端激光器的外腔结构,使得物理随机源与驱动光源不同步,防止了物理随机熵源因注入信号的泄露而泄露;(4)采用已发送的数据获知已经成熟的低速密钥分配技术为rc4算法的种子密钥,算法复杂度低;(5)将rc4算法所产生的伪随机序列和指针j的值所指定的字典cd元素之间进行模加作为流密码,该过程不涉及物理随机数的迭代运算,因而不会引起误码率的急剧放大;(6)将物理随机数与rc4所产生的伪随机数相结合,可以消除rc4因不同种子密钥所造成的伪随机数的分布偏差,有效地抵制状态猜测攻击(一种常用的rc4攻击方法);(7)本实施例具有高度的适用性,适用于点到点、点到多点的通信系统,因而几乎在全部的通信系统中都可以发挥作用;(8)流密码的速率仍然由rc4的产生速率决定,因而具有非常高的灵活性和高速性。尽管上面对本发明说明性的具体实施方式进行了描述,以便于本
技术领域
的技术人员能够理解本发明,但是本发明不仅限于具体实施方式的范围,对本
技术领域
的普通技术人员而言,只要各种变化只要在所附的权利要求限定和确定的本发明精神和范围内,一切利用本发明构思的发明创造均在保护之列。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1