收藏 分享(赏)

随机性检测参数选择研究.doc

上传人:fcgy86390 文档编号:7474243 上传时间:2019-05-19 格式:DOC 页数:6 大小:668.50KB
下载 相关 举报
随机性检测参数选择研究.doc_第1页
第1页 / 共6页
随机性检测参数选择研究.doc_第2页
第2页 / 共6页
随机性检测参数选择研究.doc_第3页
第3页 / 共6页
随机性检测参数选择研究.doc_第4页
第4页 / 共6页
随机性检测参数选择研究.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、2009 年 1 月 Journal on Communications January 2009第 30 卷第 1 期 通 信 学 报 Vol.30 No.1随机性检测参数选择研究范丽敏 1, 2,冯登国 1,陈华 1(1. 中国科学院 软件研究所信息安全国家重点实验室,北京 100190;2.中国科学院 研究生院,北京 100039)摘 要:从统计学角度对同一个随机性检测项目中 2 个独立的参数所应满足的条件进行了研究,在此基础上设计了一个假设检验方法,用于检测 2 个参数是否满足独立的关系。以扑克检测为实例,对其参数集中的参数进行了实验研究,并对结果进行了分析。提出的方法是一个通用的方法

2、,可以直接应用于其他带参数的检测项目的参数关系研究中,这为随机性检测中参数选择提供了一种可操作的手段。关键词:信息安全;随机性检测;假设检验;参数选择;P-Value ;扑克检测中图分类号:TP309.7 文献标识码:A 文章编号:1000-436X(2009)01-0001-06On the parameter selection of randomness testFAN Li-min1,2, FENG Deng-guo1, CHEN Hua1(1. State Key Laboratory of Information Security, Institute of Software ,C

3、hinese Academy of Sciences, Beijing 100190, China;2. Graduate University of Chinese Academy of Sciences, Beijing 100039, China)Abstract: The conditions that two different parameters in a same randomness test should satisfy if they are independent with each other was studied based on statistical theo

4、ry. And a hypothesis method was proposed to test whether two parameters were independent or not. A series of experiments were designed to study the relations among the parameters gather of poker test, which was selected as a research instance by means of this method, and the experiment results were

5、analyzed in details. The method is general and it can be used to deal with other randomness test, such as entropy test and binary derivation test. The work is helpful to select reasonable and scientific parameters in practical randomness test.Key words: information security; randomness test; hypothe

6、sis test; parameter selection; P-Value; poker test1 引言“随机”的概念在密码领域中有着广泛的应用,例如,一个安全的密码算法的输出需要是随机的,密码算法及密码协议中用到的密钥和一些参数也需要是随机的,随机性检测在密码应用及其相关领域起到重要的作用。理想的随机序列可以看成是投掷硬币的结果,根据抛出硬币是正面或者反面标记为“0”或“1”,对于每一次投掷结果,“0”或“1”出现的概率均为 1/2,投掷结果之间相互独立,并且前面的投掷不会影响到后面的结果。显然,在实际收稿日期:2008-06-21;修回日期:2008-12-20基金项目:国家自然科学基

7、金资助项目(60503014, 60603013) ;国家高技术研究发展计划(“863”计划)基金资助项目(2007AA01Z470, 2008AA01Z417) ;北京市自然科学基金资助项目( 4072026)Foundation Items: The National Natural Science Foundation of China (60503014, 60603013); The National High Technology Research and Development Program of China (863 Program) (2007AA01Z470, 2008A

8、A01Z417); The Natural Science Foundation of Beijing (4072026)2 通 信 学 报 第 30 卷应用中以这种方式产生随机数是不现实的,实际应用的随机数通常都是通过某些数学公式的计算而产生的伪随机数 1。人们研究了多种随机序列应满足的性质,并以此为标准对产生序列的随机程度进行度量。目前已经有了众多的随机性检测项目和方法用于检测密码算法和序列的统计特性 24。对于一个随机性检测项目,在实际进行检测时需要设置一些参数,参数通常分为两类,一类称为外部参数,例如测试序列的长度;另一类为内部参数,主要是指检测项目本身所涉及的参数,例如扑克检测 2中

9、子序列的长度。本文所研究的是内部参数的关系和内部参数的选择。如无特殊说明,本文后续部分所述参数均指内部参数。对 于 带 参 数 的 检 测 项 目 , 其 所 有 可 能 的 参 数组 成 一 个 集 合 , 即 参 数 有 一 个 范 围 。 在 实 际 应 用中 最 理 想 的 情 况 是 对 该 集 合 中 的 所 有 参 数 进 行 检测 , 但 是 通 常 这 个 集 合 很 大 , 对 所 有 参 数 一 一 进行 检 测 不 现 实 。 并 且 , 各 参 数 之 间 可 能 存 在 依 赖关 系 , 对 所 有 的 参 数 进 行 检 测 也 不 必 要 。 所 以 ,对 参

10、数 之 间 可 能 存 在 的 关 系 进 行 研 究 , 选 择 出 合理 的 具 有 代 表 性 的 参 数 子 集 , 可 以 提 高 随 机 性 检测 的 实 用 性 和 有 效 性 。 目 前 对 参 数 选 择 的 研 究 并不 多 见 , 尽 管 有 一 些 针 对 具 体 检 测 项 目 的 参 数 选择 的 研 究 或 者 参 数 的 修 正 57, 但 是 , 并 不 存 在一 个 通 用 的 研 究 参 数 之 间 关 系 和 参 数 选 择 的 方 法 。当 前 大 多 数 参 数 选 择 通 常 都 是 根 据 检 测 者 的 经 验和 个 人 偏 好 来 进 行 。

11、本文从统计学角度出发,研究了 2 个无关的检测参数所应该满足的条件,并以此为基础设计了一个用于衡量参数关系的假设检验算法。通过该算法,可以对各参数之间存在依赖关系进行量化。本文的研究为选择最小合理参数集,避免冗余参数提供了一个有益的方法和思路。2 背景知识2.1 假设检验假设检验的基本思想是,首先提出关于总体性质的假设,称为原假设,然后在原假设的条件下导出结论,若结论发生的概率很大,则认为原假设成立,反之若概率非常小,则否定原假设。该思想源于实践中被广泛采用的一条原则,即小概率事件在一次观察中是不会出现的。小概率事件发生的概率称之为显著性水平,用 来表示,它表示了假设检验的严格程度。 越小,则

12、否定原假设的说服力越强。通常情况下, 取0.01、0.05 或 0.1。在随机性检测中,通常采用的是假设检验方法。首先假定待测的序列是随机的,按照某种统计方法,其统计值应该符合某种特定的分布。根据统计值符合特定分布的概率来判断待测的序列是否随机。2.2 扑克检测扑克检测是一种常用的重要的随机性检测方法,最早在文献2中被提出,扑克检测也是一些随机性检测软件包中基本的检测项目,例如CryptX8中的“ SubBlock Test”和 DIAHARD9中的“Bit Stream Test”在本质上都是扑克检测。长度为 的二元子序列有 2m 种情况。扑克检m测是用于检测在一个待测的序列中,这 2m 种

13、子序列出现的次数是否与随机序列近似。将长度为 n bit 的待检测序列划分成 个非重叠的子/kn序列,统计每种类型的子序列个数 ,,1mi 构造统计值 ,22211(/)()mmmi iiVkkk该统计值应该服从自由度为 的卡方分布。记作 。判断一个序列是否通过了扑克检2()m测的通常方法是根据统计值 V 计算出 P-Value。简略地说,P -Value 是该待测序列比真随机序列随机性好的概率 10。将 P-Value 与显著性水平 进行比较,如果 P-Value 小于 ,则认为该序列未能通过扑克检测。3 参数之间的关系本文从统计的角度来研究同一个检测项目中不同参数 之 间 的 关 系 。

14、对 于 同 一 个 序 列 , 判 断 其 是否 通 过 某 参 数 的 检 测 项 目 通 常 是 比 较 计 算 得 到 的 P-Value 与 显 著 性 水 平 的 大 小 。 如 果 2 个 不 同 的 参 数对 相 同 的 序 列 检 测 结 果 是 相 互 独 立 的 , 即 这 2 个 参数 的 检 测 结 果 互 不 影 响 , 那 么 可 以 将 这 2 个 检 测 参数 看 作 是 独 立的检测参数,这是本文研究的出发点和基础。随 机 性 检 测 T 的 2 个 不 同 参 数 和 的 检 测分 别 记 作 T()和 T()。 对 于 随 机 的 序 列 , T()检 测

15、所 得 的 P-Value 分 布 记 为 X, 其 概 率 密 度 为 。fx第 1 期 范丽敏等:随机性检测参数选择研究 3T()检 测 所 得 的 P-Value 分 布 记 为 Y, 其 概 率 密 度为 。 下 面 研 究 当 与 独 立 时 , Z=XY 的 概fy率 分 布 。对于随机的序列,X 应该是均匀分布于0,1之间的实数,因此 X 的概率密度 为()fx(1)0, fxx 同理,W= Y 的概率密度 为()fw(2)0, 0()1, zzf 以上的求解过程表明,假设 与 独立,那么对随机序列进行 T()和 T()的检测得到的 P-Value之差应该服从概率密度为 f(z)

16、的分布,其分布函数记为 F(Z)。4 一个用于检测参数之间关系的假设检验算法第 3 节得出了独立的 2 个检测参数的 P-Value之差应该服从的分布。基于此,提出了一个假设检验算法,用于检测任何 2 个不同参数是否满足这种独立关系,构造原假设如下。H0:2 个参数检测的 P-Value 之差的总体符合分布函数为 F(Z)的分布。相应地,备择假设如下。H:2 个参数检测的 P-Value 之差的总体不符合分布函数为 F(Z)的分布。P-Value 是0 ,1之间的实数,因此 2 个 P-Value 之差是1,1之间的实数。将1 ,1分为k 个区间,第 个区间为i(6)2(1)+,=1,iiki

17、kP-Value 的差值落入第 个区间的概率记作i ip(7)21+()dkiipfz在一次抽样检测中,假设样本个数为 ,落R入第 个区间中的个数为 ,构造统计值i iR2()kiii=1PV如果原假设成立的话 , RiRPi 的差距应该非常小,根据皮尔逊卡方检验,该统计值应该服从自由度为 k1 的卡方分布,即 V 2(k1)。根 据 显 著 性 水 平 计 算 拒 绝 阈 值 。21)如 果 统 计 值 V 大 于 阈 值 , 则 拒 绝 原 假 设 ,1)接 受 备 择 假 设 , 认 为 这 2 个 参 数 之 间 不 满 足 独 立关 系 。算 法 1 是 一 次 抽 样 判 断 参

18、数 与 是 否 独 立的 算 法 。 一 次 抽 样 中 样 本 个 数 为 R 条 , 其 主 要 步骤 如 下 。算法 1 Single_Sample_Test(, )1) 产生 R 条随机的二元序列,每条序列的长度为 L bit。2) 对每条序列进行如下操作: 利用 T()进行检测,检测结果记作 P1; 利用 T()进行检测,检测结果记作 P2; 计算 P= P1P2; 如果 P1+2/k 则 R1+; 如果1+2(i1)/k P 1+2i/k 则 Ri+。3) 计算 。1()iiipV4) 如果 则返回 true,否则返回2false。本文采用的是假设检验,其本质是一种概率4 通 信

19、学 报 第 30 卷检测,因此接受或者拒绝原假设存在一定的误差。另外,通过随机数算法产生的随机序列与真随机序列有一定的差距,仅通过一次检测就对参数之间的关系下结论是有偏差的,所以本文通过统计多次抽样的方法来提高检测的准确度。另外,通过率也可作为衡量 2 个参数之间相关性大小的一种度量。算法 2 是 S 次抽样进行参数无关性检测的算法,其主要步骤如下。算法 2 Independence_Statis_Test(,)1) 设置 passnum=0;2) For i=1 to S do调用算法 1,如果 Single_Sample_Test (,)=true 则 passnum+;3) 计 算 并

20、返 回 pass_proportion= 100 passnum/S。5 实验结果本节以扑克检测为研究实例,利用第 4 节给出的算法,研究扑克检测参数之间的关系。扑 克 检 测 用 到 的 参 数 m 与 序 列 长 度 L 需 要满 足 一 个 关 系 2, 那 么 当 序 列 长/5mL度 L=1 000 000bit 时,m 的范围是 的整13 数。即 m 的合理参数集合为1,2,3,4,5,6,7,8, 9,10,11,12,13 。本文采用 BBS12随机数发生器产生模拟真随机的序列,已有研究结果表明,BBS 具有较好的随机性。本文采用的参数为 R=5 000,S=100, =0.0

21、5。如果有 5 000 条序列,将1,1均匀分成20 个区间,并将第 1 与第 2 区间,第 19 与第 20个区间进行合并,共形成 18 个区间,根据式(5)和式(7),假设 2 个参数(,) 独立,那么落入各个区间的期望条数见表 1。抽样一次,利用 BBS 算法产生 5 000 条序列,利用算法 1,对参数 1 与其他参数进行无关性检测见表 1。从 表 1 可 以 得 出 , (1, 2), (1, 3), (1, 4),(1, 6), (1, 13)的 检 测 统 计 值 V 均 大 于 阈 值(通 过 查 表 知 =27.587) , 落 入 了 拒 绝20.5720.5()域 内 ,

22、 即 (1, 2), (1, 3), (1, 4), (1, 6), (1, 13)都表 1 一次抽样中参数 1 与其他参数的无关性检测结果子区间 期望条数实验观测值(1,2) (1,3) (1,4) (1,5) (1,6) (1,7) (1,8) (1,9) (1,10) (1,11) (1,12) (1,13)1 100 53 59 65 73 74 95 83 79 100 74 83 1132 125 71 105 103 111 120 128 120 125 117 118 134 1173 175 122 153 159 161 194 174 170 155 165 188 1

23、74 1904 225 164 214 202 219 207 211 203 244 216 224 232 2155 275 234 268 283 270 305 260 297 276 255 253 277 2506 325 414 362 337 339 342 336 311 354 318 316 321 3837 375 449 410 384 373 351 355 372 374 379 394 401 3238 425 510 497 473 433 436 448 423 419 425 434 433 4069 475 591 492 486 492 484 487

24、 509 492 495 471 468 48310 475 525 533 526 484 469 499 455 490 498 492 508 44611 425 416 423 425 410 461 419 430 396 417 403 420 47312 375 374 341 403 406 350 373 372 379 377 359 327 38913 325 275 313 306 349 323 295 342 312 341 339 339 30714 275 257 280 251 263 266 297 272 283 286 292 300 27615 225

25、 214 199 225 232 207 213 202 232 202 246 223 23416 175 152 168 171 154 205 178 200 161 171 182 177 15717 125 106 102 123 139 127 142 145 126 129 114 98 13918 100 73 81 78 92 79 90 94 103 109 101 85 99统计值 V 196.5 65.61 42.24 22.11 32.74 14.84 21.54 16.27 9.82 18.62 25.38 37.25第 1 期 范丽敏等:随机性检测参数选择研究 5

26、未 能 通 过 独 立 性 检 测 , 与 此 对 应 , (1, 5), (1, 7),(1, 8), (1, 9), (1, 10), (1, 11), (1, 12)通 过了 参 数 独 立 性 检 测 。为了进一步表现出通过与未通过独立性检测的差异,分别选取两种情况的代表(1,10) 和(1,2)进行对比,如图 1 所示。图 1 参数 (1,10)和参数(1, 2)与期望值拟合对比从图 1 可以看出,(1,10) 2 个参数的 P-Value之差的分布与独立参数的 P-Value 之差能够更好地吻合,差异更小,也就是参数 1 和 10 之间更符合独立的关系,而(1,2) 2 个参数的

27、P-Value 之差的分布与独立参数的 P-Value 之差有较大的差异。为了提高检测的准确性,本文采用多次抽样的方式来减小误差。利用算法 2 进行统计检测,将抽样 100 次的实验结果汇总见表 2。表 2 记录了在 100 次检测中,任意 2 个参数通过独立性假设检验(算法 1 返回为 true)的次数。从表 2 的数值中可以看到,通过次数的数值由 0到 100 不等。由 第 4 节 的 算 法 1 和 算 法 2 可 知 ,该 数 值 越 大 , 说 明 2 个 参 数 之 间 符 合 独 立 参 数 的可 能 性 越 大 , 相 反 , 数 值 越 小 , 说 明 二 者 之 间 的相

28、关 性 越 强 。从另外一个角度来说,该数值也从量上刻画了 2 个参数之间的独立程度。因此,这样的量化关系可以为实际使用中选择合适参数提供指导。例如,根据表 2,在进行扑克检测的参数选择时,假设检测者无法确定是选择参数 2 还是选择参数4。通过这个量化的表格可知,参数 2 和参数 4 与其他参数关系如表 2 中的 和 所示。与 参数 2 具有较强相关性的参数集合为1,3,4,6 ,而与参数 4 具有较强相关性的参数集合为1, 2,3,6,8,比较而言,参数 4 更具有代表性,因此优先选择参数 4。6 结束语本文从统计学角度出发,对随机性检测的参数选择问题进行了研究。给出了一个通用的假设检验方法

29、,用于检测任意 2 个参数是否满足独立性的关系。同时,该方法的计算结果也量化反映出了各参数之间依赖关系的大小。以扑克检测为研究实例,对其合理参数集中两两参数进行了实验研究,并对研究结果进行了分析。本文提出的方法是一个通用的方法,可以直接应用于其他带参数的检测项目的参数关系研究中,它为随机性表 2 扑克检测各参数的无关性统计检测结果参数 1 2 3 4 5 6 7 8 9 10 11 12 131 0 0 0 0 57 71 89 66 93 92 96 97 782 0 0 0 65 2 77 98 89 85 92 59 1003 0 15 83 0 82 67 90 93 98 87 87

30、4 0 74 15 92 13 100 94 100 65 975 0 63 98 100 85 39 97 100 1006 0 92 100 52 98 85 51 997 0 100 78 98 96 91 938 0 97 100 99 74 1009 0 98 92 92 9410 0 94 91 8811 0 86 9312 0 9413 06 通 信 学 报 第 30 卷检测中的参数选择提供了一种可操作的手段。参考文献:1 NEUMANN J. Various techniques used in connection with random digitsJ. National

31、Bureau of Standards Applied Mathematics, 1951, (12): 36-38.2 KNUYH D E. The Art of Computer Programming, Volume 2: Seminumerical AlgorithmsM. 3rd Ed, New Jersey : Addison- Wesley, 1981 .59-73.3 RUKHIN A, SOTO J, NECHVATAL J, et al. A Statistical Test Suite for Random and Pseudorandom Number Generato

32、rs for Cryptographic ApplicationsR. Technical Report, SP 800-22, 2001.4 FILIOL E. A new statistical testing for symmetric ciphers and hash functionsA. Information and Communications Security: 4th International ConferenceC. Berlin : Springer, 2002. 342-353. 5 TSANG W W, HUI L C K, CHOW K P. Tuning th

33、e collision test for powerA. Proceedings of the 27th Australasian conference on Computer Science - Volume 26 DunedinC. New Zealand: Australian Computer Society, 2004. 23-30. 6 HAMANO K, KANEKO T. Correction of overlapping template matching test included in nist randomness test suiteJ. IEICE Transact

34、ions on Fundamentals of Electronics, Communications and Computer Sciences, 2007,90(19): 1788-1792.7 PARESCHI F, ROVATTI R, SETTI G. Second-level NIST randomness tests for improving test reliabilityA. International Symposium on Circuits and Systems (ISCAS 2007)C. New Orleans, Louisiana, USA, 2007.143

35、7-1440.8 Information Security Institute. CryptX statistical software packageEB/OL. http:/www.isi.qut.edu.cu/ resources/ cryptx,19989 MARSAGLIA G . DIEHARD statistical testsEB/OL. http:/stat.fsu. edu/ geo/ diehard.html,1995.10 SOTO J. Statistical testing of random number generatorsA. The 22nd Nationa

36、l Information Systems Security ConferenceC. Crystal City, Virginia, 1999. 11 盛骤, 谢式千, 潘承毅. 概率论与数理统计 M. 北京: 高等教育出版社, 1989. 135-137. SHENG Z, XIE S Q, PAN C Y. Probability and StatisticsM. Beijing: High Education Press, 1989.135-137.12 JUNOD P. Cryptographic secure pseudo-random bits generation: the blum-blum-shub generatorEB/OL. http:/crypto.junod. info/bbs. pdf, 1999.作者简介:范丽敏(1978-),女,内蒙古赤峰人,中国科学院博士生,中国科学院软件研究所助理研究员,主要研究方向为密码学与信息安全。冯登国(1965-),男,陕西靖边人,中国科学院软件研究所研究员、博士生导师,主要研究方向为密码学与信息安全。陈华(1976-),女,山东日照人,博士,中国科学院软件研究所助理研究员,主要研究方向为密码学和信息安全。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报