随机数生成装置、随机数生成方法以及程序制造方法及图纸

技术编号:16307940 阅读:75 留言:0更新日期:2017-09-27 01:52
随机数获取单元(15)得到将以二进制数表示的随机数的各位的值包含于要素的第一列。逻辑与运算单元(16)得到该第一列和将以二进制数表示的单个或者多个梅森数的各位的值以及零值包含于要素的第二列之间的要素单位的逻辑与运算结果、即第三列。

Random number generation apparatus, random number generation method, and program

The random number acquisition unit (15) obtains the values of the random numbers represented by binary numbers that are included in the first column of the element. Logic and arithmetic unit (16) are logical and operation results, the unit elements between the second column of the first row and with single or multiple binary number representation of the Mason number you value and zero is contained in the elements of the third column.

【技术实现步骤摘要】
【国外来华专利技术】随机数生成装置、随机数生成方法以及程序
本专利技术涉及随机数生成技术,特别涉及生成属于规定的集合的随机数的技术。
技术介绍
存在生成n个随机比特,对与将该n个随机比特设为各位的值的二进制数表示值对应的十进制数表示值a和p-1进行大小判定,若a>p-1则重新进行处理,否则采用a作为随机数的随机数生成方法(例如参照非专利文献1)。若将p设为素数,则可以生成素域上的随机数。[现有技术文献][非专利文献][非专利文献1]:ヨハネスブーフマン、「暗号理論入門―暗号アルゴリズム、署名と認証、その数学的基礎」、シュプリンガー·フェアラーク東京、2001年7月、P114.
技术实现思路
专利技术要解决的课题在上述的方法中,在对于n以二进制数表示p时的要素数小时,随机数的生成概率极度下降,导致随机数的生成速度下降。本专利技术的课题在于,高速地生成属于规定的集合的随机数。用于解决课题的方案得到将以二进制数表示的随机数的各位的值包含于要素的第一列,得到该第一列和将以二进制数表示的单个或者多个梅森数的各位的值以及零值包含于要素的第二列之间的要素单位的逻辑与运算结果、即第三列。专利技术效果由此,能够高速地生成属于规定的集合的随机数。附图说明图1是例示了实施方式的随机数生成装置的功能结构的框图。图2A是例示了实施方式的随机数生成方法的流程图。图2B是例示了等号判定处理的流程图。图3A~图3C是例示了实施方式的第一~三列的图。具体实施方式以下,说明本专利技术的实施方式。[概要]在实施方式中,如以下那样生成属于规定的集合的随机数。首先,得到将以二进制数表示的随机数(二进制随机数)的各位的值包含于要素的“第一列”(随机数获取步骤)。该随机数可以是均匀随机数,也可以不是均匀随机数。再者,“随机数”的概念包含真随机数及伪随机数。随机数可以预先生成,也可以在得到“第一列”时生成。“第一列”可以仅将以二进制数表示的随机数的各位的值作为要素,也可以进一步包含除此以外的要素。接着,得到“第一列”和“第二列”的要素单位的逻辑与运算结果(各要素的与(AND)运算结果,例如比特与运算结果)、即“第三列”(逻辑与运算步骤)。其中,“第二列”是将以二进制数表示的单个或者多个梅森数pi(其中,i=0、…、N-1,N是1以上的整数)的各位的值以及零值包含于要素的列。“第二列”的要素数例如与“第一列”的要素数相同。“第二列”可以仅将梅森数pi的各位的值以及零值作为要素,也可以进一步包含除此以外的要素(例如固定值、属性信息等)。梅森数pi是满足2n(i)-1的整数,以二进制数表示的梅森数pi是由n(i)个1构成的列1…1。其中,n(i)是特定的正整数。pi的一个例子是梅森素数,例如在n(i)=2、3、5、7、13、17、19、31、61等时pi成为梅森素数。“第三列”是用“第二列”对“第一列”进行掩盖后的列,是包含以二进制数表示的位数为n(i)的随机数ti的列。这样的随机数ti能够处理为以梅森数pi为模的剩余环(剩余类)上的随机数。特别地,若pi是梅森素数,则随机数ti能够处理为以梅森素数pi为模的剩余域(素域)上的随机数。在以pi为模的剩余环上,pi=2n(i)-1和0是相同的值(2n(i)-1mod(2n(i)-1)=0),“第三列”所包含的N个随机数ti(其中,i=0、…、N-1)“必定”可以处理为以pi为模的剩余环上的随机数。因此,与随机数的生成概率因环境而下降的现有技术相比,能够高速地生成剩余环上的随机数。但是,在以pi为模的剩余环中pi和0被处理为相同的值(0是pi的等价类),所以随机数ti不限于成为均匀随机数。即,在“第一列”所表示的随机数是均匀随机数的情况下,ti成为0、1、…、pi的概率分别为1/2n(i),ti成为pi或者0的概率为1/2n(i)-1。因此,在上述剩余环上,0的生成概率(换言之,pi的生成概率)为1/2n(i)-1,其他随机数的生成概率为1/2n(i)。为了得到剩余环上的均匀随机数,在成为了ti=pi的情况下,废弃所生成的随机数,并重新进行随机数获取步骤及逻辑与运算步骤即可。换言之,“第一列”包含“第一子列”,“第二列”所包含的“第二子列”表示任意的梅森数pi,“第三列”包含“第一子列”和“第二子列”的要素单位的逻辑与运算结果、即“第三子列”,在“第二子列”和“第三子列”一致的情况下再次执行随机数获取步骤及逻辑与运算步骤的处理即可。在上述结构中,成为ti=pi的概率(“第二子列”和“第三子列”一致的概率)也是1/2n(i)-1左右,能够高速地生成剩余环上的均匀随机数。或者,也可以在成为ti=0的情况下重新进行随机数获取步骤及逻辑与运算步骤。换言之,也可以在“第三子列”的要素由零构成的情况(“第三子列”为零向量的情况)下再次执行随机数获取步骤及逻辑与运算步骤的处理。由此,也能够高速地生成剩余环上的均匀随机数。此外,在将N设为2以上的整数、将“第二列”设为将以二进制数表示的多个梅森数pi的各位的值以及零值包含于要素的列的情况下,能够通过并行处理来生成多个剩余环上的随机数,能够更高速地生成随机数。以二进制数表示的梅森数pi的位数(比特长度)n(i)可以彼此相同,也可以不相同。在通过这样的并行处理来生成剩余环上的均匀随机数的情况下,也可以是,(1)通过集中等号判定,对i=0、…、N-1集中地进行是否成为ti=pi的判定,(2)通过这些等号判定结果xi(其中,i=0、…、N-1)的或运算或者与运算,对任意的i得到表示是否成为ti=pi的聚合判定结果x,(3)在聚合判定结果x对任意的i表示成为ti=pi的情况下重新进行随机数获取步骤及逻辑与运算步骤。换言之,也可以是,(1)通过集中等号判定来得到表示多个“第二子列”中的每个和多个“第三子列”中的每个是否一致的多个等号判定结果xi(其中,i=0、…、N-1)的每一个,(2)通过多个等号判定结果xi的或运算或者与运算来得到表示任意的“第二子列”和“第三子列”是否一致的聚合判定结果x,(3)在聚合判定结果x表示任意的“第二子列”和“第三子列”一致的情况下,再次执行随机数获取步骤及逻辑与运算步骤的处理。其中,“第一列”包含多个“第一子列”,“第二列”所包含的多个“第二子列”的每一个表示多个梅森数pi的各位的值,“第三列”包含多个“第三子列”,多个“第三子列”的每个是多个“第一子列”中的每个和多个“第二子列”中的每个的要素单位的逻辑与运算结果ti。这里,集中等号判定、或运算、与运算的运算量较小。此外,如上述,成为ti=pi的概率是1/2n(i)-1左右,对任意的i,成为ti=pi的可能性小。因此,能够更高速地生成剩余环上的均匀随机数。或者,也可以是,(4)通过集中等号判定,对i=0、…、N-1集中地进行是否成为ti=0的判定,(5)通过这些等号判定结果xi(其中,i=0、…、N-1)的或运算或者与运算,对任意的i得到表示是否成为ti=0的聚合判定结果x,(6)在聚合判定结果x对任意的i表示成为ti=0的情况下重新进行随机数获取步骤及逻辑与运算步骤。换言之,也可以是,(4)通过集中等号判定来得到表示多个“第三子列”的每个的要素是否由零构成的多个等号判定结果xi(其中,i=0、…、N-1)的每一个,(5)通过多个等本文档来自技高网...
随机数生成装置、随机数生成方法以及程序

【技术保护点】
一种随机数生成装置,具有:随机数获取单元,得到将以二进制数表示的随机数的各位的值包含于要素的第一列;以及逻辑与运算单元,得到所述第一列和将以二进制数表示的单个或者多个梅森数的各位的值以及零值包含于要素的第二列之间的要素单位的逻辑与运算结果、即第三列。

【技术特征摘要】
【国外来华专利技术】2015.01.14 JP 2015-0048861.一种随机数生成装置,具有:随机数获取单元,得到将以二进制数表示的随机数的各位的值包含于要素的第一列;以及逻辑与运算单元,得到所述第一列和将以二进制数表示的单个或者多个梅森数的各位的值以及零值包含于要素的第二列之间的要素单位的逻辑与运算结果、即第三列。2.如权利要求1所述的随机数生成装置,所述第一列包含第一子列,所述第二列所包含的第二子列表示任意的所述梅森数,所述第三列包含所述第一子列和所述第二子列的要素单位的逻辑与运算结果、即第三子列,在所述第二子列和所述第三子列一致的情况下再次执行所述随机数获取单元及所述逻辑与运算单元的处理。3.如权利要求1所述的随机数生成装置,所述第一列包含第一子列,所述第二列所包含的第二子列表示任意的所述梅森数,所述第三列包含所述第一子列和所述第二子列的要素单位的逻辑与运算结果、即第三子列,在所述第三子列的要素由零构成的情况下再次执行所述随机数获取单元及所述逻辑与运算单元的处理。4.如权利要求1至3的任意一项所述的随机数生成装置,所述第二列包含所述多个梅森数的各位的值。5.如权利要求4所述的随机数生成装置,所述第一列包含多个第一子列,所述第二列所包含的多个第二子列的每一个表示所述多个梅森数的各位的值,所述第三列包含多个第三子列,所述多个第三子列分别是所述多个第一子列的每一个和所述多个第二子列的每一个之间的要素单位的逻辑与运算结果,所述随机数生成装置具有判定单元,该判定单元通过集中等号判定来得到表示所述多个第二子列的每一个和...

【专利技术属性】
技术研发人员:五十岚大
申请(专利权)人:日本电信电话株式会社
类型:发明
国别省市:日本,JP

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

1