资源简介
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登录界面源码
相关资源
- zw_WPF_开发教程(_中文版).zip
- asp.net进销存系统源码.rar
- 网上商城源码(asp.netmvc开发).rar
- 0027ASP.NET公司员工管理系统的设计与实
- asp.net捐赠慈善公益管理系统.rar
- 176ASP.NETweb图纸管理系统.zip
- 010ASP.NET人才招聘网站.rar
- 非常酷的wpf控件库包括一套实现得很
- .NETWinForm和WPF的UI界面库,收集整合多
- asp.net电子商务平台数据库源码.zip
- 020asp.net火车票预定系统.rar
- C#通讯调试工具v3.0源码20130827.zip
- C#编程词典(个人版)专为编程人员准
- 零基础学ASP.NET源码.rar
- MoreEffectiveC#中文高清.pdf
- CLRviaC#第4版_PDF电子书带书签目录高清
- VisualC#2008控件使用范例详解--PDF+源码
- ASP.net基于百度AI的在线人脸登陆,人
- ASP.net网上销售系统.zip
- ASP.NETMVC5kjjm_jb51.rar
- bigTaxi_0.csv
- 51CTO-9787302275343Web程序设计——ASP.NE
- WPF揭秘.pdf
- MF000165-房产中介管理系统源码asp.net房
- C#设计模式+源码JamesW.Cooper.zip
- 影院管理系统c#毕业设计作品.zip
- MF000164-ASP.NET酒店管理系统源码.zip
- 黄浦区19.csv
- C#小区物业管理系统.zip
- 精通C#游戏编程.pdf
评论
共有 条评论