硬件随机数生成器输出预测与低复杂度位并行多项式基乘法器分析
硬件随机数生成器输出预测
在硬件随机数生成器(RNG)的安全分析中,攻击者试图预测其输出的情况备受关注。
1. 时钟数量猜测策略
- 攻击者在猜测不同样本间的时钟数量时,不能随意组合。例如,若已知LFSR时钟数在200到240之间,不应将第一个和第二个样本间设为200,第二个和第三个样本间设为240,因为振荡器频率不会突然从很低变为很高。
- 最佳策略是假设从第二个到第三个样本时钟频率变化很小,优先尝试时钟数量差异小的组合。
2. 确定CA和LFSR的内部状态
- 假设攻击者已正确猜出RNG三次最高速度采样之间CA和LFSR的时钟数量,试图从三个32位输出字找出机器的内部状态。
- 采用暴力破解法因约$2^{43 + 37}$种可能的初始状态而不切实际,高效的解决方案需依赖状态机的特性。
- 两个有限状态机在GF(2)上是线性的,计算RNG输出的组合函数也是线性的,因此需解一个包含96个线性方程的系统来确定CA和LFSR状态的80位。
- 方程数量比变量多16个,有助于排除对有限状态机时钟数量的错误猜测,错误猜测导致无解线性方程组的概率为$1 - 1/2^{16}$。
- 写线性方程时,存在一个小问题,即未明确每个有限状态机使用的32位以及它们的排列方式。攻击者可通过逆向工程芯片获取此信息,在后续分析中假设攻击者已知这些信息。
- 在400 MHz的奔腾II上,Mathematica 4.2使用LinearSolve[]函数在0.06秒内解出方程组。使用更快的PC或专用软件可显著缩短时间
超级会员免费看
订阅专栏 解锁全文

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



