在椭圆曲线上的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. 计算 ,即 :

计算 :

所以 。

因此,接收者恢复的消息 。