随机数产生、管理方法及装置的制作方法

文档序号:8136182阅读:301来源:国知局
专利名称:随机数产生、管理方法及装置的制作方法
技术领域
本发明涉及一种随机数产生、管理方法及装置。
背景技术
既有产生像用于在计算机模拟时的短时间需要用大量的随机数的情况,也有产生 像用于认证识别的ID、口令(PW)的有限长(如128比特)的随机数的情况。尽管ID,PW需 要有较强的安全管理,但是实际上,还没有用装置来实现的有效的管理方法。储存着用户的 ID等信息的记忆媒体被遗失的报导,从不间断。用来做ID,PW的随机数数列的管理很困难,现状是保存在记忆媒体等的储存器中 而已。用户的ID等的信息在无加密状态下保存在记忆媒体中被遗失的情况,就说明了其管 理的难度。伪随机数是可以再生的。在计算机模拟时,需要用到同样的随机数时,只要保存着 产生此随机数的初始值,就能产生同样的随机数。也就是,我们可以看作为由管理产生此随 机数的初始值来管理此很长的随机数列。有一个能产生具有足够长的周期性的2进数列(r0 iy..iv..)(离散时间t = 0, 1,2,…)为前提,我们来考虑如下的ID,PW的产生、管理系统。由秘密地管理的一个初始 值和公开地管理的t来产生和管理ID,PW的系统。在需要的时候,给该系统输入初始值和 t,来产生所对应的ID或PW。但是,很明显,这样的方法在很大的t所对应的随机数列(ID, PW)的产生时所需要的时间将很长,有时(如t = 264)会使该系统失去作为实用系统的机 能。在另一方面,由于混沌函数所产生的数值系列具有其特殊的性质(非线性,初始 值敏感性,计算的一方向性等),被期待着有用于随机数产生。其中,有许多是对用logistic map (式1)(以下称作为LMAP)产生随机数,及对产生的数列进行的考察(例非专利文献 1-3)式1xt+1 = 4xt(l-xt)(0 < xt < 1,t = 0,1,2, )非专利文献1Ulam, S. M. and Von Neumann, J.,…On Combination of StocasticDetermistic Processes…,Bull. AMS.,Vol. 53,p. 1120(1947))在此文献中,提议用式1来产生随机数非专利文献2香田徹 緖方栄次,“OS 4試行i力才^〃,電子通信学会論文誌A,Vol. J68-A No. 2pp. 146-152(1985)在此文献中,显示了用式1且将阈值定为0. 5时所产生的2进数数列为良好的随机数列。
非专利文献3庄野克房,…力才7工 > 夕二 7 丨J >夕‘”,〉二 丨J >办一 7工了,一丨J東京,東
京,2002。在此文献中,作为利用式1来高速产生随机数的有效方法,提出了使用固定小数 点计算法来实现硬件化。混沌函数LMAP的计算具有一方向性,也就是从某一个初始值X(1开始,能逐个计算 出xt(t=l,2,…),而从计算出来的&却不能算出X(1。这是因为用2次函数LMAP的逆函 数&= (1 士 V (l_xt+1))/2来进行&的反向计算时,需要对2个可能的状态作出其中之一 的选择(+或-符号的选择)。在本申请中的由LMAP来产生的2进数数列是指对xt取阈值为0. 5 (xt彡0. 5时输 出l,xt<0.5时输出0)时所产生的2进数数列。而且,本申请的发明人还确认了 LMAP具 有如下的特性。在计算精度为N比特时,从t = 0到t = N-1,只要有着连续地产生出来的N比特 的2进数数列(阈值0.5),就能由LMAP的逆函数来计算出产生此2进数数列的X(l。此时 的+,_符号的选择是由相同的t所对应的2进数的值来决定(1 :+,0:-)。这是由于在计算 LMAP时,是依照lyapunov指数发散,在计算LMAP的逆函数时是依照lyapunov指数收束所 产生的结果。很明显,具有这样的特性的LMAP所产生的2进数数列,作为信息安全用随机数是 不合适的。对于一段很长的LMAP所产生的2进数列,只要知道最前面的比计算精度更长的 比特数,用这些比特的2进数,通过计算LMAP的逆函数,就能得到X(l,由X(l来计算LMAP,就 能计算出此很长的2进数列的所有比特。但是,从LMAP所产生的2进数数列的下位(较后 产生的)比特却不能计算出上位(较前产生的)比特。计算精度N比特时,在计算LMAP的过程中,可能产生的连续的0的数量,最多为 N/2以下。此特性,限制了 LMAP所产生的2进数数列所持有的组合数的可能性,却同时保证 了从此2进数列取出N比特来作为新的初始值时,此初始值不会出现像0,0. 25,0. 5,0. 75 那样的被称为黑洞的值。在用有限精度计算LMAP时,初始值敏感性可以用以下的形式来观察到。用只有 最下位比特不一样的两个初始值,我们可以确认从这两个初始值,经过N次计算后的内部 状态xt,已经在完全不同的轨道上(两个内部状态间找不出任何关系)(例计算精度128 比特时的初始值0. 0. . . 01和0. 0. . . 010的128次计算后的结果分别为0. 0100. 0100和 0. 1100. . . 0110 (只表示了上位4比特和下位4比特)。此事具有2个含义。第一、由于在用有限精度计算时,下位比特随时被舍去,在N次的计算后,其状态 与初始状态之间成为无关状态。也就是说不经过计算,就不能预测N次计算后的状态。第二、即使是只有最下位比特不同的两个初始值,由这两个初始值所产生的2进 数数列是无相关关系的数列,从其中之一的数列不能推测出另一数列的内容。以上的LMAP产生的2进数列所具有的特性,在此后所述的多维随机数产生法中, 具有重要的意义。

发明内容
本发明的目的是要提供一种在通用计算机和专用硬件的两方面都能容易地实现 的产生、管理像ID、PW那样的比较短的随机数数列的随机数产生、管理方法及装置。本发明是这样实现的一种随机数的产生、管理方法,对所给与的N(N是2以上的 整数)比特的2进数列R和维数为K的多维坐标信息i(il,…,ik,…,iK)(ik是0以上 的整数,k:l,2,…,K),将R作为非线性函数xt+1 = 4xt(l-xt)(以下称作为LMAP,0 < xt < 1)的初始值X(l的小数点以下的部分,将i转换为各维坐标值il,…,ik,…,iK,并将 x。和il,...,ik,…,iK储存于暂存器, 1依照上述暂存器所存初始值X(1和ik,混沌计算单元对LMAP进行NX ik+N-1次的 计算精度N比特的固定小数点计算法的反复计算,来产生N比特的2进数列Bk(Bk的各比特 由(bk,obk,i. bk,N—1)组成,bk,0 — [2 X xNXik], bka 一 [2 X xNXik+1],,bk,N—工- =[2Xxn
X ik+N-1-I,是舍去小数点以下的部分的计算);2上述混沌计算单元再将Bk作为LMAP的初始值X(1的小数点以下的部分,对LMAP 进行2XN-1次的反复计算,来产生N比特的2进数列Rn,...,ik(用Rk来表示),Rk的各比特 由(ruru. . . i^h)组成,rk,。= [2XxN],rka = [2XxN+1],— = [2Xx2N_J)并存入 随机数暂存器;3将上述随机数暂存器所存Rk作为LMAP的初始值X(l的小数点以下的部分存入上 述暂存器,将上述1,2,3,的作业以k = 1,2,…,K的顺序来实行(但是,k = K时不做将RK 向LMAP的初始值X(l的变换),来产生多维随机数Rk(Ri)的随机数的产生、管理方法。随机数的产生、管理装置以具备如下各部为特征,其包括;将N(是2以上的整数)比特的2进数数列R作为产生随机数的初始值信息,将维 数为K的多维坐标i(il,…,ik,…,iK)(ik是0以上的整数,K是1以上的整数)作为多 维坐标信息来接收的随机数产生、管理信息输入单元;将上述R作为非线性函数xt+1 = 4xt(l-xt)(以下称为LMAP,0 < xt < 1)的初始 值&的小数点以下的部分变换成X(1,并将i变换成多维坐标值il,…,ik,…,iK来为用 计算LMAP来产生随机数作准备的初始值、多维坐标值变换单元;将用来储存上述初始值、多维坐标值变换单元所变换的初始值X(l和多维坐标值 il,…,ik,…,iK的暂存器;依照暂存器中储存的初始值X(1和多维坐标值,对LMAP反复进行NX ik+N-1次的计 算精度为N比特的固定小数点的计算,来产生N比特的2进数列Bk(Bk的各比特是由(bk>k, i. bk,N—1)组成,bk,0 一 [2 X xNXik],bka — [2 X xNXik+1],,bk,N—丄- =[2Xxn Xik+N-1 ],□是舍 去小数点以下的部分的计算),再将Bk作为LMAP的初始值X(l的小数点以下的部分来将Bk 变换成¥并且将上述LMAP的计算反复进行2N-1次,来产生N比特的2进数列Rn,... ,ik (用 Rk 来表示),(Rk 的各比特由(!^,。!^…!^-》组成,rk,。= [2Xxn], rka = [2XxN+1],…, r,,^ = [2XX2N_J)的产生混沌2进数数列的混沌函数计算单元;用来储存上述混沌函数计算单元所输出的N比特的2进数数列Rk的随机数暂存器;对上述随机数产生、管理信息输入单元的动作,初始值、多维坐标变换单元的动 作,混沌函数计算单元的计算,以及将Rk作为LMAP的初始值X(l的小数点以下的部分来变换成x0的计算,以k = 1,2,…,K的顺序来执行(但是,当k = K时,不做将Rk向初始值x0 的变换),来产生多维随机数Rk的随机数产生控制单元。本发明通过依照多维坐标信息所进行的初始值的反复产生,能够高速产生(再 生)置于多维坐标空间中的大量的随机数列中的,位于任何坐标位置的随机数列。因此,如 图1所示,我们可以构筑一个由用来管理的2进数列R和有规则的多维坐标信息i(il,…, ik,…,iK)来产生和管理2进数列氏(ID, Pff)的随机数产生、管理系统。由于本发明利用了混沌函数(LMAP),即使是用有规则的多维坐标信息i(il,…, iK)来产生的氏之间,也没有线性相关关系。因此,从某个随机数列氏和其多维坐标信息 i(il,…,iK)不能推测出R。而且,也不能推测出由其他多维坐标信息所产生的随机数数 列。又由于本发明用固定小数点计算法来计算LMAP,使得只要是能进行整数运算的系 统(乘法,加减法,逻辑运算等),不管是软件还是硬件系统,都能容易地构筑本发明所提案 的随机数产生、管理系统。而且使随机数产生、管理系统降低价格变得可能,是产业技术的 一种发展方向。


图1本发明的随机数产生 管理系统的概念2本发明的随机数产生装置的一种实施形态的构成3说明一维随机数产生法的4说明二维随机数产生方法的5显示随机数产生装置100的动作的一种实施例的流程6说明将工业产品所具有的产品号码变换成多维坐标的表图7说明用多维随机数产生法来产生随机数所需时间的表图中100随机数产生 管理装置102随机数产生 管理信息输入单元104初始值、多维坐标值变换单元106暂存器108混沌函数计算单元110随机数暂存器112多维随机数产生控制单元
具体实施例方式以下,我们参考附图,来说明本发明的具体实施方式
及其效果。图2显示了本发明的一例实施形态,即随机数产生、管理装置100。此实施形态的 随机数产生、管理装置100,是通过将N比特的2进数列R变换成LMAP的初始值X(l,依照xQ 和多维坐标信息i,用混沌计算单元来产生N比特的2进数列Rn,...,ik,再将其变换成xQ的 计算进行K次反复,来产生(K)维随机数氏。随机数产生、管理装置100由随机数产生、管理 信息输入单元102,初始值、多维坐标值变换单元104,暂存器106,混沌函数计算单元108,随机数暂存器110,随机数产生控制单元112组成。随机数产生、管理信息输入单元102将N比特的2进数列R和多维坐标信息 i(il,…,iK)接收。初始值、多维坐标值变换单元104将输入的2进数列R或在多维随机数产生过程 中所产生的2进数列Rn,ik变换成X(l,也将输入的多维坐标信息i变换成各维的坐标值 il,…,iK以备用于用固定小数点计算来产生多维随机数。暂存器106将在初始值、多维坐标值变换单元104变换的X(1和il,…,iK储存于 其中。混沌函数计算单元108用储存在暂存器106的初始值,依次依照多维坐标ik(k = 1,2, -,K)来反复计算LMAP,产生N比特的2进数列Ril,...,ik。在此说明混沌函数计算单元的作业的详细内容。首先混沌函数计算单元108用储存在暂存器106中的初始值X(l和多维坐标ik将 LMAP计算NXik次。其次,在计算LMAP 的同时,计算 bk,。= [2XxNik], bka = [2XxNik+1],…,b^ =[2XxNik+N_J ([]是舍去小数点以下的部分的计算),来产生N比特的2进数列Bk(bk>k,
1- bk,N-1)。再将Bk作为LMAP的初始值X(1的小数点以下的部分来转换成X(1,将LMAP计算N次。而后在计算LMAP 的同时,计算 rk,。= DXxJ、!^ = [2Xxn+1]、rk, M = [2Xxm]来产生N比特的2进数列Rn—jO^ru. r,,^)。由于加上了本说明书第7页第27行一第8页第1行的计算,使得我们能够切断 如第2页第27行一第30行所述的由LMAP产生的2进数列所具有的上位随机数对下位随 机数的推测可能性。随机数暂存器110用来储存混沌函数计算单元108所输出的2进数列。随机数产生控制单元112控制各单元的动作来产生多维随机数列。随机数产生控制单元112对维数K的多维信息,按从k = 1到k = K的顺序,利 用多维坐标信息,反复用混沌函数计算单元进行计算,其输出储存于随机数暂存器110,当 k < K时,将储存于随机数暂存器110的随机数列经初始值、多维坐标值变换单元104变换 为&,并储存于暂存器106,继续上述计算,k = K时,将随机数暂存器110所存的N比特的 2进数列作为随机数氏,并中止计算。在此,对多维随机数的含义及其效果进行说明。我们来考虑由LMAP进行固定小数点计算,计算精度N比特,来产生N比特的2进 数列。输入N比特的初始值xQ来产生所需数量的2进数列r (rQ iy")。设随机数产生 器的产生速度为S bps(比特/秒),并且产生2进数列以外的作业时间足够小,不予计算。 在此我们来看一下用随机数产生器产生MXN(M是1以上的整数)比特的随机数,分割成M 列的长N比特的2进数列时,用初始值X(l来产生任意一个氏所需的时间。用像这样的方法所产生的数列氏可以想像为置于一条直线上(图3),因此,我们 称此产生法为一维随机数列产生法。由于是N比特的数列,很明显,从X(l产生第一列的数列礼所需要的时间是N/S。从
7X(l产生第二列的数列队所需的时间,由于其含有产生第一列随机数列的时间,所以应为2N/ S。依此类推,从X(l产生第i列的数列Rg所需的时间为iXN/S。由于能产生的随机数列以多为好,因此期望能取较大的M值。但是,像这样的从一 个初始值来连续产生随机数列的方法,无法将M值取得很大的值,如像M = 264时,即使是随 机数的产生速度为24°bps时,一列N比特的数列的平均产生时间即为(1+264) XN/2/240 > 223 秒。我们来考虑如下的随机数产生法在此,设上述M为虬XM2饥為为1以上的整数),从N比特的初始值x0产生列 的N比特的随机数列,再将所产生的Mi列的N比特的数列,作为新的初始值,各自产生礼列 的N比特的随机数列。所产生的N比特的随机数列用Rn,i2来表示。由于用上述方法产生的数列Rn,i2能够想像为被置于2维平面(坐标)上一样,我 们称此为2维随机数产生法。很明显,Rn,i2的总数为M:XM2 = M,从初始值xQ产生任意的一个Rn,i2所需的时间 T为如下所述。T^ =(\xN + S = 2N IST^ =(lxN + 2xN)/S = 3N/S=(lxN + (i2 + l)xN)/S = (z2 + 2)N/STRn (2 = ((1 + i\) xN + (i2 + \)xN)/S = (il + i2 + 2)N/S也就是,产生一列随机数列所需的时间为,最短2N/S,最长(Mi+M^N/S,与一维产 生法时的最长时间MXN/S = (MiXM2)N/S相比,其不同之处不言而喻。将维数设为K,且M = Mi X…XMk,从N比特的初始值x0产生虬列的N比特的随机 数列。而后,将所产生的Mi列的N比特的数列作为新的初始值,各自产生M2列的N比特的 随机数列。与上述同样地转换为新的初始值的处理到Mk为止进行K-1次,来产生数列扎。 由于能够将数列氏想像为置于K维空间中的坐标为(i :il, i2,…,iK) 一样,我们称此产 生法为多(K)维随机数产生法。我们可以知道,置于K维坐标空间中的任意一列数列的产 生所需的时间为(K+il+i2+"*+iK)N/S,最短为KN/S,最长为(Mi+M2+"*+MK)N/S,平均时间为 (K+Mi+M^—+Mk) N/(2S)。我们来说明多维随机数产生法中的各个参数N,K(k),M(Mk)的含义。N为计算精度。因此,可取得初始值的种类(初始值空间)为除去N比特数列为 0-0,0 1 0…0,1 0…0,1 1 0-0(0,0. 25,0. 5,0. 75)的 2N_4 种。但是,由于某一初始值 x。所能产生的混沌状态的长度为近似于2N气我们可以推测出非周期状态的M的大小为
N。实际上,取N为32 64之间的值,用数值计算来对M的非周期状态的长度进行检索的 结果为近似于2N/2。这是由于反复进行的初始值的产生使得多维随机数产生器所具有的周 期性变得比原来的LMAP更长。坐标量M是从初始值X(l所能产生的数列的总数。一般其大小受到随机数产生器 所具有的周期性的制约。但是,如果允许在多维空间中置有相同的随机数列(不知道置于 何处)的话,将不受此限制。
Mk决定各维坐标的空间大小(k = 1,2,…,K)。并且,影响氏的产生速度。Mk取 较大值时可使氏的平均产生速度变得很低。Mk与k 一起对氏具有分类机能。就是,能持有具有特定含义的信息(如时间,名 称,组织(部门)等)。亦即是,适当的Mk的大小的决定,不仅取决于随机数的产生速度, 还要综合考虑到分类上是否容易。比较有效的表示坐标空间的方法为取M = 2m,m = mi+-+mK, (mi,…,mK是0以上的整数)。K作为维数,持有分类机能。M为一定值时,K取得较大,Mk的平均值将变得较小, 氏的平均产生速度变得较快。但是个别的Mk的值极端地取较大值时,氏的产生速度极端地 变慢的情况也会发生。这是因为,同在一维产生法所看到的一样,将某一维的坐标数设定得 过于大时,在此维中的平均产生时间将变得很长。因此,K的设定既要依从分类机能,同时 也要使个别的Mk不要过于大。亦就是说,即使是属于同类也没有必要用同一维的坐标来表 示。在分类上如果个别的Mk的值太大时,对此类可用复数个的维数来表示。可以对K(k)进行分割。我们来考虑计算精度N比特,初始值X(1,维数K,各维的大小为礼,M2,…,MK的多 维随机数产生系统。我们来考察一下中间过程维k时的状态。k = 1时,我们能够从初始值X(1产生虬个的N比特的2进数列Rn。k = 2时,我 们可以从初始值Xo产生出Mi个的N比特2进数列Rn (中间过程初始值),再从中间过程初 始值各产生出M2个的N比特的2进数列Rn, i2。即,能够从初始值X(l产生总数MiXM2个N 比特的2进数列。同样地,在中间过程维k,能够产生出MiXM2X…XMk个的中间过程初始值。在这里,使k = Ku,K = Ku+Kd,则Kd = K-Ku。即,成为由初始值xQ维数Ku,各维 数的大小为MnM2,…,Mku的上位维所组成的多维随机数产生系统。如,由维数Ku的上位维 所组成的系统所产生&MiXM2X…XMku个的N比特的2进数列(中间过程初始值)作为各 个初始值的由下位维所组成的多维随机数产生系统(维数Kd,各维的大小为Mku+1,Mku+1,…, Mk)如上所述,2个K(Ku,Kd)对应于原来的一个多维随机数产生系统,通过分割K,可 以将多维随机数产生系统分割,并且,在分割多维随机数产生系统时,以维Ku为界并不是 必须把所有的下位维从多维随机数产生系统分割出来。只要将处于任意的中间过程坐标 il,i2,…,i(ku)的随机数Rn,i2, ...,iku输出,作为新的下位多维随机数产生系统的初始值, 即可将任意的下位多维随机数产生系统从原来的多维随机数产生系统中分离出来。并且,显然作为系统分割的逆作业,可以将分割出来的系统再进行连接(统合)。 但是,必须将分割时的各自的中间过程维的坐标信息保存起来。换而言之,对有必要进行再 连接的分割系统,必须保存其中间维坐标信息。而对于不需要进行再连接的,完全独立的分 割系统,可以将其中间过程坐标消除。以上对K进行Ku和kd的2分割进行了说明,当然,用同样的方法,根据需要进行 更多的分割也是可能的。由初始值xQ,多维坐标i(il,i2,…,iK)产生的氏和由初始值Rm ...,iku,多维坐 标i(i(ku+l),i (ku+2),…,iK)产生的氏具有相同的值。也就是,从初始值xQ能得到初 始值Rm ...,iku,但从Rnj, ...,iku,却不能得到初始值&。对于持有上述关系的初始值,我们称初始值X(l为上位初始值,初始值i2, .., iku,为下位初始值。用持有上述特性的多维随机数产生方法,我们可以构筑起具有等级构造的随机数 产生系统。即,上位初始值X(1和下位初始值Rn,i2, ...,iku所具有的权限不同,持有初始值X(1 者比持有R^m ...,iku者具有更大的权限。图5是显示多维随机数产生、管理装置100的动作的流程图的一例。根据随机数 产生命令,此流程图所示的随机数产生 管理装置100开始动作。将输入到随机数产生 管理信息输入单元102的N比特的2进数列R和多维坐标 信息i接受,将变数k设为k = 0。然后初始值 多维坐标值变换单元104使k = k+1,并 将接受到的N比特的2进数列R变换成&与多维坐标信息(il,i2,…,iK) 一起(S104), 存入暂存器106(S106)。混沌函数计算单元108再依据储存在暂存器106中的xQ和多维 坐标信息ik,产生N比特的2进数列Rn,i2, ...,ik,存入随机数暂存器110(S108)当k小于维 数K时,将N比特的2进数列Rn, i2, ..., ik输入到初始值 多维坐标值变换单元104 (S110), 从(S104)进行重复计算。当k = K时,将N比特的2进数列Rn,i2, ...,iK,作为随机数输出 (S112),本流程图所示随机数产生装置100的动作终止。在此用产生和管理随机数的系统的具体例,从初始值敏感性,近傍坐标的无相关 性,产生速度,系统的分割等方面来确认本发明的效果。工业产品附有能确认此产品的记号(号码)。如机种号码,制造号码,批号,制造年 月等。这些号码在管理此产品的有关信息及售后服务时,是必须的。当然,这些号码必须被 管理。这些产品的号码大都是有规则的连号。由于有规则,因此具有的信息量较少,容易管 理。但是,其反面,容易从某个号码推测出其他的号码,容易被非法利用(在复制品上附上 真品的号码来伪装成真品)。要使产品号码无法推测,只要对有规则的号码加上无规则的识 别ID号码(随机数)即可。但是使用了无规则的随机数,将使近于无限的工业产品的号码 的管理变得困难。本申请所提议的多维随机数产生法对于这样的看不出规则的识别ID(随 机数列)的管理问题是有效的。我们可以设想,对应于多维随机数产生法的3个元素(R,i,氏),将能够识别产品 (独特的)的产品号码变换成多维坐标,将产生的产品识别ID (随机数氏)加入到产品号码 中,使产品号码无法推测。此时的初始值X(I(R)成为管理产品识别ID的管理钥匙。正确的 初始值X(l和产品号码能够产生(再生)所对应的产品识别ID。有规则的产品号码能够被 推测,但是附加的产品识别ID是无法推测的。亦就是,不持有初始值X(l者无法得到正确的 产品号码和产品识别ID的组合。以下是经过简单化的产生持有如机种号码为MC780,制造号码为C042875的产品 的识别ID的系统的例。产生识别ID,需要将产品号码变换成多维坐标。在这里将机种号码和制造号码进 行如图6所示的变换(英文字母用ASCII码的16进数表示,10进位的数字用16进位表示。使维数K = 14,各维的大小为Mi = M2 =…=M14 = 16,管理钥匙为128比特的初 始值(16进数)xQ = 0…01,则由多维随机数产生法所计算的氏用16进数表示则成为B44 768B06B7A2OT464F3523552BD0DFB。其对应的多维坐标用16进数表示则为(i =4,D,4,3, 2,C4,4,3,0,A,7,7,B)首先,将多维坐标i固定,给与X(l以微小的变化,来确认所产生的Ri的变化。如下显示多维坐标i为(4,D,4,3,2,C,4,4,3,0,A,7,7,B)时的例。初始值xQ为O…Ol和O··· 02 (16 进数 32 位)时的 Ri 各为(B44768B06B7A2OT464F3523552BD0DFB)和(8849A5994E6B 861F6298CFB4C7C71E9F)。我们能够确认到初始值敏感性。然后,将初始值固定,给与多维坐标i以微小的变化,来确认所产生的Ri的变化。 以下显示使初始值X。为0…01时的例。使多维坐标i为(4,D,4,3,2,C,4,4,3,0,A,7,7, B)和(4,D,4,3,2,C,4,4,3,0,A,7,7,C)时,得到的 Ri 各为(B44768B06B7A25D464F352355 2BD0DFB)和(BA135967OT951215D6F14411426D1E13)。我们能够确认到近傍多维坐标的非
相关性。 从以上的结果我们可以确认到如下的效果;用多维随机数产生法构筑的随机数产 生器,即使系统构成一样,由不同的初始值和相同的多维坐标产生的随机数之间无法找出 相关关系。也就是说即使是构成为相同的系统,也无法从相同多维坐标的随机数来推测出 初始值。而且,从具有某一多维坐标的随机数列无法推测出其近傍多维坐标上的随机数列。我们在本说明书第9页第18行一第26行显示了,当给与了 2进数列的产生速度 时,某一多维坐标上的随机数列的产生所需要的时间。此时,我们设定2进数列产生以外的 作业时间足够小,不予计算。在此,如上由近似计算所得到的产生时间为推测时间t,而实际 产生所需的时间为实例时间t’,2进数列的产生速度为4. 9Mbps时的两者的结果如图7所 示。我们能确认其为相近的结果,并且是可以实际应用的产生速度。在产生产品识别ID系统中,产品号码由机种号码和制造号码组成,也就是产品号 码分为管理机种的部分(机种号码)和管理此机种的产品的部分制造号码。在这里将产品 号码分割为机种号码和制造号码,来确认分割和不分割的两种情况下所产生的随机数。初始值χ。为0…01,多维坐标i为(4,D,4,3,2,C,4,4,3,0,A,7,7,B)时所产生的 随机数列Ri (如本说明书第13页第12行一第14行所示)为(B44768B06B7A25D464F3523 552BD0DFB)。首先,将多维坐标分割为(4,D,4,3,2,C,4)(机种管理)和(4,3,0,A,7,7,B) (该机种的产品)。而后由初始值X。(0…01)和多维坐标i’ (4,D,4,3,2,C,4)来产生随机 数列Ri-再以由氏,变换的初始值和多维坐标i” (4,3,0,A,7,7,B)来产生随机数列Ri",与 不分割时所产生的随机数列Ri比较。我们能够确认其结果是一样的。再看由分割后的多维坐标产生Ri.和氏,,所需要的时间,各为0.001437秒和 0. 001421秒,其合计与不分割时的0. 002781秒基本一致。如上所述,不改变计算方法等,而只是改变初始值和多维坐标,就能容易地将子系 统从母系统中分离出来。而经过分割,减少了系统的计算量,随机数的产生速度也变得更 快。另外,由于分割,下位系统没有必要持有有关上位系统的信息,从信息安全的观点 来看,可以说上位系统也变得更安全。如本产品管理系统的情况,某一产品的生产部门迁移 到国外去时,这样的管理系统的分割是有效的。产业上的利用的可能性根据本发明,本申请所提案的随机数产生·管理方法可以用一列N比特的2进数 列R(初始值)和M个有规则的多维坐标信息i来产生·管理M列无规则的N比特的2进 数列Ri (图1)本发明的随机数产生是由R和有规则的i来产生Ri,并具有无法用某个特定的i和氏来推测其他的氏或R的性质。持有这样的性质的随机数产生器,能应用于信息安全等 广泛的领域。用本发明的随机数产生法,可以构筑起只用一次的ID,PW的认证系统。就是,将系 统一侧和用户一侧所持的秘密的(ID,PW)作为R,在每次认证时,用户一侧用R和新的i来 产生氏(认证用10,?1),将1和氏送给系统一侧。系统一侧用收到的i和该用户的R来产 生氏,与送来的氏对照进行认证。由于一个i只用一次,即使被窃听也不会产生什么问题。 又由于秘密的R不用外出(经通信网等),也就更安全。如果用从身体上所采取的信息(指 纹,静脉等)来做成R,也就不用记忆R。将本发明的随机数产生方法应用于加密系统的密钥产生、管理系统,就能实现被 称为最强的加密方法,就是密钥只用一次的加密方法。由于一个多维坐标信息i仅用一次, 因此不会使用相同的密钥。将本发明的随机数产生法应用于共通密钥加密通信,能够在持有相同的密钥R者 之间,实现仅用一次的密钥氏,将信息加密。只要将加密后的信息和i送给对方,而没有必 要送R。取得加密的信息和i的对方,用所持有的R和i来产生氏将加密的信息复元。由 于R不出现于通讯途中所以更加安全。由于本发明在随机数产生上是对数式1进行固定小数点计算法的计算,因此可以 用整数的运算来实现计算。又由于整数能容易地实行分割计算,所以即使是不同的计算系 统(通用计算机(各种OS),专用硬件,微型计算机等),只要能进行最基本的整数运算(加, 乘,比特移位,比特间逻辑运算),就能做到由相同的输入来得到相同的输出。因此,本发明的随机数产生装置具有能适应多种需要的「性能_费用」的组合,富 有扩展性,能应用于以信息安全领域为中心的广泛的产业领域。以上,用实施形态对本发明进行了说明,但本发明的技术手段不限于上述实施形 态所记载的范围。能对上述实施形态进行变更或改良。上述发明是用数式1来产生2进数 列,但用其它的方法来产生2进数列也是可能的。并且,也可以用随机数的产生效率和品质 的低下为代价来对上述实施形态进行变更。很明显,像这样的变更,改良后的形态也包含在 本发明的技术的范围内。
1权利要求
一种随机数产生、管理方法,其特征在于对所给与的N(N是2以上的整数)比特的2进数列R和维数为K的多维坐标信息i(i1,…,ik,…,iK)(ik是0以上的整数,k1,2,…,K);将R作为非线性函数xt+1=4xt(1-xt)(以下称作为LMAP,0<xt<1)的初始值x0的小数点以下的部分,将i转换为各维坐标值i1,…,ik,…,iK,并将x0和i1,…,ik,…,iK储存于暂存器,1依照上述暂存器所存初始值x0和ik,混沌计算单元对LMAP进行N×ik+N-1次的计算精度N比特的固定小数点计算法的反复计算,用从xN×ik到xN×ik+N-1的N个的值、来产生N比特的2进数列Bk(Bk的各比特由(bk,0bk,1...bk,N-1)组成,b k,0=[2×xN×ik],bk,1=[2×xN×ik+1],…,bk,N-1=[2×xN×ik+N-1],[]是舍去小数点以下的部分的计算);2上述混沌计算单元再将Bk作为LMAP的初始值x0的小数点以下的部分,对LMAP进行2N-1次的反复计算,来产生N比特的2进数列Rk,Rk的各比特由(rk,0rk,1...rk,N-1)组成,rk,0=[2×xN],rk,1=[2×xN+1],…,rk,N-1=[2×x2N-1])并存入随机数暂存器;3将上述随机数暂存器所存Rk作为LMAP的初始值x0的小数点以下的部分存入上述暂存器;将上述1,2,3,的作业以k=1,2,…,K的顺序来实行(但是,k=K时不做将RK向LMAP的初始值x0的变换),来产生多维随机数RK(Ri)为特征的随机数产生、管理方法。2一种随机数产生、管理装置;其特征在于,包括将N(是2以上的整数)比特的2进数数列R作为产生随机数的初始值信息,将维数为K的多维坐标i(i1,…,ik,…,iK)(ik是0以上的整数,K是1以上的整数)作为多维坐标信息来接收的随机数产生、管理信息输入单元;将上述R作为非线性函数xt+1=4xt(1-xt)(以下称为LMAP,0<xt<1)的初始值x0的小数点以下的部分变换成x0,并将i变换成多维坐标值i1,…,ik,…,iK来为用计算LMAP来产生随机数作准备的初始值、多维坐标值变换单元;将用来储存上述初始值、多维坐标值变换单元所变换的初始值x0和多维坐标值i1,…,ik,…,iK的暂存器;依照暂存器中储存的初始值x0和多维坐标值,对LMAP反复进行N×ik+N-1次的计算精度为N比特的固定小数点的计算,来产生N比特的2进数列Bk(Bk的各比特是由(bk,0bk,1...bk,N-1)组成,bk,0=[2×xN×ik],bk,1=[2×xN×ik+1],…,bk,N-1=[2×xN×i k+N-1],[]是舍去小数点以下的部分的计算),再将Bk作为LMAP的初始值x0的小数点以下的部分来将Bk变换成x0,并且将上述LMAP的计算反复进行2N-1次,来产生N比特的2进数列Rk(Rk的各比特由(rk,0 rk,1...rk,N-1)组成,rk,0=[2×xN],rk,1=[2×xN+1],…,rk,N-1=[2×x2N-1])的产生混沌2进数数列的混沌函数计算单元;用来储存上述混沌函数计算单元所输出的N比特的2进数数列Rk的随机数暂存器;对上述随机数产生、管理信息输入单元的动作,初始值、多维坐标变换单元的动作,混沌函数计算单元的计算,以及将Rk作为LMAP的初始值x0的小数点以下的部分来变换成x0的计算,以k=1,2,…,K的顺序来执行(但是,当k=K时,不做将RK向初始值x0的变换),来产生多维随机数RK的随机数产生控制单元。
2 一种随机数产生、管理装置;其特征在于,包括将N(是2以上的整数)比特的2进数数列R作为产生随机数的初始值信息,将维数为 K的多维坐标i(il,…,ik,…,iK)(ik是0以上的整数,K是1以上的整数)作为多维坐 标信息来接收的随机数产生、管理信息输入单元;将上述R作为非线性函数xt+1 = 4xt(l-xt)(以下称为LMAP,0 < xt < 1)的初始值xQ 的小数点以下的部分变换成X(l,并将i变换成多维坐标值il,…,ik,…,iK来为用计算 LMAP来产生随机数作准备的初始值、多维坐标值变换单元;将用来储存上述初始值、多维坐标值变换单元所变换的初始值^和多维坐标值il,…, ik, ...,iK的暂存器;依照暂存器中储存的初始值X(l和多维坐标值,对LMAP反复进行NX ik+N-1次的计算 精度为N比特的固定小数点的计算,来产生N比特的2进数列Bk(Bk的各比特是由(bk>k, 1-bk,N-1)组成,bk,0 — [2 X xNXik],bka — [2 X xNXik+1],…,bk,N—厂 =[2Xxnxi k+N-1 ],□是舍去小数点以下的部分的计算),再将Bk作为LMAP的初始值X(l的小数点以下的部分来将Bk 变换成¥并且将上述LMAP的计算反复进行2N-1次,来产生N比特的2进数列Rk(Rk的各 比特由(rk,。rka. . ,rkj 组成,rk,0 = [2XxN],rka = [2XxN+1],...,rkj = [2Xx2N_1]) 的产生混沌2进数数列的混沌函数计算单元;用来储存上述混沌函数计算单元所输出的N比特的2进数数列Rk的随机数暂存器; 对上述随机数产生、管理信息输入单元的动作,初始值、多维坐标变换单元的动作,混 沌函数计算单元的计算,以及将Rk作为LMAP的初始值X(l的小数点以下的部分来变换成X(1 的计算,以k= 1,2,…,K的顺序来执行(但是,当k = K时,不做将&向初始值X(l的变 换),来产生多维随机数RK的随机数产生控制单元。
全文摘要
本发明提供一种如ID、口令等比较短的随机数数列的产生、管理的方法及装置。本随机数产生、管理方法是,以对所给与的N比特的2进数列R和维数为K的多维坐标信息i(i1,…,ik,…,iK),将R变换为函数xt+1=4xt(1-xt)(LMAP)的初始值x0,以ik为计算次数的信息,用上述x0和ik,对LMAP进行计算精度N比特的固定小数点的反复计算,来产生新的x0,以k=1,2,…,K的顺序,将产生新的x0的作业反复进行,来产生、管理N比特的多维随机数RK为特征。
文档编号G06F7/58GK101868779SQ20098010107
公开日2010年10月20日 申请日期2009年6月9日 优先权日2008年7月28日
发明者董际国 申请人:董际国
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1