本文主要是介绍ECC椭圆曲线算法(3)加密解密过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 说明
Alice和Bob在通信的过程中,公钥是相互分享的,发送数据的一方用对方的公钥来加密,让对方用他自己的私钥来解密。
2. 步骤
假设:
- 基点:G
- 私钥:k
- 公钥:K =k *G
- Message:M
step1. 数据传送前的操作:生成公私钥对
Alice生成公私钥对,并 发送 G , K给Bob
step2 数据加密.
- Bob 选择随机数r
- 用Kr 得到K’,既是(kG*r) ,再用K’+M=M’(密文)
- 计算r*G得到r’,将r‘、M’发给Alice.
step3 数据解密. Alice:收到了M’, r’。
计算kr’,既是(kG*r),得到K’, 用M’-K’得到M
3. 进一步的阐述
基于椭圆曲线的操作满足阿贝尔群的交换律,有:
K’ = k* r’ = k* G* r
K’ = K* r = k* G* r
这篇关于ECC椭圆曲线算法(3)加密解密过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!