如何使用Java中的ECC对密钥进行非对称加密?

时间:2016-12-22 04:20:59

标签: java cryptography public-key-encryption

所以我需要使用自己的EC公钥向多个客户端发送AES密钥,我不能使用DH交换机,因为密钥需要发送给所有客户端。如何加密预生成的AES密钥并使用EC公钥加密?

EC:椭圆曲线

1 个答案:

答案 0 :(得分:1)

您可以使用ECIES。它使用短暂静态Diffie-Hellman创建一个随机的共享对称密钥(当然与绑定器的私钥绑定),您可以使用它来加密数据或确实包装另一个密钥。

确保您保护传输中的数据,但您可能希望使用经过身份验证的加密(如AES-GCM)来确保无法通过填充oracle攻击来更改或检索密钥。

为此,您可以使用Bouncy Castle(轻量级)API,但您可能需要更改当前实现以使用AES-GCM。