资源简介
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登录界面源码
相关资源
- 020ASP.NET车辆综合管理系统.zip
- C# TcpListener 例程(源码)
- C# 内嵌其他exe窗体的完美封装
- PDF文件 阅读控件 (VeryPDF PDFView OCX)
- C#自定义控件案例--美化GroupBox.rar
- BouncyCastle C#源码
- C#高级编程(第10版) 百度网盘资源
- Unity5实战:使用C#和Unity开发多平台游
- zw_ASP.NET通用权限管理系统源代码含文
- 24652561RevitWPFAddin.zip
- ASP.NET网站建设实战--人民邮电出版社
- 传智播客ASP.NET[特供第三季].txt
- Winform通用经典快速开发CS框架-outloo
- C#爬取音乐源码.zip
- Rudin著第一册—阅读密码www.zasp.net_仅
- PracticalWPFChartsandGraphics.rar
- cb-9X-C#winform实现PDF阅读功能.rar
- sU-WV-C#比赛记时软件.rar
- u5-TW-C#打印操作--使用GDI绘图打印学生
- z1_C#打印操作--使用GDI绘图打印学生信
- C#打印操作--使用GDI绘图打印学生信息
- asp.net网上教学系统全站程序.zip
- C#管理学生考勤及作业登记系统
- 2321363LearnWPFMVVM-XAMLCandtheMVVMpattern.pdf
- 商品销售管理系统C#源码
- 松下PLC与C#上位机通讯库含程序.rar
- C#图书管理系统.rar
- zw_WPF_开发教程(_中文版).zip
- asp.net进销存系统源码.rar
- 网上商城源码(asp.netmvc开发).rar
评论
共有 条评论