用于生成伪随机数的方法、随机数生成器和计算机可读介质技术

技术编号:37412905 阅读:13 留言:0更新日期:2023-04-30 09:37
提供了一种用于生成伪随机数的方法。方法包括:由至少一个处理器接收初始状态和种子;由所述至少一个处理器执行至少一个状态转移计算周期;以及输出伪随机数序列。在所述至少一个状态转移计算周期的至少一个步骤中使用变量小数种子。在所述至少一个状态转移计算周期的前一步骤中计算所述变量小数种子。期的前一步骤中计算所述变量小数种子。期的前一步骤中计算所述变量小数种子。

【技术实现步骤摘要】
【国外来华专利技术】用于生成伪随机数的方法、随机数生成器和计算机可读介质


[0001]本专利技术涉及密码技术,更具体地,涉及一种用于生成伪随机数的方法、随机数生成器和计算机可读介质。

技术介绍

[0002]随机数和伪随机数的生成已经具有许多应用,包括密码学、安全通信协议和视频游戏。

技术实现思路

[0003]在一个方面,本公开提供了一种用于生成伪随机数的方法,包括:由至少一个处理器接收初始状态和种子;由所述至少一个处理器执行至少一个状态转移计算周期;以及输出伪随机数序列;其中,在所述至少一个状态转移计算周期的至少一个步骤中使用变量小数种子;以及在所述至少一个状态转移计算周期的前一步骤中计算所述变量小数种子。
[0004]可选地,执行至少一个状态转移计算周期包括在各个周期中执行状态转移计算的(N

1)个步骤,以获得N个状态和对应于所述N个状态的N个位数,其中N≤K,K是根据用于执行所述状态转移计算的状态转移函数的状态的最大可能数量,N是大于等于2的整数,K是大于等于2的整数。
[0005]可选地,在各个周期的第(n

1)步骤结束时,计算值U(n),1<n≤(N

1);U(n)的整数部分被指定为第n状态S(n);U(n)的小数部分被指定为第n变量小数种子frac(n);其中,在各个周期的第n步骤中,S(n)用作所述第n步骤的初始状态,并且frac(n)用作所述第n步骤的初始变量小数种子,用于计算值U(n)。
[0006]可选地,使用被表示为下式的状态转移函数来执行状态转移计算:
[0007][0008]其中,S(n

1)代表第(n

1)状态;B
|S(n

1)|
是对应于S(n

1)的位数,并且具有0或1的值;r代表非变量小数种子;frac(n

1)代表从第(n

1)步骤获得的变量小数种子;U(n)的整数部分被指定为第n状态S(n);以及U(n)的小数部分被指定为从第n步骤获得的第n变量小数种子frac(n)。
[0009]可选地,执行至少一个状态转移计算周期包括执行M个状态转移计算周期,M是大于等于1的整数。
[0010]可选地,在第m周期中,在所述第m周期的最后步骤中获得V(m)的值,1≤m<M;V(m)的整数部分被指定为第m状态S(m);V(m)的小数部分被指定为第m变量小数种子frac(m);其中,在第(m+1)周期中,S(m)用作所述第(m+1)周期的初始状态,并且frac(m)用作所述第(m+1)周期的初始变量小数种子。
[0011]可选地,在第一状态转移计算周期的第一步骤中,在没有输入变量小数种子的情
况下执行状态转移计算。
[0012]可选地,所述方法还包括由至少一个处理器接收要输出的所述伪随机数序列中的伪随机数的总数。
[0013]可选地,每个周期包括状态转移函数计算的(N

1)个步骤,以生成N个状态和N个随机数;M等于所述序列中的伪随机数的总数除以N。
[0014]可选地,所述伪随机数序列包括M*N个位数。
[0015]可选地,所述伪随机数序列包括M*N个状态。
[0016]在另一方面,本公开提供了一种随机数生成器,包括:存储器;一个或多个处理器;其中,所述存储器和所述一个或多个处理器彼此连接;以及所述存储器存储计算机可执行指令以控制所述一个或多个处理器执行以下操作:接收初始状态和种子;执行至少一个状态转移计算周期;以及输出伪随机数序列;其中,在所述至少一个状态转移计算周期的至少一个步骤中使用变量小数种子;以及在所述至少一个状态转移计算周期的前一步骤中计算所述变量小数种子。
[0017]可选地,为了执行至少一个状态转移计算周期,所述存储器存储计算机可执行指令以控制所述一个或多个处理器在各个周期中执行状态转移计算的(N

1)个步骤,以获得N个状态和对应于所述N个状态的N个位数,其中N≤K,K是根据用于执行所述状态转移计算的状态转移函数的状态的最大可能数量,N是大于等于2的整数,K是大于等于2的整数。
[0018]可选地,在各个周期的第(n

1)步骤结束时,计算值U(n),1<n≤(N

1);U(n)的整数部分被指定为第n状态S(n);U(n)的小数部分被指定为第n变量小数种子frac(n);其中,在各个周期的第n步骤中,S(n)用作所述第n步骤的初始状态,并且frac(n)用作所述第n步骤的初始变量小数种子,用于计算值U(n)。
[0019]可选地,使用被表示为下式的状态转移函数来执行状态转移计算:
[0020][0021]其中,S(n

1)代表第(n

1)状态;B
|S(n

1)|
是对应于S(n

1)的位数,并且具有0或1的值;r代表非变量小数种子;frac(n

1)代表从第(n

1)步骤获得的变量小数种子;U(n)的整数部分被指定为第n状态S(n);以及U(n)的小数部分被指定为从第n步骤获得的第n变量小数种子frac(n)。
[0022]可选地,所述存储器存储计算机可执行指令以控制所述一个或多个处理器执行M个状态转移计算周期,M是大于等于1的整数。
[0023]可选地,在第m周期中,在所述第m周期的最后步骤中获得V(m)的值,1≤m<M;V(m)的整数部分被指定为第m状态S(m);V(m)的小数部分被指定为第m变量小数种子frac(m);其中,在第(m+1)周期中,S(m)用作所述第(m+1)周期的初始状态,并且frac(m)用作所述第(m+1)周期的初始变量小数种子。
[0024]可选地,在第一状态转移计算周期的第一步骤中,在没有输入变量小数种子的情况下执行状态转移计算。
[0025]可选地,所述存储器存储计算机可执行指令以控制所述一个或多个处理器接收要输出的所述伪随机数序列中的伪随机数的总数。
[0026]可选地,每个周期包括状态转移函数计算的(N

1)个步骤,以生成N个状态和N个随机数;M等于所述序列中的伪随机数的总数除以N。
[0027]可选地,所述伪随机数序列包括M*N个位数。
[0028]可选地,所述伪随机数序列包括M*N个状态。
[0029]在另一方面,本公开提供了一种其上具有计算机可读指令的计算机可读介质,所述计算机可读指令可由处理器执行以使所述处理器执行:由至少一个处理器接收初始状态和种子;由所述至少一个处理器执行至少一个状态转移计算周期;以及输出伪随机数序列;其中,在所述至少一个状态转移计算周期的至少一个步骤中使用变量小数种子;以及在所述至少一个状态转移计算周期的前一步骤中计算所述变量小数种子。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于生成伪随机数的方法,包括:由至少一个处理器接收初始状态和种子;由所述至少一个处理器执行至少一个状态转移计算周期;以及输出伪随机数序列;其中,在所述至少一个状态转移计算周期的至少一个步骤中使用变量小数种子;以及在所述至少一个状态转移计算周期的前一步骤中计算所述变量小数种子。2.根据权利要求1所述的方法,其中,执行至少一个状态转移计算周期包括在各个周期中执行状态转移计算的(N

1)个步骤,以获得N个状态和对应于所述N个状态的N个位数,其中N≤K,K是根据用于执行所述状态转移计算的状态转移函数的状态的最大可能数量,N是大于等于2的整数,K是大于等于2的整数。3.根据权利要求2所述的方法,其中,在各个周期的第(n

1)步骤结束时,计算值U(n),1<n≤(N

1);U(n)的整数部分被指定为第n状态S(n);U(n)的小数部分被指定为第n变量小数种子frac(n);其中,在各个周期的第n步骤中,S(n)用作所述第n步骤的初始状态,并且frac(n)用作所述第n步骤的初始变量小数种子,用于计算值U(n)。4.根据权利要求1至3中任一项所述的方法,其中,使用被表示为下式的状态转移函数来执行状态转移计算:其中,S(n

1)代表第(n

1)状态;B
|S(n

1)|
是对应于S(n

1)的位数,并且具有0或1的值;r代表非变量小数种子;frac(n

1)代表从第(n

1)步骤获得的变量小数种子;U(n)的整数部分被指定为第n状态S(n);以及U(n)的小数部分被指定为从第n步骤获得的第n变量小数种子frac(n)。5.根据权利要求1至4中任一项所述的方法,其中,执行至少一个状态转移计算周期包括执行M个状态转移计算周期,M是大于等于1的整数。6.根据权利要求5所述的方法,其中,在第m周期中,在所述第m周期的最后步骤中获得V(m)的值,1≤m<M;V(m)的整数部分被指定为第m状态S(m);V(m)的小数部分被指定为第m变量小数种子frac(m);其中,在第(m+1)周期中,S(m)用作所述第(m+1)周期的初始状态,并且frac(m)用作所述第(m+1)周期的初始变量小数种子。7.根据权利要求5或6所述的方法,其中,在第一状态转移计算周期的第一步骤中,在没有输入变量小数种子的情况下执行状态转移计算。8.根据权利要求5至7中任一项所述的方法,还包括由至少一个处理器接收要输出的所述伪随机数序列中的伪随机数的总数。9.根据权利要求5至8中任一项所述的方法,其中,每个周期包括状态转移函数计算的(N

1)个步骤,以生成N个状态和N个随机数;
M等于所述序列中的伪随机数的总数除以N。10.根据权利要求9所述的方法,其中,所述伪随机数序列包括M*N个位数。11.根据权利要求9所述的方法,其中,所述伪随机数序列包括M*N个状态。12.一种随机数生成器,包括:存储器;一个或多个处理器;其中,所述存储器和所述一个或多个处理器彼此连接;以及所述存储器存储计算机可执行指令以控制所述一个或多个处理器执行以下操作:接收初始状态和种子;执行至少一个状态转移计算周期;以及输出伪随机数序列;其中,在所述至少一个状态转移计算周期的至少一个步骤中使用变量小数种子;以及在所述至少一个状态转移计算周期的...

【专利技术属性】
技术研发人员:魏祥野王志良
申请(专利权)人:北京京东方技术开发有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1