我希望在生成随机密钥和随机IV加密方面更有效率。但使用随机密钥作为IV是否可行且安全?
答案 0 :(得分:1)
你可以,但它不安全。
通常的做法是对iv使用加密安全的随机字节序列,并将iv添加到加密数据中。这允许解密功能具有相同的iv。
如果使用相同的密钥加密相同的消息,则使用随机iv,密码文本将不同,usia密钥将允许相同的密文。拥有相同的密文可能会泄露重要信息。
安全性的交易效率不是一个好主意,如果没有证明基准测试需要额外的效率,那么就是过早的优化。
唐纳德克努特:真正的问题是程序员花了太多时间在错误的地方和错误的时间担心效率;过早优化是编程中所有邪恶(或至少大部分)的根源。
答案 1 :(得分:0)
您的安全问题加倍。普通的IV可以按原样发送,通常是前面的密文消息。如果您的IV与密钥相同,那么您必须保持IV与密钥一样安全,这意味着您无法执行通常的预先添加。您必须添加一个&#IV; IV交换'处理您的密钥交换'过程
所有这些都是额外的工作。更容易使用标准CSPRNG来生成IV并预先添加它。