如何使用 ECDH 加密明文?

发布于 2024-12-05 18:52:54 字数 157 浏览 0 评论 0原文

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

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

非常感谢!

I'm looking for sample Java code to implement the cipher for ECDH encryption. I've already found the method to get the keys required but still haven't found a solution to encrypt the text. Appreciate if anyone can give some guidance.

Btw I am using SpongyCastle as I am programming for Android.

Many Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吾家有女初长成 2024-12-12 18:52:54

ECDH 不是加密算法;它无法加密您选择的某些数据。它是一个密钥协议协议,它会产生“共享秘密”:发送者和接收者最终共享的内容都是“秘密的”(只有他​​们自己知道),但他们无法控制其内容。

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

ECDH is not an encryption algorithm; it cannot encrypt some data you choose. It is a key agreement protocol, which results in a "shared secret": the data which both sender and receiver end up sharing is "secret" (only them know it) but they cannot control its contents.

The idea is that you can use the shared secret as the basis for a symmetric encryption algorithm. Since the shared secret has a relatively non-flexible format (with ECDH, the shared secret is an elliptic curve point, and about half of it is really secret), the normal way is to hash it with a secure hash function (say, SHA-256) and use the hash output (or part of it) as the actual encryption key.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文