gpt4 book ai didi

random - 我们需要一个随机数生成器来解密(解密)吗?

转载 作者:行者123 更新时间:2023-12-02 08:57:51 24 4
gpt4 key购买 nike

到目前为止,我是加密方面的专家,因此正在寻求软件解密建议。我的下面的例子涉及硬件,但我的问题是寻求软件建议,以确定软件解决方案是否可行、可行和合理。

背景:

在我们的产品中,我们正在考虑在 RFID key 上添加加密功能。我们当前的固件不支持此功能,我们的硬件人员现在想要升级硬件以添加随机数生成器芯片。

如上所述,我不是加密方面的专家,但我总是认为加密需要随机数生成器,但解密不需要?

附加信息:我们正在使用低功耗 ARM 处理器(目前不知道型号)。

所以我的问题如下:

  1. 您真的需要随机数来解密数据吗?
  2. 如果是这样,为什么标准 C 语言库还不够?

最后,

  1. 如果我们确实需要随机数来破译,任何有经验的人都可以评论一下使用硬件随机数与软件随机数的优点/缺点吗?示例:解密的随机数部分仅占总处理的 1%,因此我不一定会加快速度?

提前谢谢您!

最佳答案

您的困惑是因为在这种情况下,随机数没有用于随机性。许多加密算法(例如 RC4)基于使用以 key 作为种子进行初始化的加密安全伪随机数生成器 (CSPRNG) 对明文进行异或运算。 (伪随机意味着随机数生成器使用算法来生成值)然后再次使用 CSPRNG 和 key 并将其与密文进行异或运算来解密数据。

  1. If so, why wouldn't a standard C language library be sufficient?

不,因为几乎所有 rand() 实现都使用 LCG ,这是不安全的,不适合加密目的。

If we do need random numbers to decipher, can anyone with experience comment of the benefits/disadvantages of having hardware vs. software random numbers? Example: Is the random number portion of a decipher only 1% of the total processing and thus I would not necessarily speed things up?

正如所解释的,使用 CSPRNG 生成值实际上占用了加密所需的所有计算能力;唯一的另一个步骤是将 CSPRNG 与明文/密文进行异或。但是,我认为您不需要硬件加速的伪随机生成器,因为 RC4 在 Pentium 上只需要每个字节 7 个周期,而大多数实用的加密算法每个字节不到 100 个周期。如果需要加密速度超过每秒数百兆字节,那么硬件加速伪随机生成器将显着加速加密速度。

关于random - 我们需要一个随机数生成器来解密(解密)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20302216/

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