预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113965315A(43)申请公布日2022.01.21(21)申请号202111202996.0(22)申请日2021.10.15(71)申请人华东师范大学地址200241上海市闵行区东川路500号申请人上海境山科技有限公司(72)发明人何道敬丁子康高昀朱珊珊(74)专利代理机构上海蓝迪专利商标事务所(普通合伙)31215代理人徐筱梅张翔(51)Int.Cl.H04L9/06(2006.01)H04L9/08(2006.01)G06F7/58(2006.01)权利要求书2页说明书4页附图1页(54)发明名称一种轻量级密码学安全伪随机数生成器及伪随机数生成方法(57)摘要本发明公开了一种轻量级密码学安全伪随机数生成器及伪随机数生成方法,本发明提出的方法能高效地生成密码学安全的高质量伪随机数,所述伪随机数生成器包括:参数选取模块,用于初始化参数;哈希函数计算模块,用于对当前随机数进行密码学安全的哈希计算;轻量级非密码学安全伪随机数生成模块,是使用轻量级算法生成随机数序列的模块;迭代生成随机数序列算法模块包括:循环左移模块和加法取模模块,用于生成新的随机数序列。本发明选取目前两种轻量级的伪随机数算法作为基础,通过伪随机数算法的结合和逻辑位移、加法取模等高效操作,来生成高质量的符合密码学安全的伪随机数。CN113965315ACN113965315A权利要求书1/2页1.一种轻量级密码学安全伪随机数生成器,其特征在于,它包括:参数选取模块、哈希函数计算模块、伪随机数生成模块A、伪随机数生成模块B及迭代生成随机数序列算法模块,其中,迭代生成随机数序列算法模块包括循环左移子模块和加法取模运算子模块;所述参数选取模块,用于选取初始化的系统参数;所述哈希函数计算模块,用于对当前随机数进行密码学安全的哈希计算;所述伪随机数生成模块A,用于通过算法A来生成随机数序列;所述伪随机数生成模块B,用于通过算法B来生成随机数序列;所述循环左移子模块,用于对计算机字长w位的随机数序列进行循环左移操作;所述加法取模运算子模块,用于对计算机字长w位的随机数序列加法取模操作;所述参数选取模块选取初始参数后将一部分参数送入哈希函数计算模块,随后哈希函数计算模块进行计算并将哈希计算的结果拆分分别送入伪随机数生成模块A和伪随机数生成模块B,接着伪随机数生成模块A和伪随机数生成模块B分别将生成的结果送入迭代生成随机数序列算法模块,同时参数选取模块将初始的另一部分参数也送入迭代生成随机数序列算法模块;迭代生成随机数序列算法模块中的循环左移子模块对被送入的序列和参数进行循环左移操作并将循环左移操作的结果送入加法取模运算子模块;由加法取模运算子模块加法取模后输出最后的结果。2.如权利要求1所述的轻量级密码学安全伪随机数生成器,其特征在于,所述哈希函数计算模块,通过对串联的随机数序列进行密码学安全上的哈希计算得到随机数初始种子;哈希函数计算模块所选符合密码学安全并能产生256位的哈希值的哈希函数,包括SHA‑256、SHA3‑256、BLAKE‑256及SHAKE256。3.如权利要求1所述的轻量级密码学安全伪随机数生成器,其特征在于,所述伪随机数生成模块A和伪随机数生成模块B,具有生成随机数序列周期长度互素且互相独立的随机数生成算法A和随机数生成算法B,所述算法A和算法B均满足随机数序列均匀分布的特性,分别选择TinyMT随机数生成算法和XSadd随机数生成算法。4.一种基于权利要求1所述生成器的轻量级密码学安全伪随机数生成方法,其特征在于,包括以下步骤:步骤1:选定初始的不少于128位的随机数key和随机数nonce以及设定伪随机数生成模块A和伪随机数生成模块B中输出序列的移位位数r1和r2及计算机字长w;步骤2:将随机数key和随机数nonce进行串联得到随机数串(key||nonce)并输入密码学安全的哈希函数中,得到256位的哈希计算结果(seed1||seed2);步骤3:将哈希结果拆分成哈希计算结果前部分seed1和哈希计算结果后部分seed2分别作为初始种子输入伪随机数生成模块A和伪随机数生成模块B中,分别输出序列X和序列Y;步骤4:将得到的序列X和序列Y以及计算机字长w、移位位数r1和移位位数r2作为输入送入迭代生成随机数算法模块,在迭代生成随机数算法模块中,对输入的序列及参数先被送入循环左移子模块进行循环左移,完成循环左移操作之后循环左移的结果被送入加法取模运算子模块中进行加法取模,最后生成新的随机数序列。5.如权利要求4所述的轻量级密码学安全伪随机数生成方法,其特征在于,步骤4所述进行循环左移,具体是循环左移子模块将随机数生成模块A生成的w位随机2CN113965315A权利