Sim*_*mon 2 encryption android aes
我正在使用 ECDH 在 Alice 和 Bob 之间共享一个秘密,一个在 Android 上运行,另一个在嵌入式上运行。我的理解是,最佳实践是双方生成 AES 密钥来加密消息。有人可以发送一些示例,说明 Alice 和 Bob 在使用 ECDH 就共享密钥达成一致后如何生成相同的 AES 密钥吗?
最好遵循 NIST 关于密钥协议方案的建议,例如使用NIST SP 800-56A以及实施者指南中的建议以及NIST SP 800-108中指定的密钥导出方法之一。它描述了如何将秘密转换为字节,然后可以使用 KDF 之一转换为(多个)密钥。
请注意,自 1.50 起,关键派生就存在于 Bouncy Castle 的轻量级 API 中,因此也应该存在于Spongy Castle中。最常见的 NIST 算法是在org.bouncycastle.crypto.generators.KDFCounterBytesGenerator. 您可以简单地在构造函数中和org.bouncycastle.crypto.params.KDFCounterParameters初始化期间为其提供任何 HMAC(例如 HMAC SHA1)。
请注意,这比英仙座流星雨的答案遵循更好的加密实践,但可能更难理解/实现。
| 归档时间: |
|
| 查看次数: |
4497 次 |
| 最近记录: |