7.1.1 椭圆曲线密码学概述
椭圆曲线密码学(Elliptic curve cryptography,缩写为 ECC),是基于椭圆曲线数学理论实现的一种非对称加密算法。
椭圆曲线算法又细分为多种具体的算法。Go语言内置的椭圆曲线是secp256R1算法,而比特币系统中使用secp256K1算法。以太坊系统虽然也采用secp256K1算法,但是跟比特币系统的secp256K1算法上又有所差异。
椭圆曲线公钥系统是代替RSA的强有力的竞争者,与经典的RSA、DSA等公钥密码体制相比,椭圆密码体制有明显的优势。
1、ECC与RSA算法的优势对比
(1)安全性能更高(ECC可以使用更短的密钥),同等安全强度下,两者秘钥长度的对比如下表所示。

(2)处理速度快,计算量小,处理速度快 在私钥的处理速度上(解密和签名),ECC远 比RSA、DSA快得多。
(3)存储空间占用小,ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多, 所以占用的存储空间小得多。
(4)带宽要求低使得ECC具有广泛的应用前景。
ECC的这些特点使它必将取代RSA,成为通用的公钥加密算法。
7.1.2 数字签名的概念
所谓数字签名(Digital Signature)(又称公开密钥数字签名、电子签章)是一

本文介绍了Go语言中的椭圆曲线密码学(ECC)和椭圆曲线数字签名算法(ECDSA)。ECC作为非对称加密算法,具有更高的安全性能,更小的密钥尺寸和更快的处理速度。同时,文章还阐述了数字签名的概念,包括其不可伪造性、不可抵赖性和消息不可篡改等特性,以及在Go语言中实现ECDSA的流程。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



