Encryption 我如何估计这个输入的熵含量?

Encryption 我如何估计这个输入的熵含量?,encryption,random,pic,entropy,analog-digital-converter,Encryption,Random,Pic,Entropy,Analog Digital Converter,我有一个1KHZ的三角波发生器,我使用模拟输入从PIC微控制器测量。三角波和模拟捕获的频率源是独立的频率源。ADC以100ksps的速度捕获12个[edit:10]可用精度位 我想估计模拟样本中包含的熵,以便生成真正的随机数。我已经确定的熵的两个来源是开尔文噪声和频率源偏移 从捕获的波形中,我可以每秒连续区分两个频率,并且平均每秒捕获一个开尔文输入阈值翻转事件。所以我估计大约是每秒两比特的熵 有人能想出一种方法来证明更大的熵估计吗 根据S.O.上已经发布的类似问题的答案,我将补充以下澄清: 我对

我有一个1KHZ的三角波发生器,我使用模拟输入从PIC微控制器测量。三角波和模拟捕获的频率源是独立的频率源。ADC以100ksps的速度捕获12个[edit:10]可用精度位

我想估计模拟样本中包含的熵,以便生成真正的随机数。我已经确定的熵的两个来源是开尔文噪声和频率源偏移

从捕获的波形中,我可以每秒连续区分两个频率,并且平均每秒捕获一个开尔文输入阈值翻转事件。所以我估计大约是每秒两比特的熵

有人能想出一种方法来证明更大的熵估计吗

根据S.O.上已经发布的类似问题的答案,我将补充以下澄清:

我对熵源的其他想法并不特别感兴趣,因为我仍然需要为这些替代源回答同样的问题


对数据本身进行自相关分析或其他随机性度量并不是正确的答案,因为他们会非常乐观。

我取得了一些可能对其他人有所帮助的进展

主要资源

引脚电容将ADC带宽内可测量的热噪声量限制为20uV。对于各种各样的控制器,这应该或多或少是相同的。在信号和引脚之间使用~10K电阻。较小的值将降低噪波,但会增加可能的采样率

信号不需要是随机的。它只需要在至少几个离散输入步骤的范围内均匀分布。请注意,在与输入相同的时钟域上向GPIO输出可能不满足此要求

对于动态范围为3.3V的10b ADC,每个离散阶跃为3mV。每个样本的熵约为20uV/3mV=每个样本0.006位


还请注意,这不需要模拟输入。你可以用数字输入,但是箱子的大小会大很多(1V?),答案更像是每个样本0.000018位。因此,每毫秒采集一次输入样本,生成一个64位随机种子大约需要一个小时。

我取得了一些进展,可能对其他人有所帮助

主要资源

引脚电容将ADC带宽内可测量的热噪声量限制为20uV。对于各种各样的控制器,这应该或多或少是相同的。在信号和引脚之间使用~10K电阻。较小的值将降低噪波,但会增加可能的采样率

信号不需要是随机的。它只需要在至少几个离散输入步骤的范围内均匀分布。请注意,在与输入相同的时钟域上向GPIO输出可能不满足此要求

对于动态范围为3.3V的10b ADC,每个离散阶跃为3mV。每个样本的熵约为20uV/3mV=每个样本0.006位


还请注意,这不需要模拟输入。你可以用数字输入,但是箱子的大小会大很多(1V?),答案更像是每个样本0.000018位。因此,每毫秒采集一次输入样本,生成一个64位随机种子大约需要一个小时。

如果我们谈论的是“物理”熵,那么你的问题就离题了。但我们可以很容易地对模拟信号进行采样,将其转换为数字波形,然后在信息理论的背景下讨论entryopy

测量数字信号中的熵的一种简单而精确的方法是尝试使用可用的最佳方法对其进行压缩。压缩比越高,信息内容越小


如果您的目标是生成随机位以生成种子(如其他答案中所述),那么一种有用的方法是使用通用压缩算法压缩从环境中采样的随机性(键盘笔划、鼠标移动、模拟系统),然后丢弃字典。剩下的将有重要的信息内容。

如果我们谈论的是“物理”熵,那么你的问题就离题了。但我们可以很容易地对模拟信号进行采样,将其转换为数字波形,然后在信息理论的背景下讨论entryopy

测量数字信号中的熵的一种简单而精确的方法是尝试使用可用的最佳方法对其进行压缩。压缩比越高,信息内容越小


如果您的目标是生成随机位以生成种子(如其他答案中所述),那么一种有用的方法是使用通用压缩算法压缩从环境中采样的随机性(键盘笔划、鼠标移动、模拟系统),然后丢弃字典。剩下的将具有重要的信息内容。

NIST出版物SP800-90B建议将最小熵作为熵度量。然而,测试熵源的最小熵是非常重要的。参见NIST SP800-90B了解此类测试的一种方法。

NIST出版物SP800-90B建议将最小熵作为熵度量。然而,测试熵源的最小熵是非常重要的。参见NIST SP800-90B,了解此类测试的一种方法。

对不起,没有帮助,但我对术语“开尔文输入阈值异常事件”很好奇。我用谷歌搜索过,但没找到多少。你有什么参考资料吗?谢谢。我不知道,但是生成真正的随机数?啊,你是个小丑。使用PIC ADC,您永远无法获得12位可用精度,请查看数据表。回答此问题需要大量有关源物理的知识,因此是离题的。谢谢您的关注