随机数产生方法技术

技术编号:2830262 阅读:234 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及信息安全、通信、数字接口、计算机等领域中随机数的产生方法。本发明专利技术所要解决的技术问题是,提供一种能产生任意指定个数的0和非零数随机序列的随机数产生方法。本发明专利技术为解决上述技术问题所采用的技术方案是,随机数产生方法,包括以下步骤:a.产生第一随机序列,该序列的维数为n,包含指定个数为m的0;b.产生第二随机序列,该序列为在1至n范围内产生一个符合指定分布规律的n维随机序列;c.以第二随机序列中各分量为依据,调整第一随机序列中各分量的顺序;d.将调整后的第一随机序列作为随机数输出。本发明专利技术的有益效果是,随机数产生方法简单,产生速度快;产生的随机数每个样本均具备指定的特性。

【技术实现步骤摘要】

本专利技术涉及信息安全、通信、数字接口、计算机等领域中随机数的产生方法。
技术介绍
在信息安全领域,密钥的产生、密钥的交换、认证、加密和解密等都和随机数相关。在 通信领域,信号的调制和解调、信号的传输、信号的抗干扰、信号的捕获、信号的跟踪等也 必须使用随机数。在现代科技中,随机数的应用无处不在。一般以统计特性来描述随机数,随机数一般可以分为正态分布、均匀分布、指数分布等 。在信息安全、通信等领域,经常使用正态分布和均匀分布的随机数。在密码学、信息安全领域,随机数有如下用途会话密钥的产生鉴别方案中用来避免重放攻击每次使用不同的随机数 RSA密钥产生大素数的产生和测试 很多挑战-应答协议里的挑战因素在信息安全领域,安全不仅限于密钥的安全,也依赖于随机数的质量。 一般对随机数有 如下要求(1) 均匀分布在任何尺度上看其统计规律是均匀的,比如0、 l的平均各半,字节0 255的出现概率是 1/256,双字节0 65535的出现概率是l/65536等等。(2) 独立性无法推导或预测,也不能靠观察过去预知将来。由于对随机数有以上特征的要求,因此,随机数的产生方法的研究非常重要。 随机数的产生方法目前已经有很多种,包括一、 物理方法 一是放射性物质随机蜕变;二是电子管回路的热噪声,如可将热噪声源 ,装于计算机外部,按其噪声电压的大小表示不同的随机数。此法产生的随机性最好,但产 生过程复杂。二、 査随机数表法Rand Table (1955年由美国兰德公司编制,有随机数IOO万 个。随机数表中的数字具有均匀的随机性,没有周期性。使用时,可根据需要任取一段(横或竖)。如需20个,便可从中取(顺次)20个,需要几位取几位,随机数表无所谓位数, 不能四舍五入。三、 递推公式产生法由于第i + l个随机数是由第i个按一定公式推算出来的,故并非 真正的随机数。但满足a)有较好的随机、均匀性。b)周期长、重复性差。c)算法过程不退化(即不能反复出现某一常数。)d)算法可再现,速度快。这是目前最常用的方法,特别在通信领域和信息安全领域。典型的算法有线性同余法、线性移位法。比如m序列。四、 加密的方法使用密码学中已知的加密算法,以某个值(可以是其它方法产生的随机数或者本算法加密的结果)作为密钥,对另外的一个值进行加密运算(可以是其它方法或 者本算法加密的结果),使用解密的结果作为随机数使用。这种方法是密码学、信息安全领 域中常用的算法。以上几种方法,第一种可以产生真正的随机数,但是由于使用复杂, 一般很少使用,第 二种很少使用,第三种在信息安全、通信领域得到了广泛的使用。第四种方法在信息安全领 域得到了广泛的使用。以上的算法有一个共同的缺点,就是其产生的结果,只有其统计特性才满足某个要求, 对每个产生的随机数序列,要满足某个指定的特性一般无法作到。比如,在某些认证、密钥共享机制里,为了提高安全性,要求使用的随机数必须有指定个数的o或者非o数,目前的算法无法直接作到。比如使用m序列,也只能保证产生的序列在足够多样本的情况下才基本满 足0和1的个数相等,对于某个样本,根本做不到保证产生相等的0和1。
技术实现思路
本专利技术所要解决的技术问题是,提供一种能产生任意指定个数的O和非零数随机序列的 。本专利技术为解决上述技术问题所采用的技术方案是,,其特征在于,包括 以下步骤a、 产生第一随机序列,该序列的维数为n,包含指定个数为m的0,与指定个数为n-m的 非零数;b、 产生第二随机序列,该序列为在l至n范围内产生一个符合指定分布规律的n维随机序列;c、 以第二随机序列中各分量为依据,调整第一随机序列中各分量的顺序;d、 将调整后的第一随机序列作为随机数输出。本专利技术的有益效果是,简单,产生速度快;产生的随机数每个样本均具备指定的特性,而不仅仅是统计特性。 具体实施例方式在某些使用非对称方式进行认证、密钥协商或者密钥共享的场合,为了保证系统的安全 性,要求公钥必须具备的特性之一就是公钥向量的成员必须具备指定个数的O或者具备大于 指定个数的0。比如在目前广泛使用的数字接口的认证过程中,其公钥为一个40维的向量, 要求必须20个成员为0, 20个成员必须为1。并且其连续分配的公钥必须是随机的,否则对其 安全性会构成严重威胁。直接使用现有已知的随机数产生方式,均无法产生满足要求的随机 数。本专利技术可以产生满足上述要求的随机数,其实现主要分为以下3个部分(1) 确定随机数的维数以及随机数的特性,比如要求必须具备多少个O;(2) 按照指定的特性产生任意的一个序列,满足(1)的要求;(3) 产生一个在随机数维数范围内的均匀分布序列,以该序列中各分量为依据,调整 随机数中各分量的顺序。本专利技术可以产生两类随机序列指定O和l个数的伪随机序列以及指定O和非O个数的伪随 机序列。指定0和1个数的伪随机序列,即产生一个lXn维的向量,要求该向量中包含指定m ( m〈n)个数的O和n-m个的l,并且0和1的在该向量中的位置是随机的。以要求产生有3个0的1 X8维的随机数为例,产生方法如下(1) 首先确定产生向量的维数为8,以及指定的0的个数为3,同时确定0和1需要遵从何 种分布。比如正态分布、均匀分布、指数分布等。在信息安全领域, 一般需要均匀分布的随 机数。本方案以均匀分布为例进行说明,推而广之,对于其它分布也适用;(2) 产生3个0, 5个1,然后将其任意组合成一个1X8的向量。该向量为第一随机序列,其组合的方式可以将各分量按照顺序排列,也可以扰乱进行排列,对此没有特殊要求;设 定本步骤产生的随机序列为(n, r2, r3,……r8},其中r尸l; r2=l; r3=l; r4=l; r5=0;f6=0; r7=0; T8=l;(3) 在l至8范围内产生一个均匀分布的lX8维随机序列卜l,a2,a3……a8},该随机序 列为第二随机序列,其中&1=4;a2=5;a3=2;a4=6;a5=8;a6=l;a7=3; a8=7;(4) 将随机序列{al, a2, a3,……an}中各分量作为随机序列{rL r2, r3,……r8}的下标, 依次下标重新排列个分量在第一随机序列中的位置;调整后的第一随机序列为{r4, r5, r2, T6, rs, ri, r3, r了l;(5)调整后的第一随机序列为随机数{1, 0, 1, 0, 1, 1, 1, 0}。 另外,步骤(4)也可以用其它方法,变换第一随机序列中各分量的位置(4)将随机序列{al, a2, a3,……an}中各分量作为随机序列{rL r2, r3,……r8}的下标, 对第一随机序列中各分量进行交换,交换的方式可以是ri与rai互换位置(i=l, 2,……8) ;也可以采用其它的交换方式进行扰乱;以ri与i互换为例{n, r2, r3……rn} = {l, 1, 1, 1, 0, 0,0,1};{al, a2, a3……an} = {4, 5, 2, 6, 8, 1, 3, 7},进行8次互换过程如下:第l次互换,i==1;ri=1;al=4,rai=r4=l; n与r4位置互换得到{1, 1, 1, 1, 0, 0, 0, 1}第2次互换,i==2;r2=0;a2=5,rai=r5=0; r2本文档来自技高网
...

【技术保护点】
随机数产生方法,其特征在于,包括以下步骤:    a、产生第一随机序列,该序列的维数为n,包含指定个数为m的0,与指定个数为n-m的非零数;    b、产生第二随机序列,该序列为在1至n范围内产生一个符合指定分布规律的n维随机序列;    c、以第二随机序列中各分量为依据,调整第一随机序列中各分量的顺序;    d、将调整后的第一随机序列作为随机数输出。

【技术特征摘要】
1.随机数产生方法,其特征在于,包括以下步骤a、产生第一随机序列,该序列的维数为n,包含指定个数为m的0,与指定个数为n-m的非零数;b、产生第二随机序列,该序列...

【专利技术属性】
技术研发人员:刘冬梅刘贤洪
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:51[中国|四川]

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

1