区块链中的密码学

    技术2023-05-19  86

    密码学包括经典密码学和现代密码学,经典密码主要研究对称密码,现代密码学是非对称密码学。

    在区块链中使用了较多的非对称加密算法,比较有名的是比特币中使用的椭圆曲线密码学(Elliptic Curve Cryptography,简称ECC),在比特币中,利用椭圆曲线密码学生成私钥、公钥和数字签名。

    椭圆曲线密码学的主要优势:

    比其他方法使用更小的密钥。小的密钥便于网络传输,所以在对带宽要求比较高的场景中十分有用。可以定义群之间的双向性映射

    椭圆加密算法的使用:

    # 导入椭圆加密算法 from ecdsa import SigningKey, SECP256k1 # 生成私钥 sk = SigningKey.generate(curve=SECP256k1) # 生成公钥 vk = sk.get_verifying_key() # 用私钥对Something生成签名 signature = sk.sign("Something".encode("utf-8")) # 用公钥判断签名是否正确 res = vk.verify(signature, "Something".encode("utf-8")) print(res) # True

    椭圆曲线加密码算法原理:https://www.jianshu.com/p/e41bc1eb1d81

    推荐阅读文章:

    https://www.jianshu.com/p/e297a162c92e

     

    Processed: 0.011, SQL: 10