当前位置:   article > 正文

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

利用椭圆曲线问题进行加密解密的理解(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
继续加油吧 !!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/612193
推荐阅读
相关标签
  

闽ICP备14008679号