发明名称 测试随机数源的方法和含有所述方法的电子设备
摘要 本发明涉及测试产生随机数源的方法,特别是在密码系统范围内建立的源,例如芯片卡中装有的随机数发生器。本发明特别为用于测试和确认电子设备而设计,例如芯片卡、PCMIA、标记、无接点卡或其它类似的便携装置。
申请公布号 CN1323477A 申请公布日期 2001.11.21
申请号 CN99812290.4 申请日期 1999.08.16
申请人 格姆普拉斯公司 发明人 J·-S·科龙;D·纳卡希
分类号 H04L9/22 主分类号 H04L9/22
代理机构 中国专利代理(香港)有限公司 代理人 王勇;李亚非
主权项 1.一种测试随机数源的方法,包括以下步骤:步骤1.由随机源产生一(Q+K)*L位数列,Q、K和L是输入参数,在该数列中的位被分组成一些L位的块,形成长度为Q+K的0和2L-1之间的整数数列,该长度被存储在表block[n]中,其中n在1和Q+K之间;步骤2.计算测试参数,表示为Ftu,该第二步骤包括以下步骤,称作子步骤2.1到2.5:2.1建立和初始化大小为2L的表tab[i];2.2对于从1变到Q的n,进行计算:tab[block]=n;2.3初始化数和(sum)到0;2.4对于从Q+1变到Q+K的n,执行二个操作的计算:将log(n-tab[block[n]])加到sum;作计算:tab[block[n]]=n;2.5测试的参数fTU由下式给出:fTU=(sum/k)/log(2);步骤3.从下列表达式计算每测试参数块方差Var:<math> <mrow> <mi>Var</mi> <mo>=</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>z</mi> <mo>)</mo> </mrow> <mo>*</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mo>&infin;</mo> </munderover> <mi>log</mi> <mn>2</mn> <msup> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mrow> <mn>2</mn> <mo>*</mo> <msup> <mi>Z</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> </mrow> </msup> <mo>-</mo> <mrow> <mo>(</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>z</mi> <mo>)</mo> </mrow> <mo>*</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mo>&infin;</mo> </munderover> <mi>log</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>*</mo> <msup> <mi>z</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>)</mo> </mrow> <mn>2</mn> </mrow> </math> 其中log2(z)=log(z)/log(2)和z=1-2-L 步骤4.计算函数C(L,K);步骤5.计算测试参数的标准偏差,表示为σ:σ=C(L,K)<math> <mrow> <mo>*</mo> <msqrt> <mrow> <mo>(</mo> <mi>Var</mi> <mo>/</mo> <mi>K</mi> <mo>)</mo> </mrow> </msqrt> <mo>;</mo> </mrow> </math> 步骤6.计算参数y,y根据作为一个输入固定的测试的拒绝率(表示为ρ)来确定,y必须满足下列方程:N(-y)=ρN是标准密度函数。步骤7.计算测试的理想平均值,表示为E(fTU),它由下式给出:<math> <mrow> <mi>E</mi> <mo>&lsqb;</mo> <mi>fTU</mi> <mo>&rsqb;</mo> <mo>=</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>z</mi> <mo>)</mo> </mrow> <mo>*</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mo>&infin;</mo> </munderover> <mi>log</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>*</mo> <msup> <mi>z</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> </mrow> </math> 其中log2(z)=log(z)/log(2)和z=1-2-L 步骤8.计算上下限t1和t2,它们由方程式t1=E[fTU]-y*σ和t2=E[fTU]+y*σ给出;步骤9.测试结果:如果测试参数fTU在t1和t2之间,则随机数发生器被接受;相反情况下则被拒绝,所述方法的特征是,步骤4.包含无论对于参数L和K都成立的函数C(L,K)的计算。
地址 法国基米诺斯