在椭圆曲线上的ElGamal密码体制中,设椭圆曲线为,生成元p=(2, 7),接收者的私钥x=4。(1)求接收者的公钥Q。(2)发送者欲发送消息Pm=(7, 9),选择随机数k=2,求密文c。(3)给出接收者从密文c恢复消息Pm的过程。

在椭圆曲线上的ElGamal密码体制中,求解和解密的过程如下:

已知条件

  • 椭圆曲线
  • 生成元
  • 接收者的私钥

(1)求接收者的公钥

接收者的公钥 通过计算 获得,即将生成元 乘以私钥

首先,回顾一下椭圆曲线上的点加法运算。对于两个点 在模 的椭圆曲线上,点加法的公式为:

  • 时:
  • 时(点倍加):

对于给定的椭圆曲线 ,生成元 ,私钥 ,我们要计算

  1. 计算

    计算 14 的逆元:

    所以:

    计算

    所以

  2. 计算

    计算 4 的逆元:

    所以:

    计算

    所以

因此,接收者的公钥

(2)求发送者发送消息 的密文

选择随机数 ,计算密文

  1. 计算

    所以

  2. 计算

    计算

    所以

    计算

    所以

因此,密文

(3)接收者从密文 恢复消息 的过程

接收者使用私钥 从密文 恢复消息

  1. 计算

    计算

    再计算

    所以

  2. 计算 ,即

计算

所以

因此,接收者恢复的消息