利用椭圆曲线问题进行加密解密的理解(ECC)

1.椭圆曲线的数学基础

(1)椭圆曲线及相关参数

范式定义的椭圆曲线 (EC)是指光滑的 Weierstrass 方程(一类处处连续而处处不可导的实值函数) 所确定的平面曲线。
方程为在这里插入图片描述且满足在这里插入图片描述

仅讨论曲线E在素数域F中,使用一个基点P,有一个素数阶n。
定义一个域参数:D=(q, a, b, P, n), 这些域参数都是公开的。其中:

  • q 是一个素数域的阶。
    eg : q是一个素数,x, y, a, b在{0,1,2,…q-1}
  • a,b是椭圆曲线的系数
  • P是曲线上一个点
  • n是P的素数阶
    eg : P的加法能在曲线上定义n个点,其中n是一个素数.

(2)相关运算

1.点加

eg : 计算 P + Q
在这里插入图片描述
应用:计算2P
在这里插入图片描述

2.倍加 / 点乘

点乘运算kP:是由若干步点加运算组成的。
其分解过程如下:假设整数k和点P(Px,Py)相乘,整数k的位数为n。则点乘可以分解为 2(n-1) 次点加。

2.算法加密

  • Alice生成公私钥对,并发送基点G(x,y) , 公钥K(公钥K=私钥k * 基点G)给Bob
  • Bob 选择随机数 r

公钥加密

公钥加密:密文 M’ =明文m 映射点 M 带入 x 计算得出的M+ 私钥k * 基点G * 随机数 r

  • Bob 将 r’(=随机数 r * 基点G)、密文M’ 发给Alice.

3.算法解密

  • Alice 计算 K’ = 私钥k * r’ =随机数 r * 基点G * 随机数 r

私钥解密

私钥解密:明文M = 密文 M’ (明文m 映射点 M 带入 x 计算得出的M+ 私钥k * 基点G * 随机数 r)- K’(随机数 r * 基点G * 随机数 r)

椭圆曲线加密有点复杂。 o(╥﹏╥)o
继续加油吧 !!!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值