探索元交易的强大设计
简要介绍以太坊的签名算法secp256k1
数据的签名及验证过程是密码学在区块链项目里一个非常重要的应用。本文基于墨客区块链实现数据签名及验证。本文使用智能合约完成对签名的验证,使用chain3.js完成对数据的签名以及和智能合约的交互。
Ed25519使用了扭曲爱德华曲线,签名过程和之前介绍过的Schnorr,secp256k1, sm2都不一样,最大的区别在于没有使用随机数,这样产生的签名结果是确定性的,即每次对同一消息签名结果相同。
本文简记一下椭圆曲线算法中的另外一个小的话题:签名的可锻性。
本节讲了SM2签名算法,总体过程与secp256k1签名过程类似
盲签名可以看成结合普通签名的变种,实现特殊的应用。RSA方案简单易解,实际代码工程是要有额外一些处理的,可能需要填充等。
学习如何使用随机数来签名、操作你自己的虚拟资产。