


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于CryptoAPI的生物医学真随机数的生成器【关键词】 随机数生成器 【Abstract】 AIM: To establish a true random number generator based on Microsoft CryptoAPI. METHODS: The random numbers were obtained by programming under Microsoft Visual C+ 6.0, via CryptGenRandom function, following the installation of Intel Security Driver (ISD) on an Intel 815E chipset based personal computer. RESULTS: The author tested the generator with 500 random numbers in NIST FIPS 1401 and 2 RSquared test and the result showed that it fitted the need of independent and uniform distribution. The author also compared the random numbers produced by Intel RNG based true random number generator and those from the random number table with statistics parameters, by using the same amount of 7500 random numbers in the same value domain. The result showed that SD, SE and CV of Intel RNG based random number generator were smaller than those of random number table. The result of u test of two CVs indicated that there was no difference between the two methods. CONCLUSION: Intel CryptoAPI based random number generator can produce high quality random numbers with independent and uniform distribution features. 【Keywords】 CryptoAPI; Intel RNG unit; true random number; FIPS 1401; random number table 【摘要】 目的: 构建基于Microsoft CryptoAPI的真随机数生成器. 方法:在Intel 815E 芯片组的个人电脑上安装Intel Security Driver(ISD)后,使用Microsoft Visual C+ 6编程,通过CryptGenRandom函数获取真随机数. 结果:生成的500个随机数通过了NIST FIPS 1401和2拟合优度检验(=0.05),表明本方法所生成的随机数满足独立性和分布均匀性的要求. 生成7500个随机数经域值变换后与随机数表中的同等数目的随机数进行了统计学比较,结果显示前者的均值偏移、SD, SE和CV均小于后者. 结论:基于CryptoAPI的真随机数生成器可以生成满足独立性和分布均匀性的真随机数. 【关键词】 CryptoAPI;Intel RNG Unit; 真随机数;NIST FIPS 1401;随机数表 0引言 随机数在生物医学中使用非常广泛. 通过随机数生成器(random number generator, RNG)可以获取随机数字. 基于硬件源(例如热噪声和电流噪声等)的真随机数生成器(true random number generator)1具有最好的统计学特性,但是目前的硬件随机数生成器(例如ComScire QNG等)价格昂贵. 微软公司(Microsoft) CryptoAPI系统构架分为两层:面向客户系统的界面层和下面的真正提供密码算法的计算层. 底层的每个驱动可以称之为“Cryptographic Service Provider”(CSP). 微软公司在发布CryptoAPI的时候就已经内置了若干种CSP,即Microsoft Base Cryptographic Provider(MBCP). CryptGenRandom函数就位于MBCP中的Microsoft RSA Base Provider中. 对于能提供RNG的芯片组,在安装相应驱动,例如Intel RNG的Intel Security Driver(ISD)2和VIA的VIA Random Number Generator(VRNG)3等之后,就能生成相应的CSP,供CryptoAPI体系调用. 因此使用CryptGenRandom函数所获得的随机数是真随机数. 1材料和方法4 1.1材料 在兼容机(intel PIII 667, 主板:ASUS TUSL2C,815E芯片组,512M KingMax PC133 RAM)上使用Microsoft Visual C+.net 2003编制了计算机程序. 1.2方法使用CryptGenRandom()函数获取随机数(Fig 1). 使用的伪代码如下:#define WIN32_WINNT 0x400; #include ; #include ; #include iscp4ms.h. HCRYPTPROV hProv;DWORD randomNumber = 0;DWORD randomLength = 4;/获取句柄.If (!CryptAcquireContext(&hProv, NULL, INTEL_DEF_PROV, PROV_INTEL_SEC, 0) printf(“No Found!n”,GetLastError(); return FAIL;/获取随机数(4位).If (CryptGenRandom(hProv, randomLength, (BYTE*) &randomNumber)!=TRUE) /释放CSP句柄. CryptReleaseContext(hProv,0); Return FAIL;/释放CSP句柄.CryptReleaseContext(hProv,0); 2结果 根据最少需要80Mbit连续RNG输出的原则5,我们生成了100Mbit连续随机数,部分数据如下((0,1)域,4位小数)(Tab 1). 随机数的随机性检验常用2检验(罕用KS检验和经验检验);分布均匀性检验我们使用2拟合优度检验法;独立性常用游程检验法检验. 我们使用美国国家技术标准局 ( NIST)的FIPS(Federal Information Processing Standards Publication)14016对所生成的随机数进行了测试, 结果显示,Intel随机数生成器通过了统计学FIPS1401测试,证明本实验所生成的随机数符合随机数的特征,通过了独立性检验、参数检验和组合规律检验(Tab 2).表2FIPS1401测试结果(略) 为了验证所生成的随机数分布的均匀性,我们再用2拟合优度检验法对这些数作分布均匀性检验. 假设:H0: r1,r2,r3,rn为均匀总体的随机样本. 将样本r1,r2,r3,rn(n=500)的取值范围分布在m个(m=10)等宽的区间,用i-1m,im)(i=1,2,3,m)来表示第i个小区间,即分成0.0,0.1), 0.1,0.2), 0.2,0.3), 0.3,0.4), 0.4,0.5), 0.5,0.6), 0.6,0.7),0.7,0.8), 0.8,0.9), 0.9,1.0),共10个区间. 设rj(j=1,2,3,m)落入每个小区间的数目为ni(i=1,2,3,m). 根据假设,rj落入每个小区间的概率为1m,第i个小区间的理论频数ui=nm(i=1,2,m),统计量V=mi=1(ni-ui)2ui=mnmi=1(ni-nm)2渐进服从2(m-1). 使用Origin 7.5(SR1)对500个随机数进行频数统计,得m110的频数为52, 53, 32, 49, 44, 43, 59, 48, 58, 62. 计算统计量值: V=mnmi=1(ni-nm)2=15010i=1(ni-50)2=14.32 给定显著性水平=0.05,取m=10,则自由度v=m-1=9. 查2分布临界值为18.307. 可知,V<18.307,所以假设H0成立. rn为来自均匀分布的总体的随机样本. Microsoft公司的(Trusted Computing Platform Alliance)7,8是下一代操作系统安全构架,因此使用基于Windows CryptoAPI函数的随机数生成器具有广泛的使用性,是一种优秀的随机数生成器. 在生物医学上,随机数的性能取决于它的均匀性和距离理论频数的偏移程度. 我们选取了卫生统计学北京:人民卫生出版社,1978:215-220后面随机数表中的所有随机数字(7500个,0,99)). 我们将基于Intel RNG的随机数生成器所生成的7500个随机数乘以100后,截掉尾数,使其从(0,1)域转换成0,100域. 由于截尾(使用round()函数)有四舍五入的问题,因此其界值1和100不作为统计之用. 对随机数表(记为A组)和随机数生成器所生成的随机数(记为B组)使用SPSS 11.5统计频数后,用Origin7.5(SR1)作频数图(Fig 2). 为了检验两个变异系数之间有无差别,常用检验. 由于本例中,测量值与真值(在本例中即为均值的偏移程度)接近于0(分别是0.6316和0.76173),变异系数很小(<0.5%),因此检验以平均绝对误差、标准差等为准. 以上结果显示,均值偏移:AB;虽然两者的差别没有显著性(CV差别为0.00041%),但是B组的频数离散度和最大偏移均小于A组,因此我们认为基于CryptoAPI的随机数生成所产生的随机数比基于随机数表的随机数表中的随机数具有更好的统计学性能. 3讨论 以上真随机数生成方法可以用于任何能提供硬件CSP的操作系统中. 既可用于具有Intel RNG的Intel芯片组(包括810, 815, 820和840芯片组系列)的个人计算机;也可以用于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030帐篷营地酒店消费升级趋势与投资风险评估报告
- 2025-2030工业互联网平台架构分析及垂直行业解决方案与战略合作机会报告
- 2025年潮玩行业IP运营模式创新研究:跨界合作与品牌价值提升
- 传递正能量课件
- 2025年生态修复微生物在生物降解塑料生物降解性能提升中的应用研究报告
- 2025年医疗器械经营监督管理办法试题与答案
- 传输层设备基础知识培训课件
- 心律失常教学课件
- 九江单招数学试卷
- 吕梁市中考数学试卷
- 【图文】个人简历模板大全-可直接下载使用
- 2025广西百色工业和信息化委员会事业单位招聘拟聘高频重点模拟试卷提升(共500题附带答案详解)
- 跨境运输问题应急预案
- 预包装食品采购合同样本6篇
- 2025年美术作品授权合同协议
- 《上市公司再融资》课件
- 构建学校与家庭共育的信息化平台研究
- 2025年下派挂职干部工作总结范例(三篇)
- 文化创意产业IP开发与授权经营策略规划方案
- 《腹股沟疝》课件
- 二十案例示轮回
评论
0/150
提交评论