区块链中的数学-蒙哥马利曲线和应用实例Curve25519

这篇文章主要介绍了区块链中的数学-蒙哥马利曲线和应用实例Curve25519 ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。

https://www.interchains.cc/18235.html

区块链中的数学-蒙哥马利曲线和应用实例Curve25519是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,区块链中的数学-蒙哥马利曲线和应用实例Curve25519学习起来其实是很简单的,

不多的几个较为抽象的概念也很容易理解,之所以很多人感觉区块链中的数学-蒙哥马利曲线和应用实例Curve25519比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难

区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519

本文介绍了蒙哥马利曲线和应用实例Curve25519,Curve25519得到广泛使用,其自身的长处简单说明,没有展开

写在前面

上一节说了扭曲爱德华曲线,扭曲爱德华曲线是EdDSA(爱德华曲线数字签名)体制的核心。

本节说下蒙哥马利曲线和Curve25519, 为什么说它呢?因为它与Ed25519签名相关联。

蒙哥马利曲线

蒙哥马利曲线(Montgomery curve)是另一种形式的椭圆曲线,方程如下:

<a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

其中系数A, B ∈ 有限域K,且B($A^2$ − 4) ≠ 0.

下图是在实数域上方程 的曲线

<a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

点加法规则

前面我们说了Weierstrass曲线上两点相加的几何意义,是通过两点连接一条直线,与曲线相交第三个点关于x轴的对称点就是所求的和, 蒙哥马利曲线也是这样定义两点求和算法: 已知 )$P_1(x_1,y_1)$,$P_2(x_2,y_2)$两点和之和$P_3(x_3,y_3)$

<a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

<a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

这个计算结果容易得到,令通过点$P_1$,$P_2$的直线为y = lx + m, 可得:

<a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

<a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

代入蒙哥马利曲线方程,

<a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

该方程有三个解$x_1$,$x_2$,$x_3$ ,$(x-x_1)(x-x_2)(x-x_3)$ = 0, 根据维达(Vieta)定理或者直接比较系数,得到:

<a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

从而得到:

<a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

代入直线公式,即得到$y_3$坐标,注意最后是关于x轴的对称点。

如何两个点相同即2P求法稍微有些不同。主要是直线斜率计算变成了点切线问题,斜率l:

<a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

可算得

<a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

使用新斜率l代入前面$x_3,y_3$公式,可得到:

<a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

接下来说下蒙哥马利曲线广泛应用的实例Curve25519。

Curve25519

Curve25519是蒙哥马利曲线形式的一个实例, 声称是最快的Diffie-Hellman密钥交换函数,由Daniel J. Bernstein教授在2005年设计,提供128比特位安全性,并未被任何已知专利所涵盖。方程为: <a href=区块链blockchain中的数学-蒙哥马利曲线和应用实例Curve25519″ />

素数域$p = 2^{255}-19 $, 也是名字中25519的由来。 基点横坐标 x = 9, 群秩为$ 2^{255}+27742317777372352535851937790883648493$,

Curve25519的构造避免了许多潜在的实现方面陷阱,它不受计时攻击,能接受任何32字节字符串作为有效公钥(实际工程应用中,0除外),并且不需要验证给定点是否属于曲线,或者是否由基点生成。

2013年斯诺登事件以后,得到大量关注和使用,目前应用已经非常广泛,包括ssh, tls,OpenSSL,Libsodium等,实际成为NIST P-256椭圆曲线算法的替代品(前者被广泛质疑有后门(back door)).

关于Curve25519,先说到这,以后有用到再说。

小结

本文介绍了蒙哥马利曲线和应用实例Curve25519,Curve25519得到广泛使用,其自身的长处简单说明,没有展开,感兴趣的话以后可以再说明,本文参考

https://eprint.iacr.org/2017/293.pdf

https://en.wikipedia.org/wiki/Curve25519

最近几篇的思路是: 爱德华曲线–> 扭曲爱德华曲线–> 蒙哥马利曲线(Curve25519)–> Ed25519签名

好了,下一篇继续介绍区块链blockchain中正在使用的Ed25519签名算法!

欢迎关注公众号:blocksight

相关阅读:

区块链blockchain中的数学-扭曲爱德华曲线

区块链blockchain中的数学-迪菲-赫尔曼密钥交换D-H

区块链blockchain中的数学-爱德华曲线基本方程和点运算规则

区块链blockchain中的数学-RSA签名和安全分析-计时攻击

区块链blockchain中的数学 – 基于椭圆曲线的VRF证明验证过程

区块链blockchain中的数学 – 基于椭圆曲线的VRF证明生成

区块链blockchain中的数学 – secp256k1公钥恢复原理

区块链blockchain中的数学 – Uniwap核心算法解析(中)

部分转自网络,侵权联系删除www.interchains.cchttps://www.interchains.cc/18235.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 !
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 区块链中的数学-蒙哥马利曲线和应用实例Curve25519

提供最优质的资源集合

立即查看 了解详情