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

问题描述 投票:2回答:1

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

EC:椭圆曲线

java cryptography public-key-encryption
1个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.