区块链密码学(二):加密算法介绍

本文主要介绍区块链项目 fabric 的加密算法。

BCCSP(Blockchain crypto provider)即区块链加密提供商,用于定义选择使用的密码学实现库。负责摘要生成,非对称密钥的签名与验证,根据证书查找私钥等。该模块提供了一系列的接口,这些接口定义了摘要的生成方法,签名,验证,加密,解密等。所有自定义的密码学实现库都需要实现这些接口,以此达到密码学算法的可插拔。

目前fabric BCCSP模块的接口有三种实现类,如下图所示:
这里写图片描述

其中SW(software based)实现方式是直接调用golang提供的库文件来进行加解密,哈希,签名验签等。
PKCS11是调用ecdsa来进行加密,解密,哈希,签名验签等,而ecdsa是通过调用动态运行库来进行以上功能的完成。

GM国密算法实现方式与PKCS11一致。中间层提供SM2进行签名与验签,SM3进行哈希,SM4实现加密。

ECDSA: 全名是Elliptic Curve DSA,即椭圆曲线DSA。它是Digital Signature Algorithm (DSA)应用了椭圆曲线加密算法的变种。椭圆曲线算法的原理很复杂,但是具有很好的公开密钥算法特性,通过公钥无法逆向获得私钥。

PKCS:RSA实验室与本行业、学术界和政府的代表一起合作,开发出一套称为公共密钥加密标准(Public-Key Cryptography Standards )的规范。

猜你喜欢

转载自blog.csdn.net/yunlilang/article/details/79538996