[发明专利]密钥流生成方法及装置有效
申请号: | 201910354818.6 | 申请日: | 2019-04-29 |
公开(公告)号: | CN110086619B | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 张杰;李亚杰;涂志伟;雷超;赵永利;张会彬 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | H04L9/18 | 分类号: | H04L9/18;H04L9/08 |
代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 陈宙 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 密钥 生成 方法 装置 | ||
1.一种密钥流生成方法,其特征在于,包括:
获取初始密钥;
对所述初始密钥进行后处理,获得种子密钥;
对所述种子密钥进行扩充,获得扩充密钥;
提取所述扩充密钥中的一半数据,作为最终的运行密钥流;
所述种子密钥为二进制序列;
所述对所述种子密钥进行扩充,获得扩充密钥,具体包括:
对所述种子密钥进行分段,将每段种子密钥由二进制转换为十进制,转换后的每段种子密钥包括第一子密钥和第二子密钥;
每转换一段种子密钥,将所述一段种子密钥的第一子密钥输入至第一同余发生器,依次输出k个随机数,并将所述k个随机数按顺序存放至矢量T中,T=(t1,t2,…,tk);
将所述一段种子密钥的第二子密钥输入至第二同余发生器,并依次输出N个随机整数j;
基于所述N个随机整数j依次从矢量T中获取随机数,并将获取的随机数组成随机数列,作为所述一段种子密钥的子扩充密钥,1≤j≤k;
将所有子扩充密钥进行合并,获得所述扩充密钥;
所述基于所述N个随机整数j依次从矢量T中获取随机数,并将获取的随机数组成随机数列,作为所述一段种子密钥的子扩充密钥,具体包括:
在输出第n个随机整数j时,令xn=tj,并采用所述第一同余发生器产生一个随机数y,将矢量T中的tj更新为y,1≤n≤N;
将随机数列{x1,…,xn}作为所述一段种子密钥的子扩充密钥。
2.根据权利要求1所述的密钥流生成方法,其特征在于,所述对所述初始密钥进行后处理,获得种子密钥,具体包括:
对所述初始密钥进行多次差分异或处理;
对处理后的初始密钥进行哈希映射,获得所述种子密钥。
3.根据权利要求2所述的密钥流生成方法,其特征在于,所述初始密钥为二进制随机序列;
所述对所述初始密钥进行多次差分异或处理,具体包括:
将所述初始密钥分别移动不同位数,且每移动一次获得相应的差分密钥;
将所述初始密钥依次与每一差分密钥进行异或处理,使处理后的初始密钥中的0和1的个数相同。
4.根据权利要求1所述的密钥流生成方法,其特征在于,所述第一同余发生器和所述第二同余发生器中的运算函数为:
其中,i=1时,Xi-1=X0为第一子密钥或第二子密钥,Xi-1为输入数据,Xi为输出数据,a为乘数,b为增量,c为模量。
5.根据权利要求1所述的密钥流生成方法,其特征在于,所述将所有子扩充密钥进行合并,获得所述扩充密钥,具体包括:
将每一子扩充密钥由十进制转换为二进制,并从转换后的每一子扩充密钥的最低位开始,选取预定数量的低位数据进行合并,获得所述扩充密钥。
6.根据权利要求1所述的密钥流生成方法,其特征在于,所述扩充密钥为二进制序列;
所述提取所述扩充密钥中的一半数据,作为最终的运行密钥流,具体包括:
提取所述扩充密钥中的奇数位或偶数位序列,作为最终的运行密钥流。
7.一种密钥流生成装置,能够实现如权利要求1至6任一项所述的密钥流生成方法,其特征在于,所述装置包括:
获取模块,用于获取初始密钥;
后处理模块,用于对所述初始密钥进行后处理,获得种子密钥;
扩充模块,用于对所述种子密钥进行扩充,获得扩充密钥;以及,
提取模块,用于提取所述扩充密钥中的一半数据,作为最终的运行密钥流。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910354818.6/1.html,转载请声明来源钻瓜专利网。