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)加密解密过程相关推荐

  1. Openssl ECC椭圆曲线算法 - 密钥/签名/验签/加密/解密/SM2密文 - 序列化反序列化导出导入 - C源码

    . . . . 废话不多说,本代码继承自另外一位讲解Openssl ECC椭圆曲线算法大佬的源代码:https://blog.csdn.net/scuyxi/article/details/59182 ...

  2. 【转】Guide to Elliptic Curve Cryptography(ECC椭圆曲线算法1)

    Guide to Elliptic Curve Cryptography (ECC椭圆曲线算法1) 2017年06月03日 10:14:08 原文 http://andrea.corbellini.n ...

  3. ECC椭圆曲线算法(2)初步介绍

    1. Weierstrass方程式 ECC(Elliptic curve cryptography) 椭圆曲线的 Weierstrass方程是一个二元三次方程: 且满足 可以看出,有3个根,其中一个为 ...

  4. java公钥加密私钥解密过程_GPG加密解密过程

    GPG加密解密过程 一.Linux系统下 1.安装 yum安装 [root@POC-ORACLE ~]# yum install gnupg 下载安装包安装 https://www.gnupg.org ...

  5. Web登录使用RSA对密码进行加密解密过程

    RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥.首先简单说一下RSA加密方式(借用知乎上面的理解,通俗易懂): ...

  6. asp.net中URL参数加密解密过程

    asp.net中URL参数加密解密过程 加密代码 public static string Encode(string str, string key){DESCryptoServiceProvide ...

  7. c++国密算法SM2加密解密demo

    c++国密算法SM2加密解密 一.代码 一.代码 封装加密.解密接口: 加密接口: Encrpt_SM2() 解密接口:Decrypt_SM2() 加密解密结果可以和nodejs的模块sm-crypt ...

  8. 使用DES算法实现加密解密

    使用DES算法实现加密解密 我们常见的加密算法有DES.MD5.IDEA.AES等等,这篇随笔介绍使用DES算法实现加密解密 首先介绍一下DES算法: DES算法为密码体制中的对称密码体制,又被称为美 ...

  9. PKCS1 PKCS8 公私钥 加密解密过程

    公钥:一样 私钥:不一样(PKCS8是PKCS1通过一定的保护措施转化而来,也就是说PKCS1是裸奔的,PKCS8是穿衣服的) 加密解密过程:一样(padding方式跟格式无关,只需要保证加密的pad ...

  10. 国密算法SM2加密解密

    一.依赖包 <!-- hutool的 SM2 加密--><dependency><groupId>org.bouncycastle</groupId>& ...

最新文章

  1. SAP携欧洲众巨头建立“工业4.0开放联盟”
  2. 网络基础:Ping命令的7种基础用法,掌握了秒变大神!
  3. 日行千里,全凭“车”况,为什么我们要升级平台
  4. android 系统(162)---O版本的Camera Startup time比N版本时间长
  5. 【Flink】Flink 流计算 容错 source节点进行数据容错
  6. bodymovin导出没有html5,Bodymovin导出Json文件避坑指南
  7. Spring 最常用的注解,史上最强整理!
  8. go-sqlite3 “database is locked”问题解决方案
  9. b、B、KB、MB、GB 之间的大小关系以及换算
  10. centos7图形化分区和ks文件分区的配置
  11. 关于JAVAFX的鼠标单击事件案例
  12. 论文解读:Missing data imputation with adversarially-trained graph convolutional network
  13. APP消息智能推送有什么特点
  14. (1986年 - 2022年)沈先生的回忆篇
  15. NC23053月月查华华的手机
  16. u盘装服务器系统失败原因,u盘装系统引导失败原因及解决方案
  17. 七层网络模型(大致信息讲解)
  18. 2022年安全员-A证考题及在线模拟考试
  19. 光学仿真案例(1) 铌酸锂非线性波导仿真模拟 FDTD仿真
  20. RC滤波器:一阶无源、二阶无源、二阶有源

热门文章

  1. cgi web 调用多次启动_简单说明CGI和动态请求是什么
  2. 展望数据中心市场未来十年发展趋势
  3. winform调用webservice增删查改_教你分别用数据库与云函数实现“增删查改”
  4. 成功解决ValueError: Unable to add relationship because child variable ‘ID‘ in ‘cats_df‘ is also its inde
  5. Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图
  6. DL之CNN可视化:利用SimpleConvNet算法【3层,im2col优化】基于mnist数据集训练并对卷积层输出进行可视化
  7. 成功解决AttributeError: 'DataFrame' object has no attribute 'reshape'
  8. HighNewTech之5G网络:带你了解5G网络的前世今生—两张长图帮你捋清思路
  9. Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略
  10. 洛谷 P2590 [ZJOI2008]树的统计