部件号:MSP430-3P-AWGH-AMB8423-DEVBD
工具/软件:TI C/C++编译器
我想在ADC的帮助下生成一个随机数,具有最大的随机性。
请帮助。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
部件号:MSP430-3P-AWGH-AMB8423-DEVBD
工具/软件:TI C/C++编译器
我想在ADC的帮助下生成一个随机数,具有最大的随机性。
请帮助。
Chris Karaplis 说:您可以让引脚保持浮动状态,然后从多个测量中获取LSB以构建初始值[/QUOT]
浮动销钉是个坏主意。 — 针脚CAN“接收”周期性信号,这与随机信号相差很远。 想象一下,如果引脚接收交流电源EMI,而ADC采样频率比交流频率高得多,如500 SPS,那么您将得到1和0的字符串,如0.0011万1111000000111111。11.11万。</s>0.00111111亿 完全没有随机性。
为随机数生成器创建良好的硬件熵源 并不是一项简单的任务,有些甚至获得了专利。 其中一个众所周知的噪声源是齐纳二极管 -如果由无噪声电压源供电。 我建议不要使用浮动引脚,而是使用VCC作为参考对通道0x0B (内部VCC分频器)进行采样。 很明显,正如Chris已经建议的,只有LSB用于熵,但这种熵生成器的质量仍有待观察。 当收集到足够的熵位时,最好使用AES-CTR或类似的加密/哈希算法对它们进行编码
Clemens Ladisch 说:ADC的采样保持电路可能会释放任何随机电荷。[/QUOT]
您是否连续采样MSP430 充电再分配ADC的浮动引脚? :)你应该尝试一下。 问题是整个ADC具有大约27pF的内部电容,LSB电容器只是其中的一小部分。 不需要太多的费用就可以翻倒它。