我正在研究使用 elgamal 椭圆曲线的项目。我知道 elgamal ec 何时通过以下步骤进行加密
- 将消息 m 表示为 E(Fp) 中的点 M。
- 选择 k ∈R [1,n−1]。
- 计算 C1 = kP。
- 计算 C2 = M + kQ。
- 返回(C1,C2)。
其中 Q 是预期接收者的公钥,P 是基点。我的问题排在第一位。如何将 m 表示为一个点。点是代表一个字符还是代表一组字符。
我正在研究使用 elgamal 椭圆曲线的项目。我知道 elgamal ec 何时通过以下步骤进行加密
没有明显的方法将 m 附加到 E(Fp) 中的点。但是,您可以使用 ElGamal 的变体算法(例如 Menezes-Vanstone 椭圆曲线密码系统)在一个点中对消息进行编码,这是一个很好的参考(P.31)。
至于java代码,我建议你做一些工作,当你遇到一个你自己无法解决的问题时,再在SO上发布另一个问题。