Microsoft.NET签名和加密

源码下载:http://download.csdn.net/source/2535155

.NET 签名和加密

概述:

在软件安全领域,经常要用到数字签名和加密功能,在.NET 中提供了比较方便的库来实现这两个功能。

数字签名主要实现了:

1)信息的完整性保护,即信息本身或签名的任何改变,都能在接收方识别出来;

2)信息发送者的身份认证,即可以证明信息是从签名的发送者发出的,具有不可抵赖性。

加密则实现了信息的加密传输。

 

Microsoft .NET 的签名和加密功能,都在System.Security.Cryptography中,详细可以查看:http://msdn.microsoft.com/en-us/library/92f9ye3s.aspx

数字签名一般采用非对称加密算法,用发送方私钥加密进行签名,接收方用发送方公钥解密进行校验(和加密过程刚好相反,用非对称算法加密时,加密方用接收方的公钥加密,接收方用自己的私钥解密)。在本文中,我们采用最常用的RSA算法。

加密一般采用对称加密算法(非对称加密一般性能较差,对被加密文本有长度限制,所以比较长的文本需要拆分逐段加密),本文采用3DES加密。

 

软件总体架构如下:

 

程序源码不再解释,说一下测试的情况:

1)正常测试

先用“Generate New Keys”生成RSA算法的Public/Private Key,同时生成3DES加密算法的Key/Iv,这些参数被保存在四个文本文件中,便于以后读取;

再在Tab页“Sign”的“Original Message”中输入待处理的文本,然后依次点击“1.Sign”“2.Combine”“3.Crypt”,完成对文本的签名的加密,其中签名附在原始文本明文的后面;

再点击“Verify”进行签名的验证,此时必然是成功的。

2)模拟Cracker破解了3DES加密算法后,修改原始文本

随意修改“Original Message”内容;

不要点击“1.Sign”,只依次点击“2.Combine”“3.Crypt”;

再点击“Verify”进行签名的验证,此时必会提示验证失败。

 

3)模拟Cracker破解了3DES加密算法后,修改原始签名

随意修改“Sign”内容;

不要点击“1.Sign”,只依次点击“2.Combine”“3.Crypt”;

再点击“Verify”进行签名的验证,此时必会提示验证失败。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值