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

 mobiledu2502887107 发布于 2023-02-13 17:21

我是迄今为止加密专家,因此我正在寻找软件解密建议.我的例子涉及硬件,但我的问题是寻求关于软件解决方案是否可行,可行和合理的软件建议.

背景:

在我们的产品上,我们正在考虑在我们的RFID密钥上添加加密.我们当前的固件不支持这一点,我们的硬件人员现在想升级硬件以添加随机数生成器芯片.

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

附加信息:我们使用的是低功耗ARM处理器(此时不知道该型号).

所以我的问题如下:

    你真的需要随机数来破译数据吗?

    如果是这样,为什么标准C语言库不足够?

最后,

    如果我们确实需要随机数来破译,那么任何有经验评论的人都可以评论硬件与软件随机数的利弊吗?示例:解码的随机数部分仅占总处理的1%,因此我不一定能加快速度吗?

先感谢您!

1 个回答
  • 您的困惑是因为在这种情况下,随机数不用于随机性.许多加密算法(例如RC4)基于使用密钥作为种子初始化的加密安全伪随机数随机数发生器(CSPRNG)对明文进行异或.(伪随机意味着随机数生成器使用算法生成值)然后再次使用带有密钥的CSPRNG对数据进行解密,并将其与密文进行异或.

      如果是这样,为什么标准C语言库不足够?

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

    如果我们确实需要随机数来破译,那么任何有经验评论的人都可以评论硬件与软件随机数的利弊吗?示例:解码的随机数部分仅占总处理的1%,因此我不一定能加快速度吗?

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

    2023-02-13 17:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有