当前位置:首页 > 网站建设 > 正文内容

matlab矩阵的值怎么算(matlab矩阵求值)

网站建设1年前 (2023-08-06)663

上一篇椭圆曲线算法(ECC)学习(一)中我们讲述了椭圆曲线算法的基本数学常识和加密解密过程,作为椭圆曲线数学的一种公钥密码的算法,其优点毋庸置疑。区块链最近异常火热,那么今天我们就来讲讲区块链的关键加密技术,椭圆曲线secp256k1。

Secp256k1是指比特币中使用的ECDSA(椭圆曲线数字签名算法)曲线的参数,并且在高效密码学标准(Certicom Research,http://www.secg.org/sec2-v2.pdf)中进行了定义。

0×01 前言

Secp256k1为基于Fp有限域上的椭圆曲线,由于其特殊构造的特殊性,其优化后的实现比其他曲线性能上可以特高30%,有明显以下两个优点:

1)占用很少的带宽和存储资源,密钥的长度很短。

2)让所有的用户都可以使用同样的操作完成域运算。

1)占用很少的带宽和存储资源,密钥的长度很短。

2)让所有的用户都可以使用同样的操作完成域运算。

椭圆曲线数字签名算法(ECDSA)

用户的密钥对:

( d, Q )

待签名的信息: M

签名:

签名过程:

1)根据ECC算法随机生成一个密钥对

展开全文

2)令

如果r = 0,则返回步骤1

3)计算

4)按照数据类型转换规则,将H转化为一个big endian的整数e

5)

若s = 0, 则返回步骤1

6)输出的

即为签名。

验证过程:

1) 计算

2)按照数据类型转换规则,将H转化为一个big endian的整数e

3)计算

4)计算

如果R = 零点,则验证该签名无效

5)令

6)若 v == r,则签名有效,若 v ≠ r, 则签名无效。

0×01 Secp256k1椭圆曲线

Secp256k1椭圆曲线形如:

椭圆曲线域参数由单元T =(p,a,b,G,n,h)指定

p= FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F

=

Fp上的曲线 E:由下式定义:

a= 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

b= 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000007

a= 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

b= 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000007

压缩形式的基点G是:

G= 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

G= 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

而在未压缩的形式是:

G= 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8

G= 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8

最后,G的阶为:

n= FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141

n= FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141

协因子:

h = 01

0×03 算法实现

在查阅资料时,发现了GitHub上的一个关于secp256k1的一个项目,这是一个针对曲线secp256k1上的EC操作优化的C库.

github地址:https://github.com/bitcoin-core/secp256k1

matlab矩阵的值怎么算(matlab矩阵求值)

当然在steem-python也有相似的secp256k1-py库,运用pip安装secp256k1-py库、安装pkg-config

pip install --no-binary:all: secp256k1 sudo apt-get install libtool sudo apt-get install autoconf sudo apt-get install pkg-config

当准备工作做好后,我们就可以使用这个库

私钥公钥生成 python -m secp256k1 privkey -p

使用私钥对明文进行消息签名

python -m secp256k1 sign \ -k c6e193266883a500c6e51a117e012d96ad113d5f21f42b28eb648be92a78f92f \-m hello 使用明文、公钥、签名,来检验是否是对应的私钥的所加密的 python -m secp256k1 checksig \ -p 0314bf901a6640033ea07b39c6b3acb675fc0af6a6ab526f378216085a93e5c7a2 \ -m hello \ -s 3045022100a314a579fb9f30a804c172eec4881ed603e661eed692797149dfdbce24d671d202203ccfab0603ad97c34864caa22d42a24d0cb5750fcb159476b8ae30a11edc0ed6

0×04 总结

经过两期的介绍,希望大家理解这个复杂的非对称加密算法中的离散问题。为了保护储存在区块链中的信息的安全与完整,区块链就使用上述的包括另一种(哈希函数)的密码现代密码学技术。希望各路大牛多加指正在下面评论中

相关链接:

[1] https://en.bitcoin.it/wiki/Secp256k1

[2] 区块链指南 机械工业出版社

[3] Douglas R.Stinson. 密码学原理与实践(第三版)电子工业出版社 2009

[4] https://en.bitcoin.it/wiki/Elliptic_Curve_Digital_Signature_Algorithm

[5] Michael E.Whitman 信息安全原理(第五版) 清华大学出版社

扫描二维码推送至手机访问。

版权声明:本文由飞速云SEO网络优化推广发布,如需转载请注明出处。

本文链接:http://chlfg.com/post/48045.html

分享给朋友:

“matlab矩阵的值怎么算(matlab矩阵求值)” 的相关文章

免费网站建设(免费网站建设机构)

免费网站建设(免费网站建设机构)

本篇文章给大家谈谈免费网站建设,以及免费网站建设机构对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、如何给自己免费建设一个网站 2、如何免费建立一个自己的网站?怎样做网站?创建个人网站建设多少钱 3、免费建站的网站哪个好 4、自己如何免费做网站 如何给自己免...

网站建设与管理(网站建设与管理学什么)

网站建设与管理(网站建设与管理学什么)

今天给各位分享网站建设与管理的知识,其中也会对网站建设与管理学什么进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、网站建设与管理 2、网站建设与管理主要学什么 3、网站建设与管理出来可以做什么样的工作 网站建设与管理 1.建立网站的目的这是网站规划...

期末总结ppt模板免费简约(期末汇报ppt模板)

期末总结ppt模板免费简约(期末汇报ppt模板)

本篇文章给大家谈谈期末总结ppt模板免费简约,以及期末汇报ppt模板对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、急求:用来做调查报告总结的ppt模板,最好有点特点 2、销售部门个人年终工作总结ppt 3、普通员工个人年终总结ppt范文 4、年终个人工作总结...

如何查看手机APP的源代码(怎么查看APP的源代码)

如何查看手机APP的源代码(怎么查看APP的源代码)

今天给各位分享如何查看手机APP的源代码的知识,其中也会对怎么查看APP的源代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、怎样查看 Android APP 源代码 2、怎样在安卓设备上查看软件源代码 3、用手机怎么查看网页的源代码 4、用什...

暑假工签了劳动合同不想干了怎么办(暑假兼职签了劳动合同不想做了怎么办)

暑假工签了劳动合同不想干了怎么办(暑假兼职签了劳动合同不想做了怎么办)

今天给各位分享暑假工签了劳动合同不想干了怎么办的知识,其中也会对暑假兼职签了劳动合同不想做了怎么办进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、签了劳动合同不想干了怎么办 2、暑假兼职签了劳动合同不想做了怎么办 3、暑假工打工有合同,但不想干了,辞...

个人主页网页设计教程(个人网站主页怎么设计)

个人主页网页设计教程(个人网站主页怎么设计)

本篇文章给大家谈谈个人主页网页设计教程,以及个人网站主页怎么设计对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、如何设计个人网页? 2、怎样制作个人网站 3、如何建立自己的个人主页? 4、请问:创建个人网站(非免费)的具体(尽量具体)步骤 5、如何设计一个...