CN1832396A - 一种伪随机数生成方法 - Google Patents

一种伪随机数生成方法 Download PDF

Info

Publication number
CN1832396A
CN1832396A CN 200510115602 CN200510115602A CN1832396A CN 1832396 A CN1832396 A CN 1832396A CN 200510115602 CN200510115602 CN 200510115602 CN 200510115602 A CN200510115602 A CN 200510115602A CN 1832396 A CN1832396 A CN 1832396A
Authority
CN
China
Prior art keywords
random number
pseudo
xor
register
obtains
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
Application number
CN 200510115602
Other languages
English (en)
Other versions
CN100583754C (zh
Inventor
谭示崇
王育民
詹阳
姜正涛
田海博
范欣欣
袁素春
于松亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
BEIJING PUAODE DITIAL TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING PUAODE DITIAL TECHNOLOGY Co Ltd filed Critical BEIJING PUAODE DITIAL TECHNOLOGY Co Ltd
Priority to CN200510115602A priority Critical patent/CN100583754C/zh
Publication of CN1832396A publication Critical patent/CN1832396A/zh
Application granted granted Critical
Publication of CN100583754C publication Critical patent/CN100583754C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种伪随机数生成方法,步骤包括:对第一寄存器中的第一随机数用对应加密算法进行加密,得到的密文与第一随机数进行异或,得到第一异或结果;将第一异或结果与第二寄存器中的第二随机数进行异或,得到第二异或结果;将第二异或结果用对应加密算法进行加密,得到的密文与第二异或结果进行异或,得到伪随机数。本发明在没有外部即时输入的情况下,可以产生良好密码性质的伪随机数,并且可以在产生一个伪随机数后对两个寄存器中存储的随机数种子进行更新,保证了每次产生伪随机数的随机性。

Description

一种伪随机数生成方法
技术领域
本发明涉及一种信息安全技术,尤其涉及一种为密码系统生成伪随机数的方法。
背景技术
随机数在许多网络安全应用中扮演着重要的角色。基于密码学的大量网络安全算法都使用了随机数,例如,(1)、在认证方案中的密钥分配,用临时交互号来作为握手信息之一,以阻止重复攻击;(2)、会话密钥产生,可由密钥分配中心或者由委托方产生;(3)、公钥加密算法中密钥的产生,等等。
在相互认证或者会话密钥生成之类的应用中,对随机数的统计随机性的要求并不很高,但是要求产生的随机数序列是不可预测的。所谓的“真随机数序列”,是各个数之间的统计独立性而使序列不可预测。不过,真正的随机数序列很少用,一般的随机数序列是由算法产生的,只要敌手不能够从先前的随机数推导出后面的随机数就行了,这样的数一般称为伪随机数。
随机数生成器已经嵌入在大多数编译器中了,产生随机数仅仅是函数调用而已。计算机不可能产生完全随机的数字,所谓的随机数发生器都是通过一定的算法对事先选定的若干个随机种子做复杂的运算,用产生的结果来近似的模拟完全随机数,这种随机数就是伪随机数。伪随机数是以相同的概率从一组有限的数字中选取的。所选数字并不具有完全的随机性,但是从实用的角度而言,其随机程度已足够了。
随机数的应用对随机数的产生提出了两个不同的要求:随机性和不可预测性。
随机序列应该具有良好的统计特性。其评价标准是:(1)、分布一致性:序列中的随机数的分布应该是一致的,即出现的频率大约相等;(2)、独立性:序列中的任何数都不能由其它数导出。对随机序列的分布一致性已经有较好的测试方法。但是,尽管有许多测试方法可以用于表明一个序列的独立性不好,还没有某种方法可以表明一个序列的独立性好。通常的策略是多进行一些测试,直到可认为它的独立性是足够强的。密码算法大量使用了这种“似乎随机”的随机数序列,即伪随机数序列。
发明内容
本发明提供了一种伪随机数生成方法,可以在没有外部即时输入的情况下,产生具有良好密码性质的伪随机数。
本发明所述的伪随机数的生成方法,包括如下步骤:
步骤一,对第一寄存器中的第一随机数用对应加密算法进行加密,得到的密文与第一随机数进行异或,得到第一异或结果;
步骤二,将第一异或结果与第二寄存器中的第二随机数进行异或,得到第二异或结果;
步骤三,将第二异或结果用对应加密算法进行加密,得到的密文与第二异或结果进行异或,得到伪随机数。
上述方法中,采用与寄存器所存储的特定比特的随机数相配合的加密算法。
本发明还提供了一种对第一寄存器中第一随机数的更新方法,即将上述生成伪随机数方法中的第一异或结果反馈回第一寄存器中对第一随机数进行更新。
本发明还提供了一种第二寄存器中第二随机数的更新方法,其步骤如下:
步骤201,将得到的伪随机数与第二随机数进行异或,得到第三异或结果;
步骤202,对第三异或结果用对应算法进行加密,得到的密文与第三异或结果进行异或,得到第四异或结果;
步骤203,将第四异或结果反馈回第二寄存器中对第二随机数进行更新。
由上述技术方案可以看出,在两个寄存器中分别存入随机数种子后,在没有外部即时输入的情况下,就可以根据本发明所述的方法产生伪随机数,并且可以在产生一个伪随机数后对两个寄存器中存储的随机数种子进行更新,保证了每次产生伪随机数的随机性。
附图说明
图1为本发明所述的伪随机数生成方法流程图;
图2为本发明所述的伪随机数生成方法中寄存器T中的随机数种子更新方法流程图;
图3为本发明所述的伪随机数生成方法中寄存器V中的随机数种子更新方法流程图。
具体实施方式
下面结合说明书附图对本发明所述的技术方案做进一步说明。
以本发明中使用128比特的寄存器存储随机数为例,基于上述128比特的寄存器,使用AES算法,该算法中的密钥长度为128比特。
上述128比特的密钥以及128比特的寄存器中存储的随机数种子应该从具有不可预测性的物理随机源获得,并且预先存入相应的寄存器。
对于伪随机数的生成方法,包括了伪随机数的产生和对两个寄存器中随机数种子的更新过程,当每生成一个伪随机数,寄存器中的随机数种子就会自动进行更新,这保证了生成的伪随机数的随机性。
为便于说明本发明,下面对伪随机数的生成过程和寄存器中的随机数种子的更新过程分别加以说明,在伪随机数的实际生成过程中,伪随机数的生成与寄存器中的随机数种子的更新是作为一个任务完成的。
如说明书附图1所示,伪随机数生成方法包括如下步骤:
步骤101,在寄存器T、V中分别存入128比特的随机数种子To、Vo;
步骤102,利用长度为128比特的密钥K1,采用AES算法对随机数种子To进行加密计算,得到的密文与To异或,得到结果Xi;
步骤103,将上述结果Xi与随机数种子Vo进行异或,得到结果Yi;
步骤104,利用长度为128比特的密钥K2,采用AES算法对Yi进行加密计算,得到的密文与Yi进行异或,得到伪随机数Ri。
对于上述方法中使用的随机数种子To、Vo,应该在每次输出伪随机数后进行更新,其更新方法如下:
如说明书附图2所示,对寄存器T中的随机数种子To进行更新的方法,包括如下步骤:
步骤201,在寄存器T中存入128比特的随机数种子To;
步骤202,利用长度为128比特的密钥K1,采用AES算法对随机数种子To进行加密计算,得到的密文与To异或,得到结果Xi;
步骤203,将上述结果Xi反馈回寄存器T中对随机数种子To进行更新。
对于上述对寄存器T中的随机数种子To进行更新的过程,是在前述伪随机数生成方法中的步骤102之后完成的。
如说明书附图3所示,对寄存器V中的随机数种子Vo进行更新的方法需要使用当次运算输出的伪随机数Ri,具体包括如下步骤:
步骤301,将输出的伪随机数Ri与寄存器V中的随机数种子Vo进行异或,得到结果Zi;
步骤302,利用长度为128比特的密钥K3,采用AES算法对上述Zi进行加密计算,得到的密文与Zi异或,得到结果Oi;
步骤303,将上述结果Oi反馈回寄存器V中对随机数种子Vo进行更新。
对于上述对寄存器V中的随机数种子Vo进行更新的过程,是在前述伪随机数生成方法中的步骤104之后完成的。
由此可见,每次产生了伪随机数之后,都会对寄存器中的随机数种子进行更新,因此,随机数种子在前后两次生成伪随机数的过程中始终是不相同的,这也保证了生成伪随机数的不同。
在采用上述AES算法产生伪随机数的方法中,若用户需要的伪随机数为256比特,则先产生两个128比特的伪随机数,然后,将这两个伪随机数串接起来,满足用户需求;若用户需要的伪随机数为192比特,则在将两个伪随机数串接起来后,丢弃高位的64比特,也可以丢弃低位的64比特,就可以得到192比特的伪随机数。
本发明中,可以使用其他密钥长度的加密算法,如采用DES加密算法,该算法采用64比特的工作密钥,可以产生64比特的伪随机数。当然,与前述使用AES算法获得192比特或256比特伪随机数的方法一样,采用DES加密算法也可以获得一些用户实际需要的特定比特的伪随机数。

Claims (7)

1.一种伪随机数生成方法,其特征在于,方法包括如下步骤:
步骤一,对第一寄存器中的第一随机数用对应加密算法进行加密,得到的密文与第一随机数进行异或,得到第一异或结果;
步骤二,将第一异或结果与第二寄存器中的第二随机数进行异或,得到第二异或结果;
步骤三,将第二异或结果用对应加密算法进行加密,得到的密文与第二异或结果进行异或,得到伪随机数。
2.如权利要求1所述的伪随机数生成方法,其特征在于,所述加密算法与寄存器中的随机数相对应。
3.如权利要求1所述的伪随机数生成方法,其特征在于,所述第一随机数与第二随机数为相同比特。
4.如权利要求1或3所述的伪随机数生成方法,其特征在于,所述的随机数为128比特。
5.如权利要求4所述的伪随机数生成方法,其特征在于,所述加密算法为AES加密算法。
6.如权利要求1所述的伪随机数生成方法,其特征在于,对第一随机数进行更新的方法进一步包括:
将第一异或结果反馈回第一寄存器中对第一随机数进行更新。
7.如权利要求1所述的伪随机数生成方法,其特征在于,对第二随机数进行更新的方法进一步包括:
步骤201,将得到的伪随机数与第二随机数进行异或,得到第三异或结果;
步骤202,对第三异或结果用对应算法进行加密,得到的密文与第三异或结果进行异或,得到第四异或结果;
步骤203,将第四异或结果反馈回第二寄存器中对第二随机数进行更新。
CN200510115602A 2005-11-07 2005-11-07 一种伪随机数生成方法 Expired - Fee Related CN100583754C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200510115602A CN100583754C (zh) 2005-11-07 2005-11-07 一种伪随机数生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200510115602A CN100583754C (zh) 2005-11-07 2005-11-07 一种伪随机数生成方法

Publications (2)

Publication Number Publication Date
CN1832396A true CN1832396A (zh) 2006-09-13
CN100583754C CN100583754C (zh) 2010-01-20

Family

ID=36994421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510115602A Expired - Fee Related CN100583754C (zh) 2005-11-07 2005-11-07 一种伪随机数生成方法

Country Status (1)

Country Link
CN (1) CN100583754C (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092566A (zh) * 2011-11-07 2013-05-08 国民技术股份有限公司 伪随机数种子、伪随机数生成的方法和装置
CN103825727A (zh) * 2012-11-19 2014-05-28 厦门雅迅网络股份有限公司 一种随机密钥的生成方法
CN105681036A (zh) * 2016-03-10 2016-06-15 上汽通用汽车有限公司 一种获取密钥的方法和装置
CN105763327A (zh) * 2014-12-16 2016-07-13 上海华虹集成电路有限责任公司 智能卡中安全的随机数产生方法
CN107017981A (zh) * 2015-12-07 2017-08-04 波音公司 硬件辅助快速伪随机数生成
CN107133015A (zh) * 2017-04-11 2017-09-05 上海汇尔通信息技术有限公司 一种随机数生成方法及系统
WO2019080109A1 (zh) * 2017-10-27 2019-05-02 福建联迪商用设备有限公司 一种终端随机数发生的方法及系统
CN115714644A (zh) * 2022-10-31 2023-02-24 北京海泰方圆科技股份有限公司 一种随机数生成方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4667301A (en) * 1983-06-13 1987-05-19 Control Data Corporation Generator for pseudo-random numbers
US4791594A (en) * 1986-03-28 1988-12-13 Technology Inc. 64 Random-access psuedo random number generator
US4928310A (en) * 1989-07-17 1990-05-22 Westinghouse Electric Corp. Pseudorandom pulse code generators using electro-optical XOR gates

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092566A (zh) * 2011-11-07 2013-05-08 国民技术股份有限公司 伪随机数种子、伪随机数生成的方法和装置
CN103092566B (zh) * 2011-11-07 2016-08-24 国民技术股份有限公司 伪随机数种子、伪随机数生成的方法和装置
CN103825727A (zh) * 2012-11-19 2014-05-28 厦门雅迅网络股份有限公司 一种随机密钥的生成方法
CN105763327A (zh) * 2014-12-16 2016-07-13 上海华虹集成电路有限责任公司 智能卡中安全的随机数产生方法
CN107017981A (zh) * 2015-12-07 2017-08-04 波音公司 硬件辅助快速伪随机数生成
CN105681036A (zh) * 2016-03-10 2016-06-15 上汽通用汽车有限公司 一种获取密钥的方法和装置
CN105681036B (zh) * 2016-03-10 2018-12-04 上汽通用汽车有限公司 一种获取密钥的方法和装置
CN107133015A (zh) * 2017-04-11 2017-09-05 上海汇尔通信息技术有限公司 一种随机数生成方法及系统
WO2019080109A1 (zh) * 2017-10-27 2019-05-02 福建联迪商用设备有限公司 一种终端随机数发生的方法及系统
CN115714644A (zh) * 2022-10-31 2023-02-24 北京海泰方圆科技股份有限公司 一种随机数生成方法及装置
CN115714644B (zh) * 2022-10-31 2023-08-15 北京海泰方圆科技股份有限公司 一种随机数生成方法及装置

Also Published As

Publication number Publication date
CN100583754C (zh) 2010-01-20

Similar Documents

Publication Publication Date Title
CN1832396A (zh) 一种伪随机数生成方法
Asharov et al. More efficient oblivious transfer and extensions for faster secure computation
CN107274159B (zh) 一种基于区块并发执行算法的记账系统及方法
US11042664B2 (en) Efficient implementation for differential privacy using cryptographic functions
US8320557B2 (en) Cryptographic system including a mixed radix number generator with chosen statistical artifacts
US6275586B1 (en) Cryptographically secure pseudo random number generator
Chen et al. A modified chaos-based joint compression and encryption scheme
US7856102B2 (en) Methods and apparatus for providing a message authentication code using a pipeline
US6961426B2 (en) Cascaded stream cipher
US20110033043A1 (en) Table masking for resistance to power analysis attacks
US20070189527A1 (en) Elliptic curve random number generation
EP1394674A2 (en) System and method for generating initial vectors
EP1583278A1 (en) Stream Cipher Design with Revolving Buffers
CN101034978A (zh) 用于密码过程的表分裂
CN113254955A (zh) 前向安全的连接关键词对称可搜索加密方法、系统及应用
CN1413398A (zh) 防止通过分析无意旁生信道信号来提取数据的数据处理方法
CN111597574A (zh) 一种基于空间扩散结构的并行图像加密系统及方法
Matsumoto et al. Common defects in initialization of pseudorandom number generators
AL-khatib et al. Acoustic lightweight pseudo random number generator based on cryptographically secure LFSR
CN113938691A (zh) 一种加密图像可逆信息隐藏方法
Cortez et al. Cryptographic randomness test of the modified hashing function of SHA256 to address length extension attack
Oppermann et al. Secure cloud computing: communication protocol for multithreaded fully homomorphic encryption for remote data processing
Abutaha et al. Design of a pseudo-chaotic number generator as a random number generator
WO2018108271A1 (en) A method for providing information to be stored and a method for providing a proof of retrievability
Zuo et al. Searchable encryption for conjunctive queries with extended forward and backward privacy

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SICHUAN CHANGHONG ELECTRIC CO., LTD.

Free format text: FORMER OWNER: BEIJING POWER DIGITAL TECHLABS CO., LTD.

Effective date: 20100609

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100016 ROOM AE26-28, 2/F, BUILDING 51, NO.14, JIUXIANQIAO ROAD, CHAOYANG DISTRICT, BEIJING TO: 621000 NO.35, MIANXING EAST ROAD, MIANYANG CITY HIGH-TECH ZONE, SICHUAN PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20100609

Address after: 621000 Mianyang province high tech Zone, East Hing Road, No. 35 cotton

Patentee after: SICHUAN CHANGHONG ELECTRIC Co.,Ltd.

Address before: 100016, room two, building 51, building 14, Jiuxianqiao Road, Chaoyang District, Beijing,

Patentee before: BEIJING PUAODE DIGITAL TECHNOLOGY CO.,LTD.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100120

Termination date: 20211107