C# 模拟数字签名过程

上传者: lwnt08 | 上传时间: 2021-06-07 14:37:47 | 文件大小: 113KB | 文件类型: ZIP
数字签名过程: (1) 发方A用自己的私钥PVA,采用非对称RSA算法,将原文信息进行哈希(hash)运算,并对hash值进行加密,即得数字签名DS;(RSACryptoServiceProvider.SignData()) (3) 发方A用对称算法AES的对称密钥SK对原文信息、数字签名SD及发方A证书的公钥PBA采用对称算法加密,得加密信息E;(Rijndael.CreateEncryptor()) (4) 发方用收方B的公钥PBB,采用RSA算法对对称密钥SK加密,形成数字信封DE,就好像将对称密钥SK装到了一个用收方公钥加密的信封里;(RSACryptoServiceProvider.Encrypt()) (5) 发方A将加密信息E和数字信封DE一起发送给收方B; (6) 收方B接受到数字信封DE后,首先用自己的私钥PVB解密数字信封,取出对称密钥SK;(RSACryptoServiceProvider.Decrypt()) (7) 收方B用对称密钥SK通过AES算法解密加密信息E,还原出原文信息、数字签名SD及发方A证书的公钥PBA;(Rijndael.CreateDecryptor()) (8) 收方B验证数字签名,先用发方A的公钥解密数字签名得数字摘要MD; (9) 收方B同时将原文信息用同样的哈希运算,求得一个新的数字摘要MD`;(RSACryptoServiceProvider.VerifyData()) (10)将两个数字摘要MD和MD`进行比较,验证原文是否被修改。如果二者相等,说明数据没有被篡改,是保密传输的,签名是真实的;否则拒绝该签名。 程序用法: “生成证书”按钮,生成发送方、接收方对应的公钥证书和私钥证书。 “签名”按钮,使用发送方私钥、发送方公钥、接收方公钥对文本框中的文本进行数字签名。得到签名后的文本。 “还原验证”按钮,使用接收方私钥将签名后的文本还原,并进行验证。

文件下载

资源详情

[{"title":"( 39 个子文件 113KB ) C# 模拟数字签名过程","children":[{"title":"使用说明.txt <span style='color:#111;'> 1.36KB </span>","children":null,"spread":false},{"title":"DS","children":[{"title":"Program.cs <span style='color:#111;'> 460B </span>","children":null,"spread":false},{"title":"DS.resx <span style='color:#111;'> 5.68KB </span>","children":null,"spread":false},{"title":"CommonClass.cs <span style='color:#111;'> 2.02KB </span>","children":null,"spread":false},{"title":"obj","children":[{"title":"Release","children":[{"title":"DS.csproj.FileListAbsolute.txt <span style='color:#111;'> 700B </span>","children":null,"spread":false},{"title":"DS.Properties.Resources.resources <span style='color:#111;'> 180B </span>","children":null,"spread":false},{"title":"DS.exe <span style='color:#111;'> 18.00KB </span>","children":null,"spread":false},{"title":"DS.DS.resources <span style='color:#111;'> 180B </span>","children":null,"spread":false},{"title":"TempPE","children":null,"spread":false},{"title":"DS.csproj.GenerateResource.Cache <span style='color:#111;'> 844B </span>","children":null,"spread":false},{"title":"DS.pdb <span style='color:#111;'> 39.50KB </span>","children":null,"spread":false}],"spread":true},{"title":"Debug","children":[{"title":"DS.csproj.FileListAbsolute.txt <span style='color:#111;'> 668B </span>","children":null,"spread":false},{"title":"DS.Properties.Resources.resources <span style='color:#111;'> 180B </span>","children":null,"spread":false},{"title":"DS.exe <span style='color:#111;'> 17.50KB </span>","children":null,"spread":false},{"title":"DS.DS.resources <span style='color:#111;'> 180B </span>","children":null,"spread":false},{"title":"TempPE","children":null,"spread":false},{"title":"Refactor","children":null,"spread":false},{"title":"DS.csproj.GenerateResource.Cache <span style='color:#111;'> 844B </span>","children":null,"spread":false},{"title":"DS.pdb <span style='color:#111;'> 39.50KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"bin","children":[{"title":"Release","children":[{"title":"DS.vshost.exe <span style='color:#111;'> 13.99KB </span>","children":null,"spread":false},{"title":"makecert.exe <span style='color:#111;'> 56.35KB </span>","children":null,"spread":false},{"title":"DS.exe <span style='color:#111;'> 18.00KB </span>","children":null,"spread":false},{"title":"DS.vshost.exe.manifest <span style='color:#111;'> 490B </span>","children":null,"spread":false},{"title":"DS.pdb <span style='color:#111;'> 39.50KB </span>","children":null,"spread":false},{"title":"Keys","children":[{"title":"sender.cer <span style='color:#111;'> 434B </span>","children":null,"spread":false},{"title":"sender.pfx <span style='color:#111;'> 1.59KB </span>","children":null,"spread":false},{"title":"recer.cer <span style='color:#111;'> 433B </span>","children":null,"spread":false},{"title":"recer.pfx <span style='color:#111;'> 1.59KB </span>","children":null,"spread":false}],"spread":true},{"title":"DSfile","children":[{"title":"Enc_Str.txt <span style='color:#111;'> 14B </span>","children":null,"spread":false},{"title":"Dec_Str.txt <span style='color:#111;'> 2.39KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"Debug","children":null,"spread":false}],"spread":true},{"title":"DS.cs <span style='color:#111;'> 7.90KB </span>","children":null,"spread":false},{"title":"DS.Designer.cs <span style='color:#111;'> 6.64KB </span>","children":null,"spread":false},{"title":"DS.csproj <span style='color:#111;'> 3.46KB </span>","children":null,"spread":false},{"title":"MyCA.cs <span style='color:#111;'> 2.33KB </span>","children":null,"spread":false},{"title":"MyAES.cs <span style='color:#111;'> 2.53KB </span>","children":null,"spread":false},{"title":"MyRSA.cs <span style='color:#111;'> 3.41KB </span>","children":null,"spread":false},{"title":"MyDS.cs <span style='color:#111;'> 3.63KB </span>","children":null,"spread":false},{"title":"Properties","children":[{"title":"AssemblyInfo.cs <span style='color:#111;'> 1.30KB </span>","children":null,"spread":false},{"title":"Settings.Designer.cs <span style='color:#111;'> 1.06KB </span>","children":null,"spread":false},{"title":"Resources.resx <span style='color:#111;'> 5.48KB </span>","children":null,"spread":false},{"title":"Settings.settings <span style='color:#111;'> 249B </span>","children":null,"spread":false},{"title":"Resources.Designer.cs <span style='color:#111;'> 2.79KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true}]

评论信息

  • u011221854 :
    很详细,学习了
    2014-09-28
  • adawoo :
    只是个文档,不过流程说的还比较清楚
    2014-08-13
  • u012573437 :
    不错,能用,虽说没有项目工程文件在里面,不过我可以照着自己重新编程一下,还是可以做出来的。
    2014-06-30
  • zx100zx100 :
    看了很多,结果下下来果然没有注释。。。不是很好的习惯~
    2014-06-18
  • u014350949 :
    有点注释就好了
    2014-04-21

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明