[发明专利]双混沌系统动态密钥与RSA联合的流媒体保密通信方法有效
申请号: | 201510084754.4 | 申请日: | 2015-02-16 |
公开(公告)号: | CN104618091B | 公开(公告)日: | 2017-08-15 |
发明(设计)人: | 康守强;王玉静;谢金宝;纪彬;兰朝凤;高华强 | 申请(专利权)人: | 哈尔滨理工大学 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/06 |
代理公司: | 哈尔滨市松花江专利商标事务所23109 | 代理人: | 杨立超 |
地址: | 150080 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 混沌 系统 动态 密钥 rsa 联合 流媒体 保密 通信 方法 | ||
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字节当作密钥;
所述混沌密钥序列的生成的具体过程为:
步骤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)用作音频数据的加密;
步骤三、流媒体数据的加解密,其具体过程为:
加密过程:定义密钥序列为:{J(i)|i=1,2,3,…,2L},第一轮正序加密使用1~L部分,第二轮逆序加密使用(L+1)~2L部分,L为混沌序列的长度;
第一轮正序加密过程为:
定义原始待加密的流媒体数据为{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与加密使用的值相同时,则解密后的数据与原始数据完全一致。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨理工大学,未经哈尔滨理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510084754.4/1.html,转载请声明来源钻瓜专利网。