【区块链与密码学】第6-4讲:椭圆曲线的数字签名算法

85 篇文章 20 订阅
72 篇文章 14 订阅

【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】

6.4 椭圆曲线简介

椭圆曲线的定义

1985年,Koblitz和Miller独立地提出了椭圆曲线公钥密码体制(ECC),安全性基于椭圆曲线群上的离散对数问题的难解性,该问题目前最好的解法是指数级时间的算法。

一般认为,RSA和DH密钥交换协议需用1024比特以上的模数才安全,但对ECC,只要160比特的模数就可达到同样级别的安全性。

椭圆曲线指的是由Weierstrass方程

所确定的曲线

椭圆曲线图形

有限域Fp上的椭圆曲线是由满足Fp上的方程  

的所有点和无穷远点O构成的集合

有时也记作E。

椭圆曲线上的加法运算

PQ是E上的任意两点,连接PQER’,则称R’关于x轴的对称点RPQ的和,记为:

P + Q = R

椭圆曲线加法运算示意图

PQ重合时

R = P+Q = P+P = 2P

此时称之为点倍运算

椭圆曲线点倍运算示意图

PQ关于x轴对称时,

定义PQ的和为O,即:

P + Q = O

并称O为无穷远点

椭圆曲线无穷远点示意图

可以证明,有限域上的椭圆曲线在我们定义的加法运算下构成群。

既然构成群,就必然有零元和负元,这里的零元就为无穷远点OP的负元就是它关于x轴的对称点,记为–P

显然有

P+O =O+P=P

若P=(x, y),则 –P=(x, –y) 且 P+(–P)=O

加法运算的代数表示

已知E(F)上两点P=(x1, y1), Q=(x2, y2), 求P+Q

解:设P+Q=R =(x3, y3),

解得

椭圆曲线点加运算代数表示

P≠Q时,

P=Q时,

椭圆曲线点加运算代数表示

k(k>2)个相同的点P相加为

此时称之为点乘运算

椭圆曲线点乘运算示意图

椭圆曲线离散对数问题

称n为点P的阶,记为n=ord(P)

由阶为n的点P在上述加法定义下生成的循环群<P>是椭圆曲线群(E(F), +)的一个n阶子群。

设E是有限域F上的椭圆曲线,GE的一个循环子群,点PG的一个生成元,即G={kP: k≥1},在已知PQ的条件下,求解整数n,使得nP=Q的问题,称为椭圆曲线E上的离散对数问题。

今天的课程就到这里啦,下一堂课我们将学习基于椭圆曲线的数字签名算法中的SM2算法,带大家继续了解数字签名,敬请期待!

-- 完 --

关注点宽学园,每周持续更新区块链系列课程,小宽带你进入区块链世界。我们下节课见啦。

【区块链与密码学】课堂回顾:

区块链与密码学系列文章合集

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值