在区块链技术中,密码学机制主要被用于确保交易信息的完整性、真实性和隐私性。区块链中的密码学包括:布隆过滤器(Bloom Filter),哈希函数、加解密算法,数字证书与数字签名,同态加密,以及PKI(Public Key Infrastructure,公钥基础设施)体系等。
在比特币系统中使用了两个密码学哈希函数,一个是SHA-256,另一个是RIPEMD-160。RIPEMD-160主要用于生成比特币地址。SHA-256是构造区块链所用的主要密码哈希函数。
在HyperLedger Fabric区块链平台中,哈希函数主要用于检测未经授权的数据修改,以及签名者的身份识别和抗抵赖。在区块链中数字签名涉及公钥、私钥和钱包等工具,它有两个作用:一是证明消息确实是由信息发送方签名并发出来的;二是确定消息的完整性。
加密是为了防止信息被泄露,而签名是为了防止信息被篡改。对于非对称加密算法和数字签名来说,公钥的分发是非常重要的。理论上任何人可以公开获取对方的公钥。然而这个公钥有没有可能是伪造的?公钥在传输过程中有没有可能被篡改掉呢?一旦公钥自身出了问题,整个建立在其上的安全体系的安全性将不复存在。数字证书机制就是为了解决公钥可能被篡改的问题。
从上面可以得知,证书是公钥信任的基础。那么,怎么用证书来实现公钥的安全分发呢?在HyperLedger Fabric中,使用的是PKI体系来保证的。在非对称加密中,公钥可以通过CA(Certificate Authority)机制进行保护以防止公钥被篡改。而PKI体系核心解决的是管理和分发证书问题,在现代密码学应用领域处于十分基础和重要的地位。
[提示] 更多关于区块链隐私和密码学内容,请参考 《【大文观链】区块链隐私保护方案:群签名与环签名》《【大文观链】ECDHM:基于数学和密码学的隐私保护方案》。