大佬教程收集整理的这篇文章主要介绍了c – 如何使用STM32 MCU生成REAL随机数?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
但你可以自己动手.通常的方法是测量INDEPENDENT时钟之间的抖动.独立意味着两个时钟由不同的christal或RC振荡器支持,而不是来自相同的.
我会用:
>从系统时钟(MHz范围)派生的SysTick定时器/计数器
>其中一个kHz范围的RC振荡器
在kHz范围RC振荡器上设置一个计数器,每秒几次给你一个中断.在中断处理程序中,您读取SysTick计数器的当前值.无论SysTick是否用于其他目的(调度),低5位都是不可预测的.
为了获得随机数,请使用普通的伪RNG.使用上面收集的熵不可预测地改变伪RNG的内部状态.对于密钥生成,不要一次读取所有位,但允许发生几个突变.
对此的攻击是显而易见的:如果攻击者可以测量或控制高达MHz精度的kHz范围RC振荡器,则随机性消失.如果您担心这一点,请使用智能卡或其他安全协处理器.
以上是大佬教程为你收集整理的c – 如何使用STM32 MCU生成REAL随机数?全部内容,希望文章能够帮你解决c – 如何使用STM32 MCU生成REAL随机数?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。