CN113965315A - 一种轻量级密码学安全伪随机数生成器及伪随机数生成方法 - Google Patents
一种轻量级密码学安全伪随机数生成器及伪随机数生成方法 Download PDFInfo
- Publication number
- CN113965315A CN113965315A CN202111202996.0A CN202111202996A CN113965315A CN 113965315 A CN113965315 A CN 113965315A CN 202111202996 A CN202111202996 A CN 202111202996A CN 113965315 A CN113965315 A CN 113965315A
- Authority
- CN
- China
- Prior art keywords
- random number
- module
- pseudo
- sequence
- algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims abstract description 38
- 238000009827 uniform distribution Methods 0.000 claims 1
- 238000006073 displacement reaction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种轻量级密码学安全伪随机数生成器及伪随机数生成方法,本发明提出的方法能高效地生成密码学安全的高质量伪随机数,所述伪随机数生成器包括:参数选取模块,用于初始化参数;哈希函数计算模块,用于对当前随机数进行密码学安全的哈希计算;轻量级非密码学安全伪随机数生成模块,是使用轻量级算法生成随机数序列的模块;迭代生成随机数序列算法模块包括:循环左移模块和加法取模模块,用于生成新的随机数序列。本发明选取目前两种轻量级的伪随机数算法作为基础,通过伪随机数算法的结合和逻辑位移、加法取模等高效操作,来生成高质量的符合密码学安全的伪随机数。
Description
技术领域
本发明涉及密码学安全以及伪随机数生成技术领域,尤其涉及一种伪随机数生成器及随机数生成方法(Lightweight Cryptographic Security Random NumberGeneration)。
背景技术
随机数是物联网中许多功能的基本输入。随机性常见的用例范围从低级包的传输到高级人工智能算法,以及严重依赖于不可预测的随机源的安全与信任。然而,在受限的物联网中,由于资源有限、确定性的实时操作和经常缺乏用户界面,不可预测的随机源就成了一个极具挑战性的问题。随机数对于计算机系统实现多功能性和安全性是必不可少的。几乎现有的每一个操作系统中都提供了随机数的生成方法。例如在物联网应用的操作系统中,各种应用程序、系统组件和一些系统的基本操作都需要随机数。例如,现有的环境检测、自动化机械、机对机(M2M)通信和事件报告都利用了随机数的输入。随着物联网中人工智能(AI)的出现,对随机数的需求进一步增加。但是目前的物联网随机数生成算法在缺乏随机性、不可预测性、高信息熵等方面还存在诸多不足,若要解决上述问题,需保证在不改变原有设备的算法、程序、网络协议等的效率的情况下,使得生成随机数更高效安全随机。总体而言,现有的随机数生成方案所产生的伪随机数,占用空间较大,效率低或者是不满足安全属性,不能满足当前实际应用中对随机数越来越高的要求。
因此,如何在受限设备上高效地生成高质量的符合密码学安全的伪随机数成为当前需要解决的一个问题。
发明内容
本发明的目的是提供一种轻量级密码学安全伪随机数生成器及伪随机数生成方法,用于克服当前伪随机数生成器不够轻量以及存在安全性问题的缺陷,解决如何在保证轻量的情况下生成符合密码学安全的伪随机数的技术问题。
实现本发明目的的具体技术方案是:
一种轻量级密码学安全伪随机数生成器,特点是它包括:参数选取模块、哈希函数计算模块、伪随机数生成模块A、伪随机数生成模块B及迭代生成随机数序列算法模块,其中,迭代生成随机数序列算法模块包括循环左移子模块和加法取模运算子模块;
所述参数选取模块,用于选取初始化的系统参数;
所述哈希函数计算模块,用于对当前随机数进行密码学安全的哈希计算;
所述伪随机数生成模块A,用于通过算法A来生成随机数序列;
所述伪随机数生成模块B,用于通过算法B来生成随机数序列;
所述循环左移子模块,用于对计算机字长w位的随机数序列进行循环左移操作;
所述加法取模运算子模块,用于对计算机字长w位的随机数序列加法取模操作;
所述参数选取模块选取初始参数后将一部分参数送入哈希函数计算模块,随后哈希函数计算模块进行计算并将哈希计算的结果拆分成两份分别送入伪随机数生成模块A和伪随机数生成模块B,接着伪随机数生成模块A和伪随机数生成模块B分别将生成的结果送入迭代生成随机数序列算法模块,同时参数选取模块将初始的另一部分参数也送入迭代生成随机数序列算法模块;迭代生成随机数序列算法模块中的循环左移子模块对被送入的序列和参数进行循环左移操作并将循环左移操作的结果送入加法取模运算子模块;由加法取模运算子模块加法取模后输出最后的结果。
所述哈希函数计算模块,通过对串联的随机数序列进行密码学安全上的哈希计算得到随机数初始种子;哈希函数计算模块所选符合密码学安全并能产生256位的哈希值的哈希函数,包括SHA-256、SHA3-256、BLAKE-256及SHAKE256。
所述伪随机数生成模块A和伪随机数生成模块B,具有生成随机数序列周期长度互素且互相独立的随机数生成算法A和随机数生成算法B,所述算法A和算法B均满足随机数序列均匀分布的特性,分别选择TinyMT随机数生成算法和XSadd随机数生成算法。
一种基于上述生成器的轻量级密码学安全伪随机数生成方法,该方法包括以下步骤:
步骤1:选定初始的不少于128位的随机数key(该随机数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作为输入送入迭代生成随机数算法模块,在迭代生成随机数算法模块中,对输入的序列及参数先被送入循环左移子模块进行循环左移,完成循环左移操作之后循环左移的结果被送入加法取模运算子模块中进行加法取模,最后生成新的随机数序列。
步骤4所述进行循环左移,具体是循环左移子模块将随机数生成模块A生成的w位随机数循环左移r1位得到Xi,将随机数生成模块B生成的w位随机数循环左移r2位得到Yi;所述加法取模运算子模块中进行加法取模,具体是加法取模运算子模块对Xi和Yi两个序列相加后取模,并输出其结果。
所述循环左移操作,通过软件构造将逻辑左移和逻辑右移结合起来,用于完成循环左移操作。
本发明的轻量级密码学安全为伪随机数生成器及随机数生成方法,采用两款轻量级的伪随机数生成算法A和伪随机数生成算法B为基础,占用的空间少,执行速度快。再将两个生成器的输出序列作为参数输入LCSRNG算法去得到一个新的符合密码学安全要求的随机数序列,既满足轻量级的需求也保证了其安全性。应用本发明所生成的随机数可满足当前在受限环境下对伪随机数生成器和随机数本身质量的要求。
附图说明
图1是伪随机数生成器的结构框架图;
图2是伪随机数生成方法的数据流图。
具体实施方式
为使本发明的目的、技术方案、和优点更加清晰,以下结合附图对本发明做进一步的详细说明。
本发明基于对现有伪随机数生成器、伪随机数生成方法和不同环境下伪随机数生成器的应用等领域的研究,提出了一种轻量级密码学安全伪随机数生成器及伪随机数生成方法,生成随机数时采用以两个现有的轻量级伪随机数生成算法A和B为基础并通过结合以上两个随机数生成算法输出的序列,同时保证了其轻量和符合密码学安全的特点。可解决现有方法不够轻量或者是无法保证随机数安全性的问题。
如图1所示,给出了本发明的一种用于生成密码学安全的伪随机数的轻量级伪随机数生成器的结构框架图。该伪随机数生成器包括:
参数选取模块、哈希函数计算模块、伪随机数生成模块A、伪随机数生成模块B及迭代生成随机数序列算法模块,其中,迭代生成随机数序列算法模块包括循环左移子模块和加法取模运算子模块;
所述参数选取模块,用于选取初始化的系统参数;所述初始化参数包括:一个不少于128位初始随机数key(该随机数key需保密)和另一个不少于128位的初始随机数nonce;一个表示计算机字长的w;一个用于设定A随机数生成模块输出结果的移位位数r1和另一个用于设定B随机数生成模块的移位位数r2;
所述哈希函数计算模块,用于对当前随机数序列(key||nonce)进行密码学安全的哈希计算得到256位的哈希计算结果(seed1||seed2),再将结果进行拆分,分别将拆分的seed1送入伪随机数生成模块A,seed2送入伪随机数生成模块B;
所述伪随机数生成模块A,用于将拆分而成的初始种子seed1作为参数的随机数序列X的生成,并把随机数序列X送入迭代生成随机数序列算法模块;
所述伪随机数生成模块B,用于将拆分而成的初始种子seed2作为参数的随机数序列Y的生成,并把随机数序列Y送入迭代生成随机数序列算法模块;
所述迭代生成随机数序列算法模块包括:
所述循环左移子模块,用于对不少于w位的随机数序列X和随机数序列Y进行循环左移操作得到Xi和Yi;
所述加法取模运算子模块,用于将循环左移子模块的操作结果序列Xi和Yi随机数序列进行加法取模操作并输出新的随机数序列。
本发明的伪随机数生成方法,其具体流程如图2所示。
步骤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作为输入送入迭代生成随机数算法模块,在迭代生成随机数算法模块中,以上的序列及参数将先被送入循环左移子模块进行循环左移,完成循环左移操作之后循环左移的结果被送入加法取模运算子模块中进行加法取模,最后生成新的符合密码学安全的随机数序列。
迭代生成随机数序列算法模块的核心算法为以下内容:
1: for j = 1 to 4 do
5: end for
以上所述仅为本发明的实施例的进一步说明,并不用于限制本发明,对于本领域的技术人员,在不背离本发明构思的精神和范围下的等效实施,均应包含于本发明的权利要求范围之内。
Claims (5)
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位随机数循环左移r1位得到Xi,将随机数生成模块B生成的w位随机数循环左移r2位得到Yi;所述加法取模运算子模块中进行加法取模,具体是加法取模运算子模块对Xi和Yi两个序列相加后取模,并输出其结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111202996.0A CN113965315B (zh) | 2021-10-15 | 2021-10-15 | 一种轻量级密码学安全伪随机数生成器及伪随机数生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111202996.0A CN113965315B (zh) | 2021-10-15 | 2021-10-15 | 一种轻量级密码学安全伪随机数生成器及伪随机数生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113965315A true CN113965315A (zh) | 2022-01-21 |
CN113965315B CN113965315B (zh) | 2023-12-01 |
Family
ID=79463967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111202996.0A Active CN113965315B (zh) | 2021-10-15 | 2021-10-15 | 一种轻量级密码学安全伪随机数生成器及伪随机数生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113965315B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115051798A (zh) * | 2022-06-10 | 2022-09-13 | 北京海泰方圆科技股份有限公司 | 一种随机数生成方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003104969A2 (en) * | 2002-06-06 | 2003-12-18 | Cryptico A/S | Method for improving unpredictability of output of pseudo-random number generators |
CN105228157A (zh) * | 2015-09-16 | 2016-01-06 | 华东师范大学 | 一种无线传感器网络安全轻量重编程方法 |
CN108664234A (zh) * | 2018-01-17 | 2018-10-16 | 北京智芯微电子科技有限公司 | 真随机数发生器 |
US11146387B1 (en) * | 2020-08-04 | 2021-10-12 | Panagiotis Andreadakis | Random position cipher encryption using an aperiodic pseudo-random number generator |
-
2021
- 2021-10-15 CN CN202111202996.0A patent/CN113965315B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003104969A2 (en) * | 2002-06-06 | 2003-12-18 | Cryptico A/S | Method for improving unpredictability of output of pseudo-random number generators |
CN105228157A (zh) * | 2015-09-16 | 2016-01-06 | 华东师范大学 | 一种无线传感器网络安全轻量重编程方法 |
CN108664234A (zh) * | 2018-01-17 | 2018-10-16 | 北京智芯微电子科技有限公司 | 真随机数发生器 |
US11146387B1 (en) * | 2020-08-04 | 2021-10-12 | Panagiotis Andreadakis | Random position cipher encryption using an aperiodic pseudo-random number generator |
Non-Patent Citations (2)
Title |
---|
DAOJING HE, QI QIAO, YUN GAO等: "Instrusion detection based on stacked autoencoder for connected healthcare system", IEEE NETWORK, vol. 33, no. 6 * |
潘晓英;: "基于线性反馈移位寄存器和分组密码的伪随机数生成方法", 通信技术, no. 02 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115051798A (zh) * | 2022-06-10 | 2022-09-13 | 北京海泰方圆科技股份有限公司 | 一种随机数生成方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113965315B (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4871944B2 (ja) | 乱数列の反復周期を延長するよう構成された暗号システム | |
CN104270247B (zh) | 适用于量子密码系统的高效泛Hash函数认证方法 | |
US7921145B2 (en) | Extending a repetition period of a random sequence | |
Li et al. | A secure and efficient image encryption algorithm based on dna coding and spatiotemporal chaos. | |
CN110958112A (zh) | 密钥产生方法及系统、加密及解密方法、加密通信系统 | |
RU2504911C1 (ru) | Способ итеративного криптографического преобразования данных | |
Zhao et al. | Block cipher design: generalized single-use-algorithm based on chaos | |
US11997200B2 (en) | Generating unique cryptographic keys from a pool of random elements | |
ITGE20110091A1 (it) | Metodo di cifratura e decifratura | |
Mahboob et al. | A novel construction of substitution box based on polynomial mapped and finite field with image encryption application | |
US11095442B1 (en) | Generating unique cryptographic keys from a pool of random elements | |
CN113965315B (zh) | 一种轻量级密码学安全伪随机数生成器及伪随机数生成方法 | |
Verma et al. | 3D-Playfair cipher with additional bitwise operation | |
Acharya | Image encryption using a new chaos based encryption algorithm | |
Iovane et al. | An Information Fusion approach based on prime numbers coming from RSA algorithm and Fractals for secure coding | |
CA3174619A1 (en) | Methods and systems for compressed encryption | |
CN109902498B (zh) | 数据加密方法、数据解密方法及相应的装置和设备 | |
Elnoamy et al. | Enhanced image encryption using the hénon map, the lcg and the lorenz system | |
JP5207153B2 (ja) | 擬似乱数発生システム | |
CN110336667B (zh) | 一种基于伪随机序列控制的通信物理层加密通信方法及装置 | |
Wali et al. | Modified MASK algorithm for image encryption | |
Alshammari | Cryptanalysis of a bilateral-diffusion image encryption algorithm based on dynamical compound chaos | |
Li et al. | Chaotic image encryption schemes: a review | |
Pehlivanoğlu et al. | On the construction of low-latency 32× 32 binary mds matrices from ghadamard matrices | |
TW201528754A (zh) | 時間擾動混沌映射加密解密系統與方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |