对称加密密钥交换

Posted

技术标签:

【中文标题】对称加密密钥交换【英文标题】:Symmetric cryptography key exchange 【发布时间】:2014-03-27 05:19:30 【问题描述】:

我在 java 系统上使用 AES 进行加密,然后在 javascript 平台上将其解密。在此类系统上进行安全密钥交换的最佳方式是什么?

【问题讨论】:

没有“最好的方法”。这取决于用例、攻击场景等。如果 Java 脚本在浏览器中,我将使用 TLS 进行密钥交换,然后在 TLS 协议中使用密钥:) 相关:matasano.com/articles/javascript-cryptography 听从@owlstead 的建议,不要这样做。只需使用 SSL/TLS。 【参考方案1】:

正如@owlstead 所说,没有“最佳方式”之类的东西:分析您的安全性和性能要求并选择一个经过充分验证的协议作为 SSL/TLS。

注意:AES 确实是一种对称加密系统,对于密钥交换,我们通常从非对称协议开始以就对称密钥达成一致。然后这个密钥用于保护后面的对称协议通信。

【讨论】:

我计划使用 Diffie-Hellman 密钥交换进行对称密钥传输。有什么建议吗? 这是个好主意this 可能会有所帮助。

以上是关于对称加密密钥交换的主要内容,如果未能解决你的问题,请参考以下文章

Android笔记-对称与非对称加密及DH密钥交换

08.openssl非对称加密算法指令

openssl 非对称加密算法RSA命令详解

常用的加密算法

DH 迪菲-赫尔曼密钥交换

常见加密算法