【发布时间】:2014-10-06 04:10:27
【问题描述】:
我正在创建一个 Web 服务,用于存储用户列表及其在线公钥以及加密消息。我的最终目标是端到端加密。
我最初认为这很容易——“哦,OpenSSL 和 RSA 私钥/公钥非对称加密很棒。”错误的。 RSA will only encrypt a tiny bit of data, presumably to pass a regular, symmetric key back and forth.
好的,所以我尝试在网上找到解决方案。其中大多数不是ended without a functioning example 或pointed at using the command line,所有这些似乎都过分且不完整。
有没有一种方法可以对具有非对称密钥的数据使用端到端加密,或者这完全是个人的白日梦? PHP 中的 OpenSSL 有 a way to do this already,虽然很笨拙但可以工作。
我在这里缺少一些方法吗?
【问题讨论】:
-
端到端加密对实际数据使用对称加密(例如3DES),仅对会话密钥使用非对称加密。
-
您只需要传输安全吗?或者您是否真的需要保护通过服务器/代理的单独消息?在前一种情况下,您不需要 TLS 以外的任何东西。 Java 肯定有带有 RSA 身份验证的 TLS。
-
我不明白您对基于 RSA 的混合加密的问题。我个人更喜欢 ECIES 风格的加密,但这主要是个人喜好问题。除了填充的可疑选择之外,John Snow 对您链接的问题的回答很好。
-
@CodesInChaos 等人:我有点密集,我希望找到任何类型的示例、工作库等。我可以对这个想法点头,但没有任何实现示例,我很迷茫。
标签: java encryption cryptography