1 20 50 150 500
欢迎来到哈希软件站,找素材,搜软件,就上哈希软件站!
当前位置 >首页 >软件下载 >电脑软件 >安全软件 >密码恢复

MD5, DES, RSA加密解密工具及源码

软件信息
  • 分类:密码恢复
  • 大小:182KB
  • 语言: 中文
  • 环境: WinAll, WinXP
  • 更新:2024-07-04
  • 评级:
  • 系统: Windows Linux Mac Ubuntu
  • 软件类别: 国产软件 / 免费软件 / 密码相关
  • 插件情况:

把一些加密解密的代码,简单整理成一个类,做了一个加密解密的小工具,可以实现MD5加密,DES加密解密,RSA加密解密。

使用的是 System.Security.Cryptography; 命名空间提供的相关类。

RSA加密算法:

RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。

公钥与私钥的产生
假设Alice想要通过一个不可靠的媒体接收Bob的一条私人讯息。她可以用以下的方式来产生一个公钥和一个私钥:
随意选择两个大的质数p和q,p不等于q,计算N=pq。
根据欧拉函数,求得r= φ(N) = φ(p)φ(q) = (p-1)(q-1)
选择一个小于r的整数e,求得e关于模r的模反元素,命名为d。(模反元素存在,当且仅当e与r互质)
将p和q的记录销毁。
(N,e)是公钥,(N,d)是私钥。Alice将她的公钥(N,e)传给Bob,而将她的私钥(N,d)藏起来。

加密消息
假设Bob想给Alice送一个消息m,他知道Alice产生的N和e。他使用起先与Alice约好的格式将m转换为一个小于N的整数n,比如他可以将每一个字转换为这个字的Unicode码,然后将这些数字连在一起组成一个数字。假如他的信息非常长的话,他可以将这个信息分为几段,然后将每一段转换为n。用下面这个公式他可以将n加密为c:
n^e equiv c (mathrm{mod} N)
计算c并不复杂。Bob算出c后就可以将它传递给Alice。

解密消息
Alice得到Bob的消息c后就可以利用她的密钥d来解码。她可以用以下这个公式来将c转换为n:
c^d equiv n (mathrm{mod} N)
得到n后,她可以将原来的信息m重新复原。

解码的原理是
c^d equiv n^{e cdot d} (mathrm{mod} N)
以及ed ≡ 1 (mod p-1)和ed ≡ 1 (mod q-1)。由费马小定理可证明(因为p和q是质数)
n^{e cdot d} equiv n (mathrm{mod} p) 和 n^{e cdot d} equiv n (mathrm{mod} q)
这说明(因为p和q是不同的质数,所以p和q互质)
n^{e cdot d} equiv n (mathrm{mod} pq)

下载地址

热门软件

Top