BouncyCastle.Crypto的RSA算法调用源码

上传人:桔**** 文档编号:555033793 上传时间:2024-01-29 格式:DOCX 页数:17 大小:39.42KB
返回 下载 相关 举报
BouncyCastle.Crypto的RSA算法调用源码_第1页
第1页 / 共17页
BouncyCastle.Crypto的RSA算法调用源码_第2页
第2页 / 共17页
BouncyCastle.Crypto的RSA算法调用源码_第3页
第3页 / 共17页
BouncyCastle.Crypto的RSA算法调用源码_第4页
第4页 / 共17页
BouncyCastle.Crypto的RSA算法调用源码_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《BouncyCastle.Crypto的RSA算法调用源码》由会员分享,可在线阅读,更多相关《BouncyCastle.Crypto的RSA算法调用源码(17页珍藏版)》请在金锄头文库上搜索。

1、BouncyCastle.Crypto的RSA算法调用源码C#的BouncyCastle.Crypto,RSA算法调用的源码,正在研究这个,分享给大家。官网:http:/www.bouncycastle.org/csharp/ 1 using System; 2 3 using NUnit.Framework; 4 5 using Org.BouncyCastle.Crypto; 6 using Org.BouncyCastle.Crypto.Digests; 7 using Org.BouncyCastle.Crypto.Encodings; 8 using Org.BouncyCastle

2、.Crypto.Engines; 9 using Org.BouncyCastle.Crypto.Generators; 10 using Org.BouncyCastle.Crypto.Parameters; 11 using Org.BouncyCastle.Math; 12 using Org.BouncyCastle.Security; 13 using Org.BouncyCastle.Utilities; 14 using Org.BouncyCastle.Utilities.Encoders; 15 using Org.BouncyCastle.Utilities.Test; 1

3、6 17 namespace Org.BouncyCastle.Crypto.Tests 18 19 TestFixture 20 public class RsaTest 21 : SimpleTest 22 23 static BigInteger mod = new BigInteger(b259d2d6e627a768c94be36164c2d9fc79d97aab9253140e5bf17751197731d6f7540d2509e7b9ffee0a70a6e26d56e92d2edd7f85aba85600b69089f35f6bdbf3c298e05842535d9f064e6b

4、0391cb7d306e0a2d20c4dfb4e7b49a9640bdea26c10ad69c3f05007ce2513cee44cfe01998e62b6c3637d3fc0391079b26ee36d5, 16); 24 static BigInteger pubExp = new BigInteger(11, 16); 25 static BigInteger privExp = new BigInteger(92e08f83cc9920746989ca5034dcb384a094fb9c5a6288fcc4304424ab8f56388f72652d8fafc65a4b9020896

5、f2cde297080f2a540e7b7ce5af0b3446e1258d1dd7f245cf54124b4c6e17da21b90a0ebd22605e6f45c9f136d7a13eaac1c0f7487de8bd6d924972408ebb58af71e76fd7b012a8d0e165f3ae2e5077a8648e619, 16); 26 static BigInteger p = new BigInteger(f75e80839b9b9379f1cf1128f321639757dba514642c206bbbd99f9a4846208b3e93fbbe5e0527cc59b1d4

6、b929d9555853004c7c8b30ee6a213c3d1bb7415d03, 16); 27 static BigInteger q = new BigInteger(b892d9ebdbfc37e397256dd8a5d3123534d1f03726284743ddc6be3a709edb696fc40c7d902ed804c6eee730eee3d5b20bf6bd8d87a296813c87d3b3cc9d7947, 16); 28 static BigInteger pExp = new BigInteger(1d1a2d3ca8e52068b3094d501c9a842fe

7、c37f54db16e9a67070a8b3f53cc03d4257ad252a1a640eadd603724d7bf3737914b544ae332eedf4f34436cac25ceb5, 16); 29 static BigInteger qExp = new BigInteger(6c929e4e81672fef49d9c825163fec97c4b7ba7acb26c0824638ac22605d7201c94625770984f78a56e6e25904fe7db407099cad9b14588841b94f5ab498dded, 16); 30 static BigInteger

8、 crtCoef = new BigInteger(dae7651ee69ad1d081ec5e7188ae126f6004ff39556bde90e0b870962fa7b926d070686d8244fe5a9aa709a95686a104614834b0ada4b10f53197a5cb4c97339, 16); 31 32 static string input = 4e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e; 33 34 / 35 / to check that we handling byte e

9、xtension by big number correctly. 36 / 37 static string edgeInput = ff6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e; 38 39 static byte oversizedSig = Hex.Decode(01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

10、ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff004e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e); 40 static byte dudBlock = Hex.Decode(000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

11、ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff004e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e); 41 static byte truncatedDataBlock = Hex.Decode(0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

12、ffffffffffffffffffffffffffffffffffffffffffffffff004e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e); 42 static byte incorrectPadding = Hex.Decode(0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

13、ffffffffffffffffffffffffffffffffffffffffffffffffffffff4e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e); 43 static byte missingDataBlock = Hex.Decode(0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

14、ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); 44 45 public override string Name 46 47 get return RSA; 48 49 50 private void doTestStrictPkcs1Length(RsaKeyParameters pubParameters, RsaKeyParameters privParameters) 51 52 IAsymmetricBlockCipher eng = new RsaEngine(); 53 54 eng.Init(true, privParameters); 55 56 byte data = null; 57 58 try 59 60 data = eng.ProcessBlock(oversizedSig, 0, oversizedSig.Length); 61 62 catch (Exception e) 63 64 Fail(RSA: fa

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号