java - 如何在 Java 中使用 ECC 对 key 进行非对称加密?

标签 java cryptography public-key-encryption

<分区>

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

EC:椭圆曲线

最佳答案

您可以使用 ECIES .它使用临时静态 Diffie-Hellman 创建一个随机的共享对称 key (当然与接收方的私钥相关联),您可以使用它来加密数据或包装另一个 key 。

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

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

关于java - 如何在 Java 中使用 ECC 对 key 进行非对称加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41275743/

相关文章:

java - 如何使用 JSOUP 解析图像 src?我的

java - 在 Java 中,是否有等价于 Pascal 的类型化常量

c# - 如何在我的盐和哈希代码中使用 SHA-512 和 Rfc2898DeriveBytes?

open-source - Elgamal的免费实现

java - isFullScreenSupported 对于监视器始终为真

java - 将 Java 7 更新为无限强度管辖权政策有哪些潜在问题?

java - 如何使用密码和盐进行 AES 加密,以便在 Java 中仅使用相同的密码和盐进行解密

encryption - Base64是加密算法还是编码算法?

Java BC SicBlockCipher直接输出等价于c#

java - 无法获得要编译的代码,有什么想法吗?