0

我正在研究使用 elgamal 椭圆曲线的项目。我知道 elgamal ec 何时通过以下步骤进行加密

  1. 将消息 m 表示为 E(Fp) 中的点 M。
  2. 选择 k ∈R [1,n−1]。
  3. 计算 C1 = kP。
  4. 计算 C2 = M + kQ。
  5. 返回(C1,C2)。
    其中 Q 是预期接收者的公钥,P 是基点。我的问题排在第一位。如何将 m 表示为一个点。点是代表一个字符还是代表一组字符。
4

1 回答 1

1

没有明显的方法将 m 附加到 E(Fp) 中的点。但是,您可以使用 ElGamal 的变体算法(例如 Menezes-Vanstone 椭圆曲线密码系统)在一个点中对消息进行编码,这是一个很好的参考(P.31)

至于java代码,我建议你做一些工作,当你遇到一个你自己无法解决的问题时,再在SO上发布另一个问题。

于 2014-05-02T02:12:59.660 回答