[发明专利]一种结构可变的伪随机数生成方法及装置有效
申请号: | 201910195255.0 | 申请日: | 2019-03-14 |
公开(公告)号: | CN110058842B | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 董丽华;杜浩东;曾勇;迟洁;王思翔 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F7/58 | 分类号: | G06F7/58 |
代理公司: | 西安嘉思特知识产权代理事务所(普通合伙) 61230 | 代理人: | 张捷 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 结构 可变 随机数 生成 方法 装置 | ||
本发明涉及一种结构可变的伪随机数生成方法,包括:获取初始密钥、本原多项式和初始化向量;根据所述本原多项式和所述初始化向量得到第一子序列;根据所述初始密钥得到第二子序列;根据所述第一子序列和所述第二子序列得到第三子序列;根据所述第一子序列、所述第二子序列和所述第三子序列得到伪随机序列。该方法结构可变,轻量级算法易于软硬件实现,且能抵抗相关攻击,为伪随机数的生成提供了更高的安全性与灵活性,生成的伪随机序列可运用到许多加密应用中。
技术领域
本发明属于信息安全领域,具体涉及一种结构可变的伪随机数生成方法及装置。
背景技术
伪随机数是具有某种随机特性的周期序列,虽然不是真随机的,但生成速度快,易于软硬件实现,在诸如通信、雷达、导航以及密码学的密钥、数字签名和身份认证等重要技术领域应用广泛。
例如,一种生成伪随机数的方法及伪随机数发生器,包括:获取预先设定的密钥、初始向量、种子以及加密函数,加密函数调用SM4算法以及3DES算法,所述SM4算法与3DES算法结合确定生成函数,根据所述的生成函数、密钥、初始向量以及种子输出伪随机数。又如,另一种伪随机数生成装置和方法,利用位移方向相反的两个线性反馈移位寄存器产生随机比特数。再如一种非线性伪随机序列发生器,采用线性反馈单元、非线性反馈逻辑单元和合成单元,线性反馈逻辑单元按照本原多项式反馈函数与移位寄存器单元的状态输出端对应连接,其输出端与合成单元的一个输入端连接。非线性反馈逻辑单元输入端按照其非线性特征函数与移位寄存器单元状态输出端对应连接,合成单元包括异或门,其输入端分别与线性反馈逻辑单元输出端和非线性反馈逻辑单元输出端连接,合成单元的输出端与移位寄存器输入端连接,生成方法简单。
但是,上述第一种方法不属于轻量级算法,不易在软硬件中实现。第二种方法仅仅使用了线性反馈移位寄存器,结构不可变,无法抵抗相关攻击。第三种方法只是用了一个非线性反馈函数,结构简单,不能适用于多种应用。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种可变结构的伪随机数生成方法及装置。本发明要解决的技术问题通过以下技术方案实现:
本发明实施例提供了一种结构可变的伪随机数生成方法,包括:
获取初始密钥、本原多项式和初始化向量;
根据所述本原多项式和所述初始化向量得到第一子序列;
根据所述初始密钥得到第二子序列;
根据所述第一子序列和所述第二子序列得到第三子序列;
根据所述第一子序列、所述第二子序列和所述第三子序列得到伪随机序列;
在本发明的一个实施例中,还包括:
所述第一子序列和所述第二子序列重复更新,得到密钥流。
在本发明的一个实施例中,根据所述本原多项式和所述初始化向量得到第一子序列,包括:
根据所述本原多项式得到线性反馈移位寄存器的结构;
根据所述线性反馈移位寄存器的结构得到线性反馈移位寄存器;
将所述初始化向量代入所述线性反馈移位寄存器得到所述第一子序列。
在本发明的一个实施例中,根据所述初始密钥和得到第二子序列,包括:
根据所述初始密钥得到非线性反馈移位寄存器的结构;
根据所述非线性反馈移位寄存器的结构得到非线性反馈移位寄存器;
将所述初始密钥代入所述非线性反馈移位寄存器得到所述第二子序列。
在本发明的一个实施例中,根据所述第一子序列和所述第二子序列得到第三子序列,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910195255.0/2.html,转载请声明来源钻瓜专利网。