真正随机数生成器的设计与在变化环境中的安全性
真正随机数生成器的设计原理
真正随机数生成器(TRNG)通过利用常见数字电路中的模拟电路伪像来产生随机比特。具体做法是创建对噪声敏感的电路,让自然产生的半导体噪声决定最终输出。虽然单个电路可能并非完全无偏,但将数量相对较少的类似电路进行异或运算,就能得到可用的随机结果。此外,还使用了不同种类的门(均为标准库组件),使整体设计能抵御预期的环境和工艺变化。
随机数生成器的组件
TRNG 通常由两个组件构成:
1. 高熵源 :获取具有高熵的不可预测数字数据的设备。这些数据来源广泛,如基于热噪声或放射性衰变的硬件设备、用户的键盘输入模式、硬盘或网络的时序数据等。这里只假定数据具有高熵,不要求其有特定结构,如单个比特之间的独立性。
2. 随机性提取器 :应用于高熵源的函数,用于得到更短但符合均匀分布(或统计上接近均匀分布)的输出字符串。
运行环境的影响
TRNG 中的高熵源易受设备物理环境变化的影响,像温度改变、电源电压或频率变化、辐射暴露等。在用于加密时,需假定对手可能控制部分参数。若对手能使源的熵降为零,TRNG 将完全不安全,但合理假设是对手只能部分控制源,影响其输出却无法完全消除熵。
现有随机性提取器的分类
- 假设数学结构的设计
- 冯·诺伊曼提取器 :以输入源 (X_1, \ldots, X_n) 为例,它考虑 (X_{2i}, X_{
超级会员免费看
订阅专栏 解锁全文
915

被折叠的 条评论
为什么被折叠?



