书签 分享 收藏 举报 版权申诉 / 22

双混沌系统动态密钥与RSA联合的流媒体保密通信方法.pdf

  • 上传人:e1
  • 文档编号:1547883
  • 上传时间:2018-06-23
  • 格式:PDF
  • 页数:22
  • 大小:1.69MB
  • 摘要
    申请专利号:

    CN201510084754.4

    申请日:

    2015.02.16

    公开号:

    CN104618091A

    公开日:

    2015.05.13

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):H04L 9/00申请日:20150216|||公开

    IPC分类号:

    H04L9/00; H04L9/06

    主分类号:

    H04L9/00

    申请人:

    哈尔滨理工大学

    发明人:

    康守强; 王玉静; 谢金宝; 纪彬; 兰朝凤; 高华强

    地址:

    150080黑龙江省哈尔滨市南岗区学府路52号

    优先权:

    专利代理机构:

    哈尔滨市松花江专利商标事务所23109

    代理人:

    杨立超

    PDF完整版下载: PDF下载
    内容摘要

    双混沌系统动态密钥与RSA联合的流媒体保密通信方法,它涉及通信加密技术领域。解决流媒体通信在网络传输过程中未对根密钥进行有效地保护,存在一定的安全隐患,保密性差的问题。将混沌系统参数、混沌序列生成过程中的迭代步长与预先迭代次数作为动态参数,每次通信前随机生成满足条件的值并组成根密钥,并使用RSA算法对根密钥进行保密同步。根密钥的不同使得每次加、解密所使用的混沌密钥序列也不尽相同。同时,混沌密钥序列由两种超混沌序列交织组合而成,使得混沌密钥序列更为复杂。本发明减少混沌密钥序列生成时间,提高加密速度。通过C语言编写的软件在局域网内进行测试,结果表明:该方法既满足流媒体通信的安全性也满足其对实时性的要求。

    权利要求书

    权利要求书1.  一种双混沌系统动态密钥与RSA联合的流媒体保密通信方法,其特征在于:所述方法的实现过程为:步骤一、动态根密钥的保密同步过程:选择超混沌系统1、超混沌系统2两种超混沌系统生成混沌序列,在混沌序列生成过程中,第一种超混沌系统的迭代参数N1、M1以及第二种超混沌系统的迭代参数N2、M2均为动态变量,N为混沌系统的迭代步长,即混沌系统每迭代N次得到一次新的状态值;M为混沌序列生成前预先迭代次数,使用不同N和M以及超混沌系统的系统参数使每次通信所使用的混沌密钥均不相同;N和M加上下脚标1,2分别代表超混沌系统1、超混沌系统2;通信初始阶段,通信两端需要对上述迭代参数及系统可变参数组成的根密钥进行同步,并在传输过程中使用RSA加密算法保证根密钥的安全性,具体步骤为:步骤1、A端向B端发送实时数据流传输请求,进入等待请求状态;步骤2、B端同意请求并告知A端,A端计算出RSA算法使用的两组密钥,一组发送给B作为公钥,另一组留作解密的私钥;步骤3、B端通过随机数函数得到迭代参数及系统可变参数的当次通信的有效数值,组成根密钥数组;使用公钥对根密钥进行加密,然后将密文发回至A端;步骤4、A端通过私钥解密所述密文,得到与B端相一致的根密钥数组:首先,将根密钥数组中两个系统可变参数的有效数值分别赋给超混沌系统1与超混沌系统2方程式中对应的参数,然后,根据根密钥数组中迭代参数的有效数值,两个混沌系统分别迭代M1和M2次,并保存迭代后混沌系统各个变量的值,作为混沌数字序列生成过程各变量的初始值,至此A端和B端根密钥同步过程结束;步骤二、混沌密钥序列的生成每次迭代生成的超混沌系统各变量的状态值均为双精度浮点类型,所述双精度浮点类型占用8字节,每个变量的状态值均可拆分成8个字节;将所述8个字节中的高8和高7字节去掉,使用1~6字节当作密钥;步骤三、流媒体数据的加解密,其具体过程为:加密过程:定义密钥序列为:{J(i)|i=1,2,3,…,2L},第一轮正序加密使用1~L 部分,第二轮逆序加密使用(L+1)~2L部分,第一轮正序加密过程为:定义原始待加密的流媒体数据为{P(i)|i=1,2,3,…,L},对所述数据的第一个字节进行加密的公式为:P'(1)=mod(P(1)+C0,256)⊕J(1),对所述数据的其它字节进行加密的公式为:P'(i)=mod(P(i)+P'(i-1),256)⊕J(i),i≥2;其中C0为加密首个明文字节时引入的常数,C0∈[0,255],加密后得到第一轮加密数据{P'(i)|i=1,2,3,…,L};第二轮逆序加密过程为:第二轮反馈从数据最后字节开始按逆序加密至开始字节,对P'(i)的最后一个字节进行加密的公式为P”(L)=mod(P'(L)+C1),256)⊕J(L+1),对所述数据的其它字节进行加密的公式为P”(i)=mod(P'(i)+P”(i+1)),256)⊕J(2L-i+1),i≤L-1;其中C1为引入的常数,C1∈[0,255],经过两轮加密得到最终的密文{P”(i)|i=1,2,3,…,L};解密过程:解密算法是加密算法的逆过程,首先对第二轮反馈加密后的数据{P”(i)|i=1,2,3,…,L}从第一个字节开始依次循环到最后的字节解密;第一轮解密公式为:P'(i)=mod(P”(i)⊕J(2L-i+1)-P”(i+1)+256,256),P'(L)=mod(P”(L)⊕J(L+1)-C1+256,256),i=1,2,...,L-1  (7)第二轮解密是对第一轮加密的逆过程,从最后的字节开始,依次循环到第一个字节解密,第二轮解密公式为:P(i)=mod(P'(i)⊕J(i)-P'(i-1)+256,256),P(1)=mod((P'(1)⊕J(1)-C0+256),256),i=L,L-1,...,2  (8)当密钥以及C0和C1与加密使用的值相同时,则解密后的数据与原始数据完全一致。2.  根据权利要求1所述的一种双混沌系统动态密钥与RSA联合的流媒体保密通信方法,其特征在于:在步骤一中,所述两种超混沌系统分别为:超混沌系统1为:x.=a(y-x)+wy.=cx-xz-yz.=xy-bzw.=-yz+rw---(1)]]>当a=10,b=8/3,c=28且r∈(-1.52,-0.06]时,系统1处于超混沌状态;超混沌系统2为:x.=a(y-x)y.=cx-xz+wz.=xy-bzw.=-dx---(2)]]>取参数a=35,b=3,c=35并且参数d∈{(4.6,29.2],(33.5,53.7]}时系统2处于超混沌状态。3.  根据权利要求2所述的一种双混沌系统动态密钥与RSA联合的流媒体保密通信方法,其特征在于:在步骤二中,所述混沌密钥序列的生成的具体过程为:步骤1 超混沌系统1与超混沌系统2分别预先迭代M1和M2次,加密算法进行两轮反馈操作,初始化两组长度为2L/6的原始混沌序列A和B;步骤2 超混沌系统1每迭代N1次得到一次新的状态值{X,Y,Z,W},超混沌系统2每迭代N2次得到一次新的状态值{X',Y',Z',W'};将{X,W',Y,Z',Z,Y',W,X'}加入到混沌序列A中,{Y',Z,Z',Y,X',X,W',W}加入到混沌序列B中;步骤3 重复执行(2L/8/6)次步骤2,最终得到原始混沌序列{A|X0,W0',Y0,Z0',Z0,Y0',W0,X0',X1,W1',Y1,Z1',Z1,Y1',W1,X1',...,XL/24,WL/24',YL/24,ZL/24',ZL/24,YL/24',WL/24,XL/24'}和{B|Y0',Z0,Z0',Y0,X0',X0,W0',W0,Y1',Z1,Z1',Y1,X1',X1,W1',W1,...,YL/24',ZL/24,ZL/24',YL/24,XL/24',XL/24,WL/24',WL/24};原始混沌序列数组{A(i)|i=0,1,2,…,L/3}和{B(i)|i=0,1,2,…,L/3}中每个数组元素均可生成6点混沌密钥,最终得到混沌密钥序列{J(i)|i=0,1,…,2L-1}和{K(i)|i=0,1,…,2L-1},其中J(i),K(i)∈[0,255],J(i)用作图像数据的加密,K(i) 用作音频数据的加密。4.  根据权利要求1、2或3所述的一种双混沌系统动态密钥与RSA联合的流媒体保密通信方法,其特征在于:在步骤一中,所述实时数据流传输请求为通话请求或视频聊天请求。

    说明书

    说明书双混沌系统动态密钥与RSA联合的流媒体保密通信方法
    技术领域
    本发明涉及一种流媒体保密通信方法,涉及通信加密技术领域。
    背景技术
    随着网络与流媒体技术的飞速发展,用户通过网络即可以实现在线看直播,视频聊天等功能。与此同时,网络的窃取技术也不断的升级。这就要求对网络中的信息进行加密处理以保障其安全性[1]。序列密码加密具有效率高、扰乱明文统计特性、无差错传递等特点,成为当前最广泛使用的密码系统之一[2]。混沌是一种无规则运动,是在非线性系统中出现的确定性的、抽象的类随机过程,具有对初始值和系统参数极度敏感的特点,使得其可以很好地应用在密码学中[3]。RSA算法是由Ron Rivest和Adi Shamir以及Leonard Adleman三人共同提出的一种非对称加密算法。该算法完善,安全性良好,易于实现,既可用于加密,又可用于签名,在当今信息交换过程中呈现出越来越重要的作用[4]。
    目前,很多学者从事混沌加密领域的研究,其中基于混沌序列密码的应用以图像加密的文章居多[5-7],鲜有在实际通信中的应用。而在保密通信的文章中,大多数是对静态图像或是一段音频进行保密传输[8-9],类似于微信中的语音留言不具备实时性;同时,由于混沌系统参数固定,会出现多次通信使用相同密钥的现象,导致通信的安全性会随使用次数的增多而降低。文献[10]设计并实现了一种用于网络电话的动态混沌加解密方案,但交换过程中未对根密钥进行有效地加密保护,系统存在一定的安全隐患;多种混沌系统的加密应用主要体现在分时切换方面[11-12],对明文的各个部分使用不同的混沌系统生成的密钥进行加密,而破译者可以通过分段破译获得部分明文,保密性较差。
    发明内容
    本发明为了解决现有的基于混沌的保密通信方法中超混沌系统生成密钥序列速度慢,系统无法应用到数据量大且实时性高的流媒体通信中;同时,单一混沌系统生成的密钥序列复杂度低,网络传输过程中未对根密钥进行有效地保护,存在一定的安全隐患,保密性差的问题。进而提供了一种双混沌系统动态密钥与RSA联合的流媒体保密通信方法。
    本发明为解决上述技术问题采取的技术方案是:
    一种双混沌系统动态密钥与RSA联合的流媒体保密通信方法,所述方法的实现过程为:
    步骤一、动态根密钥的保密同步过程:
    选择超混沌系统1、超混沌系统2两种超混沌系统生成混沌序列,在混沌序列生成过程中,第一种超混沌系统的迭代参数N1、M1以及第二种超混沌系统的迭代参数N2、M2均为动态变量(现有技术是固定数值),
    N为混沌系统的迭代步长,即混沌系统每迭代N次得到一次新的状态值;
    M为混沌序列生成前预先迭代次数,使用不同N和M以及超混沌系统的系统参数使每次通信所使用的混沌密钥均不相同;N和M加上下脚标1,2分别代表超混沌系统1、超混沌系统2;
    通信初始阶段,通信两端需要对上述迭代参数及系统可变参数组成的根密钥进行同步,并在传输过程中使用RSA加密算法保证根密钥的安全性,具体步骤为:
    步骤1、A端向B端发送实时数据流传输请求,进入等待请求状态;
    步骤2、B端同意请求并告知A端,A端计算出RSA算法使用的两组密钥,一组发送给B作为公钥,另一组留作解密的私钥;
    步骤3、B端通过随机数函数得到迭代参数及系统可变参数的当次通信的有效数值,组成根密钥数组;使用公钥对根密钥进行加密,然后将密文发回至A端;
    步骤4、A端通过私钥解密所述密文,得到与B端相一致的根密钥数组:
    首先,将根密钥数组中两个系统可变参数的有效数值分别赋给超混沌系统1与超混沌系统2方程式中对应的参数,然后,根据根密钥数组中迭代参数的有效数值,两个混沌系统分别迭代M1和M2次,并保存迭代后混沌系统各个变量的值,作为混沌数字序列生成过程各变量的初始值,至此A端和B端根密钥同步过程结束;
    步骤二、混沌密钥序列的生成
    每次迭代生成的超混沌系统各变量的状态值均为双精度浮点类型,所述双精度浮点类型占用8字节,每个变量的状态值均可拆分成8个字节;
    将所述8个字节中的高8和高7字节去掉,使用1~6字节当作密钥;
    步骤三、流媒体数据的加解密,其具体过程为:
    加密过程:定义密钥序列为:{J(i)|i=1,2,3,…,2L},第一轮正序加密使用1~L部分,第二轮逆序加密使用(L+1)~2L部分,
    第一轮正序加密过程为:
    定义原始待加密的流媒体数据为{P(i)|i=1,2,3,…,L},对所述数据的第一个字节进行加密的公式为:对所述数据的其它字节进行加密的公式为:P,(i)=mod(P(i)+P,(i-1),256)⊕J(i),i≥2;]]>
    其中C0为加密首个明文字节时引入的常数,C0∈[0,255],加密后得到第一轮加密数据{P'(i)|i=1,2,3,…,L};
    第二轮逆序加密过程为:
    第二轮反馈从数据最后字节开始按逆序加密至开始字节,对P'(i)的最后一个字节进行加密的公式为对所述数据的其它字节进行加密的公式为P,,(i)=mod(P,(i)+P,,(i+1),256)⊕J(2L-i+1),iL-1;]]>
    其中C1为引入的常数,C1∈[0,255],
    经过两轮加密得到最终的密文{P″(i)|i=1,2,3,…,L};
    解密过程:
    解密算法是加密算法的逆过程,首先对第二轮反馈加密后的数据{P″(i)|i=1,2,3,…,L}从第一个字节开始依次循环到最后的字节解密;
    第一轮解密公式为:
    P,(i)=mod(P,,(i)⊕J(2L-i+1)-P,,(i+1)+256,256),P,(L)=mod(P,,(L)⊕J(L+1)-C1+256,256),i=1,2,...,L-1---(7)]]>
    第二轮解密是对第一轮加密的逆过程,从最后的字节开始,依次循环到第一个字节解密。第二轮解密公式为:
    P(i)=mod(P,(i)⊕J(i)-P,(i-1)+256,256)P(1)=mod((P,(1)⊕J(1)-C0+256),256)i=L,L-1,...,2---(8)]]>
    当密钥以及C0和C1与加密使用的值相同时,则解密后的数据与原始数据完全一致。
    在步骤一中,
    所述两种超混沌系统分别为:
    超混沌系统1为:
    x·=a(y-x)+wy·=cx-xz-yz·=xy-bzw·=-yz+rw---(1)]]>
    当a=10,b=8/3,c=28且r∈(-1.52,-0.06]时,系统1处于超混沌状态;
    超混沌系统2为:
    x·=a(yx)y·=cx-xz+wz·=xy-bzw·=-dx---(2)]]>
    取参数a=35,b=3,c=35并且参数d∈{(4.6,29.2],(33.5,53.7]}时系统2处于超混沌状态。
    在步骤二中,所述混沌密钥序列的生成的具体过程为:
    步骤1超混沌系统1与超混沌系统2分别预先迭代M1和M2次。由于加密算法进行两轮反馈操作,因此,初始化两组长度为2L/6的原始混沌序列A和B;
    步骤2超混沌系统1每迭代N1次得到一次新的状态值{X,Y,Z,W},超混沌系统2每迭代N2次得到一次新的状态值{X',Y',Z',W'}。将{X,W',Y,Z',Z,Y',W,X'}加入到混沌序列A中,{Y',Z,Z',Y,X',X,W',W}加入到混沌序列B中;
    步骤3重复执行(2L/8/6)次步骤2,最终得到原始混沌序列{A|X0,W0',Y0,Z0',Z0,Y0',W0,X0',X1,W1',Y1,Z1',Z1,Y1',W1,X1',...,XL/24,WL/24',YL/24,ZL/24',ZL/24,YL/24',WL/24,XL/24'}和{B|Y0',Z0,Z0',Y0,X0',X0,W0',W0,Y1',Z1,Z1',Y1,X1',X1,W1',W1,...,YL/24',ZL/24,ZL/24',YL/24,XL/24',XL/24,WL/24',WL/24};
    原始混沌序列数组{A(i)|i=0,1,2,…,L/3}和{B(i)|i=0,1,2,…,L/3}中每个数组元素均可生成6点混沌密钥,最终得到混沌密钥序列{J(i)|i=0,1,…,2L-1}和{K(i)|i=0,1,…,2L-1},其中J(i),K(i)∈[0,255],J(i)用作图像数据的加密,K(i)用作音频数据的加密。
    在步骤一中,所述实时数据流传输请求为通话请求、视频聊天请求或其他。
    本发明的有益效果是:
    本发明方法利用两种超混沌系统生成混沌数字序列,在混沌数字序列生成过程中,每 个超混沌系统的迭代参数均为动态变量,而现有技术是采用固定数值,极大地提高了加密的随机性和可靠性。本发明方法将混沌系统参数、混沌序列生成过程中的迭代步长与预先迭代次数作为动态参数,每次通信前随机生成满足条件的值并组成根密钥,通信两端使用RSA算法对根密钥进行保密同步。根密钥的不同使得每次加、解密所使用的密钥也不尽相同。同时,密钥由两种超混沌序列交织组合而成,使得密钥更为复杂。为了满足流媒体网络传输的实时性,对传统生成混沌密钥的方法进行改进以减少生成时间(本发明减少混沌密钥序列生成时间),提高加密速度。通过C语言编写的软件在局域网内进行测试,结果表明:该方法既满足流媒体通信的安全性也满足其对实时性的要求。
    本发明提出的流媒体保密通信方法是一种基于两种超混沌系统的动态密钥与RSA算法联合的保密通信方法。其核心思想是:在动态根密钥同步过程中,为了使每次通信所使用的密钥均不相同,将混沌系统迭代过程中的迭代步长和预先迭代次数与混沌系统方程的参数一同作为随机参数并组成根密钥,通信两端使用RSA算法对根密钥进行保密同步;根密钥同步完成后,对流媒体数据使用混沌序列密码进行加密并传输,加密时所使用混沌密钥序列由两种超混沌系统生成的序列按照一定的关系交织组合而成,即每一段密钥都包含两种超混沌序列。同时,为了提高密钥的生成速度,根据双精度浮点类型的在内存中的存储特点,去除整数部分只保留随机的小数部分,在不降低随机性的前提下大大减少了密钥的生成时间。最终通过局域网内视频通话测试,验证了该方法保密效果良好并且加密速度快,可以满足视频通话的实时性要求。
    附图说明
    图1是本发明所述的超混沌与RSA联合的保密通信方法原理框图;
    图2是本发明方法中混沌密钥序列的生成过程以及流媒体数据的加解密过程的原理图;
    图3是原始数据与加密后数据直方图,图中,(a)为原jpg格式数据的直方图,(b)为加密后图像数据的直方图,(c)为原始音频波形图,(d)为加密后音频波形图;
    图4是100组数据的NPCR测试结果图;
    图5是使用错误参数解密得到的数据对比图,图中,(a)为图像错误解密数据的直方图,(b)为错误解密音频波形图;
    图6为混沌序列的生成时间曲线图,图中,(a)为超混沌序列1生成时间图,(b)为超混沌序列2生成时间图;
    图7为通信过程中图像显示时间间隔截图;
    图8为通信过程中声音播放时间间隔截图。
    具体实施方式
    具体实施方式一:本实施方式对所述的双混沌系统动态密钥与RSA联合的流媒体保密通信方法进行详细描述:
    1、RSA加密算法与超混沌系统
    1.1 RSA算法原理
    RSA算法分为产生密钥和加解密两个过程,具体为:
    步骤1 密钥的产生:
    1)随机生成两个大素数p和q;
    2)计算n=p×q以及欧拉函数Ф(n)=(p-1)(q-1);
    3)选择满足gcd(e,Ф(n))=1的e,其中e为0<e<Ф(n),得到的(e,n)为加密密钥;
    4)计算满足d×e≡1(mod,Ф(n))的d值,解密密钥为(d,n)。
    步骤2 加解密过程:
    1)加密运算:对明文m进行c=me(mod n)运算得到密文c;
    2)解密运算:对密文c进行m=cd(mod n)运算得到原明文m。
    1.2两种超混沌系统
    本实施方式所使用超混沌系统1为[13]:
    x&CenterDot;=a(y-x)+wy&CenterDot;=cx-xz-yz&CenterDot;=xy-bzw&CenterDot;=-yz+rw---(1)]]>
    当a=10,b=8/3,c=28且r∈(-1.52,-0.06]时,系统1处于超混沌状态。
    另一个超混沌系统2为[14]:
    x&CenterDot;=a(yx)y&CenterDot;=cx-xz+wz&CenterDot;=xy-bzw&CenterDot;=-dx---(2)]]>
    取参数a=35,b=3,c=35并且参数d∈{(4.6,29.2],(33.5,53.7]}时系统2处于超混沌状态。
    2 保密通信方法的设计
    该保密通信方法分为两个环节:1动态根密钥的保密同步环节;2流媒体数据的保密 通信环节。由于对称密钥算法的特点,密钥的安全尤为重要。为了避免在通信中进行密钥的直接传输也为了提高加解密效率,在动态根密钥的保密同步环节中,通信两端使用相同的混沌系统方程式,其系统参数以及迭代参数的有效值需要通过同步获取,由于数据量小且对实时性没有较高要求,因此RSA公开密钥加密算法可以很好地解决参数同步过程中的安全问题;在流媒体数据的保密通信环节中,对流媒体数据使用混沌进行加密,通信两端使用相同参数的混沌系统,可以不断地生成完全相同的加、解密密钥,顺利地完成明文加密,密文传输和密文解密三个过程。同时,加密过程中引入密文反馈机制,使得密文值不再只由该点明文值与密钥决定,而是由前一点密文值、该点明文值和密钥共同决定。如图1所示。
    2.1 动态根密钥的保密同步
    混沌具有对系统参数的高度敏感性,稍微不同的参数就可使生成的混沌序列完全不相同。在此基础上,为了进一步提升参数的变化空间,本发明将混沌系统迭代参数作为动态变量,定义两种参数分别为N和M,N为混沌系统的迭代步长,即混沌系统每迭代N次得到一次新的状态值。M为混沌序列生成前预先迭代次数。不同的系统迭代参数以及系统参数使得每次通信所使用的密钥均不相同。因此,通信初始阶段需要对上述三种参数进行同步,并在传输过程中使用RSA加密算法保证同步的安全性,具体步骤为:
    步骤1 A端向B端发送实时数据流传输请求,进入等待请求状态。
    步骤2 B端同意请求并告知A端,A端计算出RSA算法使用的两组密钥,一组发送给B作为公钥,另一组留作解密的私钥。
    步骤3 B端通过随机数函数得到两种混沌系统所使用的满足条件的六个参数,组成根密钥数组{r,d,N1,N2,M1,M2},使用公钥对根密钥进行加密,并将根密钥密文发回至A端。
    步骤4 A端通过私钥解密根密钥密文,得到数组{r,d,N1,N2,M1,M2}的值。首先,将满足条件的r和d分别赋值给超混沌系统1与超混沌系统2方程式中相应的参数,然后,两种超混沌系统分别预先迭代M1和M2次,并保存迭代后混沌系统各个变量的值,最后,将其作为流媒体数据保密通信环节中混沌迭代的各变量初始值。此时A端和B端动态根密钥同步过程结束,进入流媒体数据保密通信环节。
    2.2 流媒体数据保密通信环节
    该环节负责完成流媒体数据的加密、解密以及网路发送工作。其中包含的模块有:图像的采集与显示、音频的采集与播放、混沌密钥序列的生成、数据的加密和解密以及网络传输模块。当摄像头采集到一帧视频(图像)数据后,将其压缩为jpg图片格式。为了音 画同步,声卡采集与视频帧数互为倒数时长的音频数据,若视频为20FPS,则录音0.05s。同时,两个超混沌系统生成两组混沌密钥序列,一组用于图像数据加密,另一组用于音频数据加密。随后将图像与音频密文通过网络传输。为了提高解密效率,接收端在等待密文到来的空闲时间生成两组与加密端一模一样的解密密钥,收到完整密文后立刻对图像与音频密文进行解密,然后将解密出来的图像与音频数据进行显示和播放。该过程循环执行,即可实现流媒体(如,视频聊天)的实时保密通信。如图2所示。
    2.2.1 改进的密钥序列生成方法
    为了使密钥随机性更强,文献[5]和文献[7]中均采用传统混沌密钥生成方法按式(3)对混沌系统迭代生成的序列进行改造:
    Temp=floor((H(i)-floor(H(i))×10R),
    G(i)=mod(Temp,256),
    i=0,1,…,L-1    (3)
    其中H(i)为混沌序列,G(i)为最后用于加密的密钥且G(i)∈[0,255],L为混沌序列的长度。
    该方法的优点是过滤掉混沌序列中的整数部分,将小数点后R位变为整数使密钥更加混乱,最终将每点映射至[0,255]内用于加密。但该方法每次迭代后单个变量的状态值只能生成与其相对应的1点密钥。因此,为了减少混沌序列的生成时间,用最少的迭代次数得到最长的密钥。对每次迭代生成的单个混沌状态值X、Y、Z或W(双精度浮点类型占用8字节共64位)拆分成8个单字节赋值给密钥。但由于双精度浮点类型在内存中的储存形式为:最高位63位是符号位,62~52位为指数位,51~0位为尾数位,其中指数位与整数部分相关,尾数位与小数部分相关。而混沌序列数值的整数通常都在某范围内浮动,为了过滤掉有规律的整数部分仅保留随机的小数部分,将8字节中的高8和高7字节去掉,使用1~6字节(0~47位)当作密钥,即每次迭代后单个变量的状态值可以生成6点密钥。由于字节的取值范围同样为[0,255],不仅达到了与传统方法相同的目的,又缩短了所需混沌序列的长度,直接减少了混沌序列的生成时间。
    改进后密钥生成方法的具体步骤为:
    步骤1 超混沌系统1与超混沌系统2分别预先迭代M1和M2次。由于加密算法进行两轮反馈操作,因此,初始化两组长度为2L/6的原始混沌序列A和B。
    步骤2 超混沌系统1每迭代N1次得到一次新的状态值{X,Y,Z,W},超混沌系统2每迭代N2次得到一次新的状态值{X',Y',Z',W'}。将{X,W',Y,Z',Z,Y',W,X'}加入到序列A中,{Y',Z,Z',Y,X',X,W',W}加入到序列B中。
    步骤3重复执行(2L/8/6)次步骤2,最终得到原始混沌序列{A|X0,W0',Y0,Z0',Z0,Y0',W0,X0',X1,W1',Y1,Z1',Z1,Y1',W1,X1',...,XL/24,WL/24',YL/24,ZL/24',ZL/24,YL/24',WL/24,XL/24'}和{B|Y0',Z0,Z0',Y0,X0',X0,W0',W0,Y1',Z1,Z1',Y1,X1',X1,W1',W1,...,YL/24',ZL/24,ZL/24',YL/24,X L/24',XL/24,WL/24',WL/24}。
    步骤4改进方法的代码如下:

    代码中2L/6为混沌序列的长度,乘以8是每点混沌序列可拆分成8点密钥,if条件语句是为了过滤掉高7和8字节,因此生成最后密钥总长度为2L。最终得到混沌密钥序列{J(i)|i=0,1,…,2L-1}和{K(i)|i=0,1,…,2L-1},其中J(i),K(i)∈[0,255],J(i)用作图像数据的加密,K(i)用作音频数据的加密。
    2.2.2加解密算法
    对视频流和音频流数据的加密使用之前生成的混沌密钥序列J(i)和K(i),分别对一帧视频数据(图像)和音频数据各进行两轮的数据反馈操作。加密以图像数据为例,具体过程为:
    第一轮反馈从数据的起始字节按顺序加密至最后的字节,对原始数据{P(i)|i=1,2,3,…,L}按照公式(5)进行反馈。
    P,(1)=mod(P(1)+C0,256)&CirclePlus;J(1),P,(i)=mod(P(i)+P,(i-1),256)&CirclePlus;J(i),---(5)]]>
    其中C0为加密首个明文字节时引入的常数,C0∈[0,255],i=2,3,…,L。加密后得到第一轮加密数据{P'(i)|i=1,2,3,…,L}。
    第二轮反馈从数据最后字节开始按逆序加密至开始字节,对P'(i)按照公式(6)进行反馈。
    P,,(L)=mod(P,(L)+C1),256)&CirclePlus;J(L+1),P,,(i)=mod(P,(i)+P,,(i+1)),256)&CirclePlus;J(2L-i+1),---(6)]]>
    其中C1为引入的常数,C1∈[0,255],i=L-1,L-2,…,1。经过两轮加密得到最终的密文{P″(i)|i=1,2,3,…,L}。
    解密算法是加密算法的逆过程,首先对第二轮反馈加密后的数据{P″(i)|i=1,2,3,…,L}从第一个字节开始依次循环到最后的字节解密。
    第一轮解密公式为:
    P,(i)=mod(P,,(i)&CirclePlus;J(2L-i+1)-P,,(i+1)+256,256),P,(L)=mod(P,,(L)&CirclePlus;J(L+1)-C1+256,256),i=1,2,...,L-1---(7)]]>
    第二轮解密是对第一轮加密的逆过程,从最后的字节开始,依次循环到第一个字节解密。第二轮解密公式为:
    P(i)=mod(P,(i)&CirclePlus;J(i)-P,(i-1)+256,256),P(1)=mod((P,(1)&CirclePlus;J(1)-C0+256),256),i=L,L-1,...,2---(8)]]>
    当密钥以及C0和C1与加密使用的值相同时,则解密后的数据与原始数据完全一致。音频数据的加解密过程类似,不再赘述。
    对上述实施方式限定的本发明方法(权利要求3限定的技术方案)进行实验测试与性能分析;实验测试与性能分析中,所述实时数据流传输请求为通话请求:
    实验中有关实时性的结果数据是通过C语言编写的程序测试得出。硬件环境为Inter(R)Core(TM)2Duo CPU p74502.13GHz,4GB内存和320GB硬盘的笔记本电脑,摄像头为机器自带,格式为YUV422,运行环境为Linux系统。有关加密性能的分析则是将通信中的数据导出存成文本形式加载到Windows7下的Matlab2009软件中进行测试。
    1混沌加密算法的性能分析(针对权利要求1中的“步骤三、流媒体数据的加解密”)
    由于摄像头捕获的图像数据大小为320×240×3=230400字节,数据量过于庞大,将图像压缩为数据量较小的jpg格式再进行加密。而音频数据本身比较小,同时为了音频波形的直观性,没有对音频数据进行压缩。由于jpg属于一种压缩格式,不具有RGB图像的直观性与数据本身的相关性,测试从抗统计攻击和抗差分攻击两方面进行。
    1)抗统计攻击的性能分析
    对摄像头捕捉的一帧数据压缩后的jpg格式以及声卡采集的一段音频数据“你好”,使用参数(r,d,N1,N2,M1,M2)=(1.1845,5.7326,50,20,80000,100000)生成的密钥进行加密。原始数据直方图与加密后数据直方图如图3所示,由图3(a)可以看出,原始图像数据分布不均匀,其中在0,99和255处数量较多,这是由于jpg格式本身造成的。而在图3(b)中加密后的数据呈现均匀分布,原本在0,99和255处的峰值降低,密文的 数据在[0,255]范围内出现概率趋于均等。由图3(c)和(d)可以看出,经过加密后的波形已经无法获得任何有价值的数据,播放出来是刺耳的滋啦声。因此,无论是图像还是音频,本发明所使用的算法能够有效地抵抗统计攻击。
    2)抗差分攻击分析
    对压缩后的jpg数据C1(L),改变其中任意一个字节的数据值得到C2(L),若C1(i)=C2(i),则D(i)=0;若C1(i)≠C2(i),则D(i)=1。NPCR的计算公式为:
    NPCR=Σi=0L-1D(i)L×100%---(9)]]>
    本发明实验采用摄像头捕获的第1,2,3,…,100帧并压缩成jpg格式,共计100个数据组进行测试。对于每一组原始数据T0,从第一个字节开始到最后一个字节结束,依次改变该字节的数据大小得到L组数据{T1,T2,…,TL},与原始数据T0分别使用相同的根密钥以及加密算法进行加密,求出各自的NPCR值并取平均值如图4所示。
    由图4可以看出本发明测试的100个数据组的测试结果均达到了99.62%以上,由此可知,原始数据稍微变化便会引起密文的明显变化。因此,本发明使用的算法可以有效地抵御差分攻击。
    2加密算法对参数的敏感性分析(针对权利要求1中的“步骤三、流媒体数据的加解密”)
    一个好的密码算法对密钥必须非常敏感,即使密钥只有微小的差别,加密后也应该产生完全不同的密文。同样,两个具有微小差别的密钥,对同一密文的解密结果也应该完全不同。对之前加密后的数据使用稍微不同的根密钥(r,d,N1,N2,M1,M2)=(1.1845+10-10,5.7326,50,20,80000,100000)进行解密,得到错误图像数据直方图与错误音频波形分别如图5(a)和(b)所示。
    由图5可以看出当根密钥稍有误差就无法得到正确的数据。对错误解密数据与原始数据按字节位置进行数值比较,其中错误字节占所有字节的比例为99.65%。由此可见,该方法对根密钥非常敏感。进一步对d,N1,N2,M1,M2的值做细微改变,均得到类似结果。
    3密钥空间分析(针对权利要求3)
    由于混沌密钥序列是由两种超混沌系统生成的混沌序列按照一定的关系交织组合所得到,而且在敏感性测试中证明只要有一种混沌系统的参数没有被破译,那么该加密算法就是安全的,根密钥(r,d,N1,N2,M1,M2)的变化范围决定密钥空间的大小。在混沌迭代中N的取值越大混沌序列的生成速度越慢,为了不影响流媒体数据保密通信的实时性,设 定N∈[1,100]。而M是在参数保密同步环节中混沌系统预先迭代次数,该环节对实时性要求低,因此M的取值范围可适当扩大M∈[1,105],r和d为双精度浮点类型其精确可以表示到小数点后16位。理论上根密钥的变化空间为102×105×102×105×1016×1016=1046,意味着多次通信密钥的重复率为1/1046。若引入混沌系统的其他参数作为随机变量进行同步,以双精度浮点类型可以表示小数点后16位进行计算,由两种超混沌系统形成的密钥空间将达到(1016)4×(1016)4×1014=10142,相当于二进制512比特密钥长度。因此,该方法在满足实时性要求的前提下,具有抗穷举攻击的能力。
    4改进的密钥序列性能分析(针对权利要求3)
    为检验生成的混沌密钥序列的随机性,根据美国国家标准技术研究所(NIST)序列随机性检测标准,对生成的一条长度为1000M的0、1序列分成100组,分别从频率、块内频率、游程、离散傅里叶变换和近似熵5个项目进行测试,计算其P-Value值[15]。当P-Value≥0.01时可认为序列通过随机性测试。表1为传统方法生成的混沌密钥序列和改进方法生成的混沌密钥序列的测试结果。
    表1 不同方法生成的混沌密钥检测结果

    测试结果表明:传统方法与改进方法均能通过这五项测试,但在消耗时间上后者仅为前者的1/6。因此,改进后的方法既能生成随机性良好的密钥序列又能缩短密钥生成时间,从而提高系统的加密效率。
    5本发明方法的实时性分析
    该测试包括参数保密同步环节与流媒体数据保密通信环节两部分的时间分析。在流媒体加解密过程中,为了提高软件的运行效率,减少延时,使用多线程将图像的采集、音频的采集、超混沌序列1的生成、超混沌序列2的生成以及图像压缩、密钥组合与视音频数据加密彼此独立并行运行。
    1)参数保密同步的等待时间
    本发明采用512位和1024位密钥的RSA算法,在M取最大值的情况下对该环节进行5组测试,等待时间如表2所示。该等待时间是从A端接收到B端发来的同意请求的时刻到两端同步结束时刻经过的时间。其中包括:加密端随机数参数的生成、RSA算法中密钥的生成与数据加密的时间,解密端解密的时间。从表2中可以看出若采用512位密钥加密平均等待时间为7s,而采用1024位的密钥则需要等待16s。由此可见,为了追求高强度的安全就必须要增加等待时间。
    表2 512/1024位密钥的等待时间

    2)流媒体数据加密的时间
    本次实验视频的帧率为20FPS,即0.05s采集一帧图像,为了音画同步,对声卡设置为每次录取0.05s。由于各线程是并行处理,要求混沌序列的生成时间必须小于0.05s才能保证图像和音频数据被采集后可以立刻用于加密。由于是在局域网内进行传输,发送时间不足毫秒,而加解密时间为毫秒级。因此,该阶段主要耗时在密钥生成的过程中。
    经过测试,压缩得到的jpg数据均小于10000字节,音频数据采用16位量化,双通道,8000Hz采样频率,则0.05s的数据大小为1600字节。由于两轮加密的关系,因此,密钥的总长度L=20000,那么需要混沌序列的长度为3334。而在混沌迭代中迭代次数N的值越大混沌序列的生成速度越慢,以N取最大值100为参数测试120组数据,得出超混沌系统1与超混沌系统2的序列生成时间如图6所示。
    从测试结果可以看出两种超混沌序列的生成时间均小于0.05s,意味着数据采集后可以立刻用于加密处理,从而不影响视频的帧数与声音的连续性。
    3)延时时间与帧率
    由于两台电脑无法将时间同步精确到毫秒级,因此无法精确地给出通信的延时时间。通过上面数据的分析,理论的延时时间应由数据采集时间,数据加密时间,网络发送时间(局域网可忽略)以及数据解密时间组成,延时时间t=0.05+0.01+0.01=0.07s,人眼几乎无法分辨有延时。
    对正在视频通话的实时数据截图如图7所示:图7显示的num为图像显示的帧数,interval为屏幕显示两帧图像之间的时间间隔(单位:微秒)。从图中可以看出每两帧图 像显示的时间间隔平均为50000微秒,即0.05s,因此视频帧率可以保持15-20FPS之间。
    通信中两段音频播放的时间间隔如图8所示:图8显示的num为音频播放的次数,interval为两段音频播放时间间隔,可以看出两段音频的时间间隔平均为0.05s,其中包含播放声音的持续时间与该段声音播放完毕到下次声音开始播放的等待时间。由于无法获取声音播放完成的准确时间,因此从数据中无法直观地确定等待时间,即声音间隔。但人耳能分清前后两次声音的时间间隔最小为1/15=0.067s,而在数据中的时间间隔均小于0.067s,即使该段时间内没有声音播放,人耳也分不出声音的间隔,在实际的测试中同样不存在声音的间断。
    实验结论
    本发明提出的基于两种超混沌系统动态密钥与RSA算法联合的保密通信方法,实现了局域网内流媒体实时保密通信的功能。在安全性方面:即使破译者获得了所有网络发送的密文,也知道所使用的混沌系统,由参数组成的根密钥在传递过程中使用RSA算法进行保护,使破译者无法通过网络截取直接得到参数的值。由两种超混沌系统参数以及迭代步长与预先迭代次数组成的根密钥变化范围巨大,使得穷举法破译参数不可能实现。根密钥仅在该次通话内有效,使得用于加解密的混沌密钥每次通信均不相同,增加了混沌密钥的随机性和破译的难度。在实时性方面:采用多线程并行处理模式和改进的密钥生成方法,大大提高了加密速度,为混沌保密通信的实时性应用打下良好基础。实验分析证明本发明提出的方法在实时保密通信领域具有很好的实际应用价值。
    本发明中的参考文献如下:
    [1]Kondakci S.Analysis of information security reliabi lity:A tuto-rial[J].reliabi lity engineering&system safety,2015,133:275-299.
    [2]向菲,丘水生.基于混沌系统互扰的流密码设计[J].物理学报,2008,57(10):6132-6138.
    [3]禹思敏.混沌系统与混沌电路[M].西安:西安电子科技大学出版社,2011.
    [4]Sutter G D,Deschamps J P,Imana J L.multiplication and exponentiation architectures for fast RSA cryptosystem based on digit serial computa-tion[J].Industrial Electronics,2011,58(7):3101-3109.
    [5]王静,蒋国平.一种超混沌图像加密算法的安全性分析及其改进[J].物理学报,2011,60(6):83-93.
    [6]卢辉斌,张鹏,国宪鹏,郝敏.一种新的基于双混沌系统的图像加密方案[J].计算机 工程与应用,2012,48(2):90-92.
    [7]朱从旭,孙克辉.对一类超混沌图像加密算法的密码分析与改进[J].物理学报,2012,61(12):76-87.
    [8]张朝霞,禹思敏.基于数字信号处理器的语音无线混沌通信[J].物理学报,2010,59(5):3017-3026.
    [9]刘淑聪,杨敬松,宋燕星.基过抽样混沌映射在语音通信中的应用研究[J].计算机工程与应用,2013,49(2):119-121.
    [10]石婕,仲伟波,葛秀梅.动态混沌加解密及其在VoIP中的应用[J].计算机科学,2014,41(11A):268-271.
    [11]张建广,康守强,纪斌,宋立新,郑势,朱建良.基于单片机和FPGA的多混沌吸引子切换系统的实现[J].计算机工程与应用,2014,50(18):70-74.
    [12]刘扬正,林长圣,李心朝.切换统一混沌系统族[J].物理学报,2011,60(4):79-87.
    [13]王兴元,王明军.超混沌Lorenz系统[J].物理学报,2007,56(9):5136-5141.
    [14]刘明华,冯久超.一个新的超混沌系统[J].物理学报,2009,58(7):4457-4462.
    [15]刘金梅,屈强.几类混沌序列的随机性测试[J].计算机工程与应用,2011,47(5):46-49.

    关 键  词:
    混沌 系统 动态 密钥 RSA 联合 流媒体 保密 通信 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:双混沌系统动态密钥与RSA联合的流媒体保密通信方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1547883.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1