需求 ECDSA(elliptic curve digital signature algorithm) 椭圆曲线数字签名算法是区块链应用常用的签名算法(例如比特币,腾讯的trustsql等),这个算法具有速度快,强度高,签名短等特点。这个算法适合用于签名,但是在openssl库里找不到对应的加解密方案。 在工作中遇到这样的需求,区块链用户(客户端)本身已经拥有了ECDSA的公私钥,现在服务端想基于客户端的ECDSA公私钥实现加密内容传输(非对称加密)。 通过研究,发现可以通过以下组合的方式来实现基于ECDSA公私钥的非对称加解密。 封装 首先总共封装了三个函数:生成公私钥,公钥加密私钥解密,