一种新型的便携式真随机数发生器简述

2022-09-13

随机数在密码学中一个非常重要的研究方向, 在数字加密, 产生密钥和身份认证等过程中扮演着极其重要的角色[1]。随着网络技术的发展, 需要将密码学引入到信息系统以保障信息的传输与存储安全, 而作为密码学的核心, 密钥的质量主要依赖于随机数的不可预测性和不可重复性[2]。通常产生随机数有两种方法, 即使用伪随机数发生器 (Pseudo-Random Number Generator, PRNG) 和真随机数发生器 (True Random Number Generator, TRNG) 。PRNG有较高的生成速率和执行效率, 但是存在容易被攻击者利用的漏洞。TRNG一般选取一个随机的物理现象作为随机源, 但需要昂贵的专业外围硬件设备。因此, 在个人加密应用领域, 传统TRNG实现方法显得并不适合。在本文提出了一种基于普通智能手机摄像头的TRNG实现方法, 能够很好地配合军事以及商业生活中个人的加密方案。给出了此方法的详细结构, 介绍了其工作原理, 并讨论了测试结果。

图2 (a) 红色像素生成的原始图像; (b) 相邻两帧图像灰度级差异; (c) 相邻两帧图像差异的统计分布; (d) 12.288K熵增强二进制序列T形成位图

一、便携式TRNG的原理分析

图像传感器的噪声分成三个部分[3]:散粒噪声、读出噪声以及固定模式噪声。光电流的散粒噪声被认为是一种量子过程, 因此如果图像的信噪比适中, 就能保证噪声有良好的随机性。我们设计了一种基于智能手机摄像头的TRNG实现方法, 其结构如图1所示。

操作者将拇指同时摁压住图像传感器和后置摄像头的闪光灯上, 闪光灯发出的光因拇指皮肤和肌肉组织的吸收而减弱, 少量的光线会散射到图像传感器中形成照明。我们只使用了红色的像素点用于随机数生成。

图2 (a) 是由红色像素形成的原始图像, 灰度呈现出一种平滑的变化趋势。将两帧相邻的图像相减, 我们发现两张图片灰度值差的变化呈均匀分布, 如图2 (b) 所示。对相邻两帧图像灰度差异的分布进行进一步的概率统计可以得到图2 (c) 所示的直方图。该直方图呈高斯分布, 均值为0, 方差为28.1。通过简单的映射所有的正值差异为“1”而所有的负值差异为“0”来得到一组原始的随机数序列。

对原始随机数序列作矩阵乘法, 增强其熵值, 真随机数矩阵T, 其表达式如下:

其中, mod2 (*) 代表以2为模的运算。从一张图片里我们大约可以获得1M比特的随机数。图2 (d) 所示的是由128×96位随机数矩阵T构成的一幅位图, 图中没有出现明显的图案、偏置或者关联度。

二、实验结果分析

为了评估本文提出的TRNG方法生成的真随机数的质量, 我们生成了1G比特的随机数序列, 用来进行统计测试。用NIST随机数测试软件所提供的全部15个测试实验对生成的随机数序列随机性进行了评估。由于统计波动, 对于参加测试的多组随机数序列, 其总体通过测试的成功率应达到98%以上[4]。图3是测试结果。

生成的随机数序列通过了全部的测试实验 (p_value≥0.01) , 其最低的测试项成功率也达到了98.47%, 表明了本文提出的TRNG方法可以生成随机性优良的真随机数。

三、总结

针对随机数在密码学领域中的中重要作用, 本文提出了一种基于智能手机相机的便携式TRNG, 实现方便, 无需再增加多余的外围硬件设备。基于该方案的TRNG使用图像传感器光电流的散粒噪声生成原始随机数序列。最后, 我们应用美国NIST机构提出的15个测试实验, 结果表明, 该TRNG具有良好的随机性。

摘要:真随机数的应用十分广泛, 然而现有的真随机数发生器 (TRNG) 往往基于专业的硬件系统, 造价昂贵, 并不适合个人加密应用场合。本文中, 我们提出了一种基于智能手机摄像头的便携式TRNG实现方案。该方案无需外围辅助设备, 依靠操作者的拇指覆盖摄像头的图像传感器与闪光灯, 根据散粒噪声的波动可以获得原始随机数序列。

关键词:真随机数发生器 (TRNG) ,散粒噪声,图像传感器

参考文献

[1] 郭宏, 刘钰, 党安红, 韦韦.物理真随机数发生器[J].科学通报, 2009, 54:3651-3657.

[2] 董俊, 朱文, 蒲秀英, 席月平.物理真随机发生器的设计[J].电光与控制, 2013, 20 (2) :95-96.

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:技术类院校发展的契机下一篇:以战略为导向的全面预算管理在高新技术企业的应用研究