gpt4 book ai didi

c - 基于 15 个种子的随机公式

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:51:35 25 4
gpt4 key购买 nike

我正在攻读大学学位,但遇到了一个随机函数。我正在使用没有配置时钟的微 Controller 。因此,我决定使用 ADC(模数转换)作为我的随机函数的种子。

所以我有 15 个两个字节的变量,其中存储了一些“随机”值(转换并不总是相同,区别在于 LSB(在我的例子中最后一位:例如,现在 adc 读取的值是700,在 5 毫秒内是 701,然后回到 700,然后是 702 等等)。所以,我想构建一个随机函数,使用最后 4 位让我们从这些变量中说出来。

我的问题是:你能给我一个好的随机公式的例子吗?

( Variable1 >> 4 ) ^ ( Variable2 << 4 )等等……

我希望能够在 1 个字节上获得一个相当随机的数字(这是最好的情况)。它将用于我已经实现的 RSA 算法(我有一个包含质数的大查找表,我需要该表中的 2 个随机数)。

最佳答案

通常为此目的使用加密哈希函数,如 SHA 或 MD5。只要你的输入数据包含足够的熵,你就会得到一个随机的输出。参见 https://en.wikipedia.org/wiki/Entropy_(computing)

但是,对于您的用例来说,这可能工作量有点大。如果只需要 8 位,则可以使用 8 位循环冗余码 (CRC)。它将具有类似的属性——因为任何 8 个输入位都可用于完全确定输出,只要至少 8 个输入位是随机的,输出就会是随机的。参见 http://www.sunshine2k.de/articles/coding/crc/understanding_crc.html

这将满足您的要求……但请注意!听起来您正在编写一个完全不安全的 RSA 实现。在任何情况下,您都不能仅使用 8 位随机数来安全地生成 RSA key 。

关于c - 基于 15 个种子的随机公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49318724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com