椭圆曲线算法原理详解

前置知识

关于椭圆曲线的前置知识有:椭圆方程、有限界的椭圆方程、椭圆方程点的几何运算定义、椭圆方程的阶、定义方程的5个参数、计算kG的标量算法。

这些需要在其他地方先了解一下,本文章不做过多阐述。

椭圆曲线并不是真的是椭圆方程,例如E:y2=x3-2x+4的椭圆曲线方程,大致的示意几何图并不一定点是对应的,这只是大概的示意图)如下图:
在这里插入图片描述
因为这种图形是连续的,我们给他加上mod运算,让他变成离散的点,这样更难破解。

椭圆方程实例

这是在bc库中存在的一个真实的用例。
如下图定义的曲线名称,是指给出固定的方程定义的5个参数(G没算进来),这些参数可以确定唯一一个曲线方程。
在这里插入图片描述在这里插入图片描述
各参数含义:

p :即mod运算的具体值
a、b: 即椭圆曲线方程中的a和b值
n(代码中可能写成order): 即椭圆曲线方程的阶数,n阶代表,经过nG运算后得到的值是-G,即-G=nG
h(代码中可能写成cofactor):即椭圆曲线方程的所有点m和n的比值的整数部分,即m/n
G:G点即起始点,这个点一般是随机选取得到的。

加解密原理

建立基于椭圆曲线的加密机制,需要找到类似RSA质因子分解或其他求离散对数这样的难题。而椭圆曲线上的已知G和xG求x,是非常困难的,此即为椭圆曲线上的的离散对数问题。

此处x即为私钥,xG即为公钥。

椭圆曲线加密算法原理如下:
在这里插入图片描述

签名验签原理

椭圆曲线签名算法,即ECDSA。

在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值