如何为区块链生成公钥和私钥

公钥加密或称非对称加密体制,是一种使用公钥和私钥对的加密体制。它是加密货币协议中最重要的部分之一,它被用于几个地方:加密货币钱包的创建,以确保加密货币只能由所有者使用,交易签名(数字签名),这是加 ...
    公钥加密或称非对称加密体制,是一种使用公钥和私钥对的加密体制。它是加密货币协议中最重要的部分之一,它被用于几个地方:加密货币钱包的创建,以确保加密货币只能由所有者使用,交易签名(数字签名),这是加密货币协议的核心组件。简而言之,如果您将加密货币发送给其他人,则使用您的私钥(或使用私钥生成的签名密钥)对该事务进行签名,并且使用您的公钥验证事务。所以,如果黑客获得了你的私钥,他们就可以把你的加密货币发给自己。

生成公钥和私钥有两种算法。例如,比特币协议使用椭圆曲线数字签名算法(ECDSA)。在本文中,我将解释rivests - shamir - adleman (RSA),并与ECDSA进行比较。RSA是最早、应用最广泛的公钥密码系统之一。它以其创始人Ron Rivest、AdiShamir和Leonard Adleman的名字命名,几乎成为公钥密码的同义词。RSA算法RSA使用模-n (mod n)算法广泛地使用算术运算。对n取余就是x除以n后的余数。例如,17取余5 = 2。RSA通常由三个主要部分组成(有时添加公钥共享是有意义的):· 生成公钥和私钥· 使用生成的公钥加密数据· 使用生成的私钥解密数据生成公钥和私钥为了生成RSA的公钥和私钥,Alice和Bob(这两个虚构的角色已经成为讨论密码学的行业标准)执行以下步骤:1. 选择两个较大的素数p和q,数值越大,RSA越难破解,但编码解码的时间越长。2. 计算n = pq和z = (p - 1)(q - 1)。3. 选择一个小于n的数e,除1外没有公因数,z或它们的最大公约数(gcd)等于1,gcd(e, z)等于1。在这种情况下,e和z是相对素数。e将用于加密。4. 求一个数d,使ed - 1能被z整除,另一种方法是对z = 1取余。d将用于解密。5. Bob或Alice提供给世界的公钥是一对数字(n, e),而私有密钥必须是秘密的,是一对数字(n, d)。使用生成的公钥加密数据假设Alice想传递一个讯息给Bob,由“位”模式表示整数m(明文消息),其中m < n。加密的明文消息m c m ^ = e mod n密文c将发送给Bob。注意,Alice使用的是Bob的公钥加密消息。使用生成的私钥解密数据要解密收到的密文,Bob计算m =c^d mod这需要使用他的私钥(N,d)。RSA的安全性依赖于这样一个事实:对于快速分解(素因子分解)数字,没有已知的算法。在本例中,公共值n放入p和q中。RSA与ECDSA的比较在ECDA中,私钥是随机生成的整数。在比特币协议中,它是256位(32字节)整数。ECDSA还可以使用相同的算法,使用不同的椭圆曲线生成公钥。比特币协议使用Secp256k1。在RSA中,密钥(公钥、私钥和签名)很大,密钥生成很慢。另一方面,RSA易于实现,而ECDSA难以实现。2010年12月,PlayStation 3遭到黑客攻击,原因是索尼没有正确实施该算法。这就是为什么建议使用已经测试过的库(如OpenSSL)来生成ECDSA密钥对的原因。大约一年前,我实现了一个名为eccpem的开源库,并安装了GitHub,它生成ECDSA密钥对,并使用OpenSSL库将它们存储在.pem文件中。结论大多数加密货币协议使用ECDSA(我认为这是有意义的)而不是RSA。至少有两个原因:· ECDSA使用的内存比RSA少得多。
· ECDSA比RSA快。


转自:区块网󰄼 赞 0 赏󰄯 分享                   您可能还会喜欢:                权益证明指南:PoS、DPoS、LPoS、BPoS            分叉不等于分裂,关于硬分叉你知道多少?            君士坦丁堡硬分叉 : 以太坊爱好者需要知道的事            深入浅出了解PoS区块链的攻击向量与激励问题            元哈希:Multi-PoS(多权益证明)             加密货币及其可伸缩性问题                    发表评论                                                                  
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。                  
      昵称:*              
      邮箱:*              
      网址:                  
      验证码            
                
              
            取消回复                                          
        精选内容          《从零开始学习区块链》系列《比特币的前世今生》《数字货币大讲堂》系列《以太坊知识讲解》系列《ICO知识大全》《如何找回0确认的比特币?》《区块链视频学习资料合集》系列《区块链与新经济:数字货币2.0时代》        热门关注          · 币安 (145480)· Bittrex(B网)(91596)· 币赢网(69045)· 小蚁(NEO)(60711)· 路印币(LRC)(49114)· ModulTrade(41636)· 铅笔(41599)· 保全网(41287)· 比特币(BTC)(41169)· 公证通(Factom)(38813)        标签列表          比特币 (42)莱特币 (4)区块链 (159)ICO (29)区块链应用 (13)智能合约 (4)以太坊 (9)IBM (7)区块链技术 (5)数字货币 (13)金融 (8)金融科技 (6)加密货币 (8)福布斯 (4)拖车服务 (5)Cartaxi (4)技术白皮书 (8)B网 (4)Bittrex (4)币安 (7)Kcash (4)石油币 (13)委内瑞拉 (14)比特币十年 (5)交易平台 (6)        关注我们              

关注官方微博微信有惊喜哦                    
Copyright2016-2020,联系我们(Contact us)E-mail:845001446@qq.com,京ICP备16053856号; .     
 var _hmt = _hmt || [];(function() {  var hm = document.createElement("script");  hm.src = "https://hm.baidu.com/hm.js?7747a0095304b8531db6c96096fc69bb";  var s = document.getElementsByTagName("script")[0];   s.parentNode.insertBefore(hm, s);})();    
分享:window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"1","bdSize":"24"},"share":{}};with(document)0[(getElementsByTagName("head")[0]||body).appendChild(createElement("script")).src="http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion="+~(-new Date()/36e5)];$(function(){$("#modaltriggerss").leanModal({ top: 110, overlay: 0.45});});
支付宝
微信
$(function(){$("#modaltriggers").leanModal({ top: 110, overlay: 0.45});});

编辑推荐

本周热门

技术支持由 TIX彩币社区 提供

Tix中文社区 Lottery Tickets ( 鄂ICP备17015543号 )

QQ| 申请友链|小黑屋|手机版|Archiver|

返回顶部