資源簡介
C#基于BouncyCastle.Crypto的SM2_3實現(導入即可用含標準).zip

代碼片段和文件信息
using?Org.BouncyCastle.Crypto;
using?Org.BouncyCastle.Crypto.Parameters;
using?Org.BouncyCastle.Crypto.Generators;
using?Org.BouncyCastle.Math;
using?Org.BouncyCastle.Math.EC;
using?Org.BouncyCastle.Security;?//SecureRandom
using?Org.BouncyCastle.Utilities.Encoders;
using?System;
using?System.Text;
using?System.IO;
namespace?SVSTestKit
{
????public?class?SM2Class
????{
????????public?readonly?BigInteger?ecc_p;
????????public?readonly?BigInteger?ecc_a;
????????public?readonly?BigInteger?ecc_b;
????????public?readonly?BigInteger?ecc_n;
????????public?readonly?BigInteger?ecc_gx;
????????public?readonly?BigInteger?ecc_gy;
????????public?readonly?ECCurve?ecc_curve;
????????public?readonly?ECPoint?ecc_point_g;
????????public?readonly?ECDomainParameters?ecc_bc_spec;
????????public?readonly?ECKeyPairGenerator?ecc_key_pair_generator;
????????//SM2橢圓曲線公鑰密碼算法推薦曲線參數
????????//正式參數?p?a?b?n?gx?gy
????????public?readonly?string[]?formalparameter?=?
????????{
????????????“FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF“
????????????“FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC“
????????????“28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93“
????????????“FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123“
????????????“32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7“
????????????“BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0“
????????};
????????//測試參數?p?a?b?n?gx?gy
????????public?readonly?string[]?testparameter?=?
????????{
????????????“8542D69E4C044F18E8B92435BF6FF7DE457283915C45517D722EDB8B08F1DFC3“
????????????“787968B4FA32C3FD2417842E73BBFEFF2F3C848B6831D7E0EC65228B3937E498“
????????????“63E4C6D3B23B0C849CF84241484BFE48F61D59A5B16BA06E6E12D1DA27C5249A“
????????????“8542D69E4C044F18E8B92435BF6FF7DD297720630485628D5AE74EE7C32E79B7“
????????????“421DEBD61B62EAB6746434EBC3CC315E32220B3BADD50BDC4C4E6C147FEDD43D“
????????????“0680512BCBB42C07D47349D2153B70C4E5D7FDFCBFA36EA1A85841B9E46E09A2“
????????};
????????public?readonly?string[]?ecc_parameter?=?new?string[6];
????????public?SM2Class()
????????{
????????????//ecc_parameter?=?testparameter;?//正式和測試參數調整點
????????????ecc_parameter?=?formalparameter;?//正式和測試參數調整點
????????????//將16進制字符串轉化為大整數
????????????ecc_p?=?new?BigInteger(ecc_parameter[0]?16);?//Fp域的規模、大于3的素數
????????????ecc_a?=?new?BigInteger(ecc_parameter[1]?16);?//Fp中兩元素其中之一
????????????ecc_b?=?new?BigInteger(ecc_parameter[2]?16);?//Fp中兩元素其中之一
????????????ecc_n?=?new?BigInteger(ecc_parameter[3]?16);?//基點G的階、要求:大于2^191且大于4p^1/2
????????????ecc_gx?=?new?BigInteger(ecc_parameter[4]?16);????//基點G的x坐標
????????????ecc_gy?=?new?BigInteger(ecc_parameter[5]?16);????//基點G的y坐標
????????????//FpFieldElement(派生類):?ECFieldElement(基類)
????????????ECFieldElement?ecc_gx_fieldelement?=?new?FpFieldElement(ecc_p?ecc_gx);?//定義EC字段元素,并通過p和gx賦值
????????????ECFieldElement?ecc_gy_fieldeleme
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????945731??2011-08-30?10:21??SM2橢圓曲線公鑰密碼算法.pdf
?????文件???????22552??2011-08-30?10:21??SM2橢圓曲線公鑰密碼算法推薦曲線參數.pdf
?????文件??????103677??2011-08-30?10:21??SM3密碼雜湊算法.pdf
?????文件???????34987??2020-04-07?11:08??SMAPI.cs
?????文件?????1212416??2007-07-05?05:06??BouncyCastle.Crypto.dll
- 上一篇:C#網絡對戰五子棋c/s源程序
- 下一篇:Winform QQ登錄界面源碼
評論
共有 條評論