椭圆曲线公钥加密
(224条消息) 椭圆曲线上两种基本的运算:点集运算、P+Q详解_椭圆曲线点加运算_怀恋的愤怒的博客-CSDN博客
首先,了解一下这里的点加,
接着就是基础流程了
- 随机选择一个整数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的
本文来自博客园,作者:逆世混沌,转载请注明原文链接:https://www.cnblogs.com/nish1hundun/p/17501754.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步