比特币核心算法ECDSA电子签名在线演示

纯JS版本签名库


上一篇中说过,ECDSA是BITCOIN的安全性核心,保证了任何人发布的信息不可篡改。而区块链,只是保证了每个人发布合法信息的权利。
电子签名说了这么久,很多人也在无意识间使用过,但仍然不知道电子签名到底是怎么回事,这个页面就做一个真正、实际上的ECDSA签名算法的演示。
电子签名算法有很多种,ECDSA并不是最先进的,只是随着比特币和区块链一起沾光走红而已。
=====================分割线========================

EDCSA签名演示

(第一步)生成签名用的秘钥(打开网页会自动生成):

私钥(信息发出人保密保存,用于发布信息时候的签名):
公钥(公开于网上,供他人验证信息时候使用):

(第二部) 对信息进行签名

注意签名不是加密,通常加密是对要保密的信息,而签名是对公开的信息。签名的作用是防止公开的信息被篡改。


签名结果:
签名结果将同原始信息一起发布在公开网络上,以供他人阅读。
他人对信息有疑问的时候,会使用消息发布人的公钥(一般会同发布人的个人资料及地址信息一起公开)及信息的签名结果信息一起验证。
信息如果未被篡改会验证通过。信息被修改哪怕1个字节都会导致信息验证失败,从而确保信息在网上公开、流传的过程中未被篡改。
(本签名算法有多个具体版本,早期版本有缺陷,在该缺陷中,信息修改仅一个字符仍然可以校验通过。本页面演示版本没有这个问题。)

(第三步)验证签名

正常情况下,你直接点击“开始验证签名信息”按钮会验证通过,这时候你可以在原始信息中随意修改,然后再来验证签名看看效果。

参考链接

jsrsasign github page