第三方库:BC
签名验签:BC ISigner
加解密:BC SM2国密
string裸公钥转公钥:
X9ECParameters curve = CustomNamedCurves.GetByName("secp256r1");
// 创建ECPoint
BigInteger x = new BigInteger(str_publickey.Substring(0, 64), 16); // 替换为实际的x坐标
BigInteger y = new BigInteger(str_publickey.Substring(64), 16); // 替换为实际的y坐标ECDomainParameters domainParams1 = new ECDomainParameters(curve.Curve, curve.G, curve.N, curve.H);
Org.BouncyCastle.Math.EC.ECPoint Q = domainParams1.Curve.ValidatePoint(x, y);
ECPublicKeyParameters publicKey2 = new ECPublicKeyParameters(Q, domainParams1);
相关链接:
C#使用ECC椭圆曲线算法实现加密与解密&签名与验签,有完整代码_ecdomainparameters-CSDN博客
C#基础提升系列——C#数据应用安全性_慕课手记 (imooc.com)
公私钥生成:搞懂Ecc算法,2种方法生成Ecc公钥、私钥_通过ecc产生密钥对需要入参吗-CSDN博客
使用.Net C#生成ECDH公钥和私钥_使用RSA私钥生成公钥?_使用Apps Scripts生成公钥/私钥RSA - 腾讯云开发者社区 - 腾讯云 (tencent.com)
JAVA实现:
Java 实现 ECC 非对称加密算法加解密和签名验签 - 简书 (jianshu.com)
基于SHA256,C#的BouncyCastle - ECDSA数字签名验证-腾讯云开发者社区-腾讯云 (tencent.com)
.NET RSA签名验签:
C# .Net RSA加解密以及SHA1WithRsa签名生成及验签 - 三瑞 - 博客园 (cnblogs.com)
常规加解密介绍:
重出江湖|C#.net 加密大全_c# ecdsacng.verifyhash-CSDN博客
ECC曲线介绍:
什么是ECC?ECC 和 RSA 之间有何区别?_ecc rsa-CSDN博客
【密码算法 之十四】非对称算法,ECC椭圆曲线算法 之 ECDSA、ECDH、SM2、SM9等_ecdsa sm2-CSDN博客
数字签名验签 — ECC算法_ecc secp256r1-CSDN博客
About Scott Brady - scottbrady91
c# - 充气城堡 ECDSA 从私钥创建公钥 - 堆栈溢出 (stackoverflow.com)
一文说明白ECDSA secp256k1 secp256r1 EdDSA ed25519千丝万缕的关系-CSDN博客
ASN.1结构:
7. 其他密码相关的ASN.1问题 - Zzangg - 博客园 (cnblogs.com)
ASN.1 JavaScript decoder (lapo.it)
通过BouncyCastle包进行Java签名C#验签时要注意asn1编码转换_sm3withsm2 不使用asn1编码-CSDN博客
使用BC库时对PUBKEY的特殊处理_bcecprivatekey-CSDN博客
using System.Security.Cryptography实现:
C# | 上位机开发新手指南(十)加密算法——ECC_c# ecc-CSDN博客
.net core ECDsa - 雨太阳 - 博客园 (cnblogs.com)
在 .NET 中加载椭圆曲线 (EC) 密钥-CSDN博客
.NET下的加密解密大全(3):非对称加密_dsa fromxmlstring-CSDN博客
相关代码实现:
ICryptography.Encrypt C# (CSharp) Code Examples - HotExamples
JAVA Cipher类介绍:
javax.crypto.Cipher 类实现了加密和解密的算法-CSDN博客
JAVA BC库 RSA实现:
C#.NET Framework 使用BC库(BouncyCastle) RSA 公钥加密 私钥解密 ver:20230706 - runliuv - 博客园 (cnblogs.com)
JAVA SM2国密算法:
Java加密:五、SM2国密算法_java sm2-CSDN博客
公钥XY获取:
java BCECPublicKey 获取x和y_mob64ca12dd8bce的技术博客_51CTO博客
在C#中使用BouncyCastle重新创建密钥(ECPublicKeyParameters)-腾讯云开发者社区-腾讯云 (tencent.com)
其他:
C# Parameters.ECDomainParameters类代码示例 - 纯净天空 (vimsky.com)