4. 熵源建模与随机过程分析
在TRNG工程中,物理熵源输出的原始信号往往并不是理想的白噪声。它可能包含直流偏置、周期性干扰、低频漂移、1/f闪烁噪声,甚至存在短时相关性和状态记忆。如果直接对原始采样做后处理,而不理解其随机过程特性,就可能高估熵率、误判随机性,最终导致密钥空间被压缩。因此,熵源建模的核心任务不是“证明它随机”,而是用可检验的模型描述它“在什么条件下、以多快的速度产生多少不可预测性”。
本节围绕白噪声、1/f噪声、马尔可夫过程、自相关函数、功率谱密度、熵率估计与模型验证展开,重点说明如何从采样序列出发,建立可计算、可验证的随机过程模型。
一、从白噪声到有色噪声:先看自相关与功率谱
白噪声是最基础的随机过程模型:任意两个不同时刻的采样值互不相关,自相关函数在零延迟处为方差,其余延迟处为零。其功率谱密度在整个频带上平坦。工程上常说的“白噪声”通常指宽带、近似不相关的热噪声或散粒噪声。但真实熵源经过放大器、ADC采样保持电路和电源耦合后,频谱往往不再平坦。
描述这种非平坦特性,最直接的工具是自相关函数和功率谱密度。自相关函数定义为:
Rxx[k] = E[ x[n] · x[n+k] ]
其中k为延迟点数。若Rxx[k]在k≠0时迅速衰减到接近零,说明样本间相关性弱;若衰减缓慢或出现周期性峰,说明存在低频漂移或周期干扰。功率谱密度则是自相关函数的傅里叶变换,用于观察能量在频带上的分布。白噪声对应平坦谱;1/f噪声对应低频能量显著高于高频;单频干扰则在谱上表现为尖峰。
实际分析时,通常先去除直流分量,再计算自相关和功率谱。若采样率为fs,延迟k对应的物理时间滞后为k/fs。例如fs=1 MHz,k=10对应10 μs。若自相关在10 μs内衰减到噪声底以下,说明样本间相关性时间尺度约为微秒级,这为后续抽取或压缩提供了依据。
二、1/f噪声与马尔可夫过程:两种常见的非理想模型
1/f噪声,又称闪烁噪声,广泛存在于MOSFET、电阻和放大器输入级。其功率谱密度近似满足S(f)∝1/f^α,α通常在0.8到1.2之间。1/f噪声的特点是低频能量大、长程相关强,单纯增加采样率并不能显著提高熵率,因为相邻样本高度相关。对于这类熵源,常用做法是高速采样后做差分、抽取或使用高频段信号,以避开低频主导区。
马尔可夫过程则从状态转移角度描述随机性。若当前状态只依赖前一状态,则为一阶马尔可夫链。对于离散化后的熵源输出,可以统计状态转移概率矩阵P,其中Pij表示从状态i转移到状态j的概率。若转移矩阵各行接近均匀分布,说明下一状态难以预测;若某行概率高度集中,说明存在强记忆性,熵率会显著降低。
马尔可夫模型的价值在于:它把“随机性”转化为可计算的转移概率,并可通过矩阵幂或平稳分布估计长期行为。对于TRNG,若熵源存在明显状态记忆,应使用马尔可夫模型估计熵率,而不是简单套用独立同分布假设。
三、熵率估计:从模型到可量化指标
熵率表示随机过程每输出一个符号所携带的平均不可预测信息量。对于独立同分布序列,熵率等于单符号香农熵:
H = -Σ p(x) log2 p(x)
对于马尔可夫链,熵率为:
H_rate = Σ π(i) Σ P(i,j) log2(1/P(i,j))
其中π(i)为平稳分布。对于连续值熵源,通常先量化到有限符号集,再按上述公式估计。若存在自相关,还可采用块熵、条件熵或压缩率估计。工程上常用NIST SP 800-90B中的最小熵估计方法,但前提是模型假设合理。
一个可操作的估计流程是:采集足够长的原始样本,去除直流,计算自相关和功率谱,判断噪声类型;若近似白噪声,按独立同分布估计熵率;若存在短时相关,建立一阶或二阶马尔可夫模型;若存在1/f低频主导,先做高通或差分预处理,再重新估计。最终得到的熵率应明显低于原始采样率,二者之比可作为每比特采样可提取的熵量参考。
四、模型验证:不能只看一条曲线
模型验证的目标是判断所选模型是否足以描述熵源行为。常用方法包括:残差自相关检验、功率谱平坦度检验、卡方拟合优度检验、游程检验以及条件熵随阶数变化检验。若残差自相关仍显著非零,说明模型阶数不足;若功率谱在某个频点持续出现尖峰,说明存在未建模的周期干扰。
验证时还应关注采样条件变化:电源电压、温度、时钟频率变化后,自相关和熵率是否稳定。若熵率随温度显著下降,说明模型参数需要加入环境变量,或在设计中增加在线健康测试。
五、工程实践中的建模要点
在实际TRNG设计中,熵源建模通常不是一次性工作,而是与健康测试、后处理设计联动。建议按以下顺序推进:第一,采集原始数据并保存原始样本,不要只保存后处理结果;第二,计算自相关和功率谱,判断噪声类型;第三,根据噪声类型选择模型,白噪声用独立同分布,短时相关用马尔可夫,低频主导用差分或高通;第四,估计熵率并留出安全裕量,通常取估计值的50%到70%作为可用熵;第五,用独立数据集验证模型,检查残差和谱平坦度。
需要特别注意的是,熵率估计结果依赖于采样条件和模型假设。若电源纹波、时钟抖动或温度变化导致噪声特性改变,原模型可能失效。因此,在线健康测试应监测自相关、游程和熵率下界,一旦偏离预期范围就触发告警或停止输出。
总结来看,熵源建模的关键在于:先看自相关和功率谱判断噪声类型,再选择白噪声、1/f噪声或马尔可夫过程等模型,然后用熵率公式量化不可预测性,最后通过残差检验和条件熵检验验证模型。只有模型、估计和验证三者一致,TRNG的熵率声明才具有工程可信度。