- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NET非对称加密 1 密钥生成与保存 新手教程
NET非对称加密 1 密钥生成与保存 新手教程
阅读:23评论:0作者:玄魂发表于2010-05-13 23:27原文链接
文/玄魂
当使用一个非对称加密类创建一个该类的实例的时候,构造函数会为我们生成一个公钥/私钥对。我们可以选择是否保存该密钥和保存的方式。
我们先从代码清单1-1的内容来熟悉下非对称密钥的密钥结构。
代码清单1-1输出非对称密钥
classProgram
{
staticvoidMain(string args)
{
RSACryptoServiceProvider rcp=newRSACryptoServiceProvider();
RSAParameters parameter1=rcp.ExportParameters(true);
RSAParameters parameter2=rcp.ExportParameters(false);
WriteParameInfo(parameter1,parameter1);
WriteParameInfo(parameter2,parameter2);
Console.Read();
}
privatestaticvoidWriteParameInfo(RSAParameters parameter,stringname)
{
Console.WriteLine(name+.D:);
Console.WriteLine(ConverBitTostring(parameter.D));
Console.WriteLine(name+DP:);
Console.WriteLine(ConverBitTostring(parameter.DP));
Console.WriteLine(name+.DQ);
Console.WriteLine(ConverBitTostring(parameter.DQ));
Console.WriteLine(name+.InverseQ);
Console.WriteLine(ConverBitTostring(parameter.InverseQ));
Console.WriteLine(name+.Modulus);
Console.WriteLine(ConverBitTostring(parameter.Modulus));
Console.WriteLine(name+.P);
Console.WriteLine(ConverBitTostring(parameter.P));
Console.WriteLine(name+.Q);
Console.WriteLine(ConverBitTostring(parameter.Q));
Console.WriteLine(name+.Exponent);
Console.WriteLine(ConverBitTostring(parameter.Exponent));
}
publicstaticstringConverBitTostring(byte bytes)
{
if(bytes==null)
{
return该值为空!;
}
else
{
StringBuilder sb=newStringBuilder();
for(inti=0;i bytes.Length;i++)
{
sb.Append(bytes[1].ToString());
}
returnsb.ToString();
}
}
}
在代码清单1-1中,我们首先使用RSACryptoServiceProvider rcp=new RSACryptoServiceProvider();来生成RSA实现类的实例rcp,然后调用ExportParameters方法导出密钥。ExportParameters方法的参数是bool值,如果该值为true表示可以导出私钥,否则为不可导出私钥。密钥导出的结果为RSAParameters结构,在了解该结构的各个属性值之前我们先看看输出结果,parameter1的输出结果如图1-1所示,parameter2的输出结果如图1-2所示。
图1-1 parameter1的输出结果
图1-2 parameter2的输出结果
如果您对RSA算法的原理还不是很熟悉的话,建议您在看一看相关内容,这里为了叙述图1-1和图1-2中的输出结果,我再简要说明下RSA算法:
若要生成密钥对,可以从创建名为p和q的两个大的质数开始。这两个数相乘,结果称为n。因为p和q都是质数,所以n的全部因数为1、p、q和n。如果仅考虑小于n的数,则与n为互质数(即与n没有公因数)的数的个数等于(p-1)(q-1)。现在,选择一个数e,它与计算的值为互质数。则公钥表示为{e,n}。若要创建私钥,则必须计算d,
您可能关注的文档
最近下载
- (编号TCAIM 014-2024)-《帕金森病中西医结合诊疗指南》.pdf VIP
- 硝基漆安全技术说明书.pdf VIP
- 第三单元工具与技术单元复习试题科学六年级上册教科版2017.doc VIP
- DB23_T 3919-2024 大跨钢结构技术标准.pdf VIP
- 起重机械吊索具检查与报废标准40.pdf VIP
- 2025年食品法规与标准模拟卷(附答案).docx VIP
- R-Biopharm拜发分析系统检测试剂盒R7021说明书.pdf
- 06 《诫子书》理解性默写-学年七年级语文上册知识梳理与能力训练.docx VIP
- TCAQ10201-2024质量管理小组活动准则_可搜索.pdf VIP
- 2025年商品和服务税收分类编码操作手册1.08.7.pdf VIP
原创力文档


文档评论(0)