MD5加密和RSA加密

1.MD5加密算法

   MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),MD5算法的使用不须要支付任何版权费用。数据库

  

  MD5的功能:安全

      ①.输入任意长度的信息,通过处理,输出为128位的信息(数字指纹);
      ②.不一样的输入获得的不一样的结果(惟一性);
      ③.根据128位的输出结果不可能反推出输入的信息(不可逆),也就是只能加密,不能解密; 
服务器

 

  MD5的用途:网络

      一、防止被篡改
      1)好比发送一个电子文档,发送前,我先获得MD5的输出结果a。而后在对方收到电子文档后,对方也获得一个MD5的输出结果b。若是a与b同样就表明中途未被篡改。2)好比我提供文件下载,为了防止不法分子在安装程序中添加木马,我能够在网站上公布由安装文件获得的MD5输出结果。3)SVN在检测文件是否在CheckOut后被修改过,也是用到了MD5.

      二、防止直接看到明文
      如今不少网站在数据库存储用户的密码的时候都是存储用户密码的MD5值。这样就算不法分子获得数据库的用户密码的MD5值,也没法知道用户的密码(其实这样是不安全的,后面我会提到)。(好比在UNIX系统中用户的密码就是以MD5(或其它相似的算法)经加密后存储在文件系统中。当用户登陆的时候,系统把用户输入的密码计算成MD5值,而后再去和保存在文件系统中的MD5值进行比较,进而肯定输入的密码是否正确。经过这样的步骤,系统在并不知道用户密码的明码的状况下就能够肯定用户登陆系统的合法性。这不但能够避免用户的密码被具备系统管理员权限的用户知道,并且还在必定程度上增长了密码被破解的难度。)

      三、防止抵赖(数字签名):
      这须要一个第三方认证机构。例如A写了一个文件,认证机构对此文件用MD5算法产生摘要信息并作好记录。若之后A说这文件不是他写的,权威机构只需对此文件从新产生摘要信息,而后跟记录在册的摘要信息进行比对,相同的话,就证实是A写的了。这就是所谓的“数字签名”。
函数

 

  咱们强大的支付宝使用MD5加密,正式由于MD5强大的用途。工具

 

2.RSA加密性能

  ①.RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。网站

    ②.RSA加密是可逆的,一个字符串能够经rsa加密后,经加密后的字符串传到对端如服务器上,再进行解密便可。前提是服务器知道解密的私钥,固然这个私钥最好不要再网络传输。加密

    ③.RSA以它的三个发明者Ron Rivest, Adi Shamir, Leonard Adleman的名字首字母命名,这个算法经受住了多年深刻的密码分析,虽然密码分析者既不能证实也不可否定RSA的安全性,但这偏偏说明该算法有必定的可信性,目前它已经成为最流行的公开密钥算法。
    ④.RSA的安全基于大数分解的难度。其公钥和私钥是一对大素数(100到200位十进制数或更大)的函数。从一个公钥和密文恢复出明文的难度,等价于分解两个大素数之积(这是公认的数学难题)。

 

  RSA的公钥、私钥的组成,以及加密、解密的公式可见于下表:


      

  

  RSA的安全性:

  在RSA密码应用中,公钥KU是被公开的,即e和n的数值能够被第三方窃听者获得。破解RSA密码的问题就是从已知的e和n的数值(n等于pq),想法求出d的数值,这样就能够获得私钥来破解密文。从上文中的公式:d ≡e-1 (mod((p-1)(q-1)))或de≡1 (mod((p-1)(q-1))) 咱们能够看出。密码破解的实质问题是:从Pq的数值,去求出(p-1)和(q-1)。换句话说,只要求出p和q的值,咱们就能求出d的值而获得私钥。
   当p和q是一个大素数的时候,从它们的积pq去分解因子p和q,这是一个公认的数学难题。好比当pq大到1024位时,迄今为止尚未人可以利用任何计算工具去完成分解因子的任务。所以,RSA从提出到如今已近二十年,经历了各类攻击的考验,逐渐为人们接受,广泛认为是目前最优秀的公钥方案之一。
  然而,虽然RSA的安全性依赖于大数的因子分解,但并无从理论上证实破译RSA的难度与大数分解难度等价。即RSA的重大缺陷是没法从理论上把握它的保密性能如何。
  此外,RSA的缺点还有:A)产生密钥很麻烦,受到素数产生技术的限制,于是难以作到一次一密。B)分组长度太大,为保证安全性,n 至少也要 600 bits 以上,使运算代价很高,尤为是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增长,不利于数据格式的标准化。所以,使用RSA只能加密少许数据,大量的数据加密还要靠对称密码算法。

 

  我相信这么强大的加密方式想要破解,几乎不可能吧。这也是RSA用在支付宝加密中的缘由。

相关文章
相关标签/搜索