如何使用ECDH加密明文?

时间:2011-09-22 20:39:39

标签: java android bouncycastle elliptic-curve

我正在寻找示例Java代码来实现ECDH加密的密码。我已经找到了获取所需密钥的方法,但仍然没有找到加密文本的解决方案。感谢是否有人可以提供一些指导。

顺便说一下,我正在使用SpongyCastle,因为我正在为Android编程。

非常感谢!

1 个答案:

答案 0 :(得分:3)

ECDH不是加密算法; 无法加密您选择的某些数据。它是key agreement协议,导致“共享秘密”:发送方和接收方最终共享的数据是“秘密”(只有他​​们知道),但他们无法控制其内容。

我们的想法是您可以使用共享密钥作为对称加密算法的基础。由于共享密钥具有相对非灵活的格式(使用ECDH,共享密钥是椭圆曲线点,并且其中大约一半是真正的秘密),通常的方法是使用安全散列函数(例如,SHA)对其进行散列-256)并使用散列输出(或部分)作为实际加密密钥。