当前位置:首页 > 网站源码 > 正文内容

python安装jieba库(python安装jieba库教程)

网站源码1年前 (2023-09-24)262

上一篇椭圆曲线算法(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

python安装jieba库(python安装jieba库教程)

协因子:

h = 01

0×03 算法实现

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

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

当然在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 信息安全原理(第五版) 清华大学出版社

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

版权声明:本文由我的模板布,如需转载请注明出处。


本文链接:http://sdjcht.com/post/32146.html

分享给朋友:

“python安装jieba库(python安装jieba库教程)” 的相关文章

周杰伦入局元宇宙裴(周杰伦元宇宙平台)

周杰伦入局元宇宙裴(周杰伦元宇宙平台)

本篇文章给大家谈谈周杰伦入局元宇宙裴,以及周杰伦元宇宙平台对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、周杰伦也入局元宇宙,40分钟1万张NFT被卖空,背后有何风险?...

百度电脑直播怎么添加商品(百度电脑直播怎么添加商品链接)

百度电脑直播怎么添加商品(百度电脑直播怎么添加商品链接)

本篇文章给大家谈谈百度电脑直播怎么添加商品,以及百度电脑直播怎么添加商品链接对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、直播带货链接怎么做 2、怎么用电脑上架直播商...

怎么获取别人的个人信息(怎样获取别人的个人信息)

怎么获取别人的个人信息(怎样获取别人的个人信息)

今天给各位分享怎么获取别人的个人信息的知识,其中也会对怎样获取别人的个人信息进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、学计算机的是否可以通过手机号看到这...

域名注册需提交的材料有多选题考试吧(域名注册需提供的材料有)

域名注册需提交的材料有多选题考试吧(域名注册需提供的材料有)

今天给各位分享域名注册需提交的材料有多选题考试吧的知识,其中也会对域名注册需提供的材料有进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、域名注册申请需要准备哪...

一对一软件开发培训,计算机编程培训,电脑编程培训(计算机编程一对一教学)

一对一软件开发培训,计算机编程培训,电脑编程培训(计算机编程一对一教学)

本篇文章给大家谈谈一对一软件开发培训,计算机编程培训,电脑编程培训,以及计算机编程一对一教学对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、编程培训哪里好一点? 2、计...

燕窝溯源码平台有几个(溯源码燕窝是哪里的)

燕窝溯源码平台有几个(溯源码燕窝是哪里的)

今天给各位分享燕窝溯源码平台有几个的知识,其中也会对溯源码燕窝是哪里的进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、中国溯源码燕窝管理平台一共多少家 2...