Jas*_*n S 14 random embedded entropy uniqueidentifier
我有一个嵌入式系统.我希望它在启动或以其他方式重置时要做的是生成唯一ID,以便在不同的重启时生成不同的唯一ID,概率很高.
它无法访问实时时钟,但可以访问ADC和UART.我想知道是否有一种不错的方法从这些来源收集熵以生成唯一的ID.我对亚罗很模糊.有一个很好的方法来使用它吗?
不幸的是,我没有任何可预测特征的噪声源; ADC连接到许多相对低噪声的输入,所以我想我可以使用ADC的最低有效位作为输入.
编辑:对于它的价值,这是TI TMS320F28335处理器.
更新/澄清:我正在寻找一种收集熵的软件方法.我找到了解决问题的另一种方法,所以在某种程度上,我的问题是一个没有实际意义的问题,但我仍在寻找有关特定软件解决方案的指导,以便从低熵源(如ADC和系统的最低有效位)收集熵接收UART字符的时间.
Dan*_*Dan 11
我用过:
浮动ADC输入的最低位,但你接触到了它
一个极高分辨率的定时器(~10ns),当用户按键之间的定时时,它取最低的"n"位.如果您接受用户按键(在最高时间分辨率下)在时间上是有效随机的,那么它的效果非常好.
您还可以计算网络数据包之间的时间等等,但这些可能比很多人的事情更具确定性/可预测性.电噪声和用户交互是更好的熵源.
顺便说一句,关于"按键之间的时间"的东西,我倾向于将它们存储在嵌入式系统上,从上电开始,在最后8个左右的循环缓冲区中,因为你永远不知道你什么时候需要他们.(换句话说:不要等到你需要随机位,然后强迫用户按下按钮3次!)