【问题标题】:Which type of Key Format is better for AES 256哪种类型的密钥格式更适合 AES 256
【发布时间】:2012-02-29 07:02:36
【问题描述】:

在这里,我想使用 AES 256 Algorithm 加密和解密文件,而不是提供用于加密文件的密钥和用于解密文件的相同密钥。

那么对于良好的性能和安全性,哪个密钥也更好? 我将在这里使用哪种类型的密钥格式,以便获得更高的安全性。

这里我必须在加密和解密中使用相同的密钥。

所以请任何人都可以建议我对 Key 提出更好的建议。

【问题讨论】:

  • 您应该根据安全性而不是性能来选择密钥。影响安全性的主要关键属性是key length 和密钥随机性(即更随机的密钥更安全,因为例如,如果密钥只是某个已知单词 - 那么整个加密系统就容易受到dictionary attack 的攻击。
  • @0x69 感谢您的回复。所以我必须为密钥生成器编写代码
  • 这个问题最终无法阅读。正在解决的问题是什么?您是否在问将密钥存储在磁盘上的最佳方式是什么?我几乎可以理解你想说什么,但我真的不确定。
  • 您应该选择一个全为零的键。没有人会猜到它,它会让你的算法运行得非常快。说真的,如果您要问这些问题,您可能应该将任务委托给真正了解该任务的人 - 否则您最终会得到一个薄弱的实现。
  • 为什么这被标记为“嵌入式”。即使是针对嵌入式系统,这是否与问题相关?

标签: c embedded aes


【解决方案1】:

AES 密钥只是一堆没有结构的位。 AES-128 密钥为 128 位,必须随机选择。 AES-192 密钥是 192 位,AES-256 密钥是 256 位。没有任何不同类型或格式的键。

大多数密码库都具有生成 AES 密钥的功能。例如,对于PKCS #11 接口,call C_GenerateKey with the CKM_AES_KEY_GEN mechanism。如果库没有特定函数,则使用它生成所需数量的随机字节,例如with RAND_bytes in OpenSSL

请查阅您的加密库的实现以正确使用。特别是,随机数生成器需要来自其环境的entropy,请确保您提供了足够的资源。

【讨论】:

    猜你喜欢
    • 2012-02-17
    • 1970-01-01
    • 2013-06-16
    • 2013-02-04
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 2017-04-26
    相关资源
    最近更新 更多