3.3私钥、公钥和地址产生的方式
从私钥推导出公钥、再从公钥推导出公钥哈希都是单向的,采用不可逆算法,也就是常听到的椭圆曲线算法:如图3.7所示。
整体的公钥和地址生成过程如图3.8所示:
1)通过随机数生成私钥;
2)私钥经过SECP256K1算法处理生成了公钥;
3)同SHA256一样,RIPEMD160也是一种Hash算法,经过一次SHA256 + 一次RIPEMD160哈希运算,由公钥计算得到公钥哈希;
4)将一个字节的地址版本号连接到公钥哈希头部,进行两次SHA256运算,将结果的前4字节作为公钥哈希的校验值,连接在其尾部;
5)将第4步结果使用BASE58进行编码,即得到钱包地址。