(224条消息) 椭圆曲线上两种基本的运算:点集运算、P+Q详解_椭圆曲线点加运算_怀恋的愤怒的博客-CSDN博客
首先,了解一下这里的点加,
接着就是基础流程了
假设我们有一个要加密的消息M。加密过程如下:- 随机选择一个整数k。
- 计算点P = kG。
- 将P的x坐标作为密文的一部分。
- 计算临时密钥K = kQ。
- 使用某个对称加密算法(如AES)和临时密钥K来加密消息M。
- 使用私钥d和收到的密文中的x坐标计算点P = xQ。
- 计算临时密钥K = dP。
- 使用相同的对称加密算法和临时密钥K来解密密文,得到原始消息M。
第一点显然不需要多少解释,随机一个数嘛,但是第二点就要说说了,点加这个东西已经说过了,而kG就是k个点加,每次计算一个点后,拿这个点计算下一个,当然就有人恍然大悟,那不就是递归嘛,确实是这样考虑的,如果你要写程序的话,我写了一段程序试着做了做,实际上如果你用递归很难控制次数,需要在里面设置标志位,还要考虑清零,索性直接写了次数
用的是现代密码学课本的例子,咋们接着往下看
接着选取一个随机数,真随机,自己找一个就好,例题是k=13
接着计算P1=k*生成元
然后是P2=k*B的公钥,即PB
然后是P3=Pt+P2
Pt是一个随机点,有随机坐标(xt,yt)
密文C=m*xt+yt
那么加密数据是{P1,P3,C}
这三个数据怎么解呢?
也很简单,C知道xt和yt不就解出来了
那么P1和P3就是给你解xt和yt的
标签:椭圆,加密,公钥,密钥,密文,yt,xt,随机 From: https://www.cnblogs.com/nish1hundun/p/17501754.html