美文网首页
RSA和AES区别

RSA和AES区别

作者: Coder_LRT | 来源:发表于2017-03-20 18:14 被阅读0次

先了解下AES和RSA的区别,前者属于对称加密,后者属于非对称加密

1、对称加密

对称加密就是加密和解密使用同一个密钥。

用数学公示表示就是:

▲加密:Ek(P) = C

▲解密:Dk(C) = P

这里E表示加密算法,D表示解密算法,P表示明文,C表示密文。

是不是看起来有点不太容易理解?看下图:

看过间谍局的知友们一定知道电台和密码本的功能。潜伏里面孙红雷通过电台收听到一堆数字,然后拿出密码本比对,找到数字对应的汉字,就明白上级传达的指令。而军统的监听台没有密码本,只看到一堆没有意义的数字,这就是对称算法的原理。

AES就属于对称加密,常见的对称加密方法还有DES、3DES、Blowfish、RC2以及国密的SM4。

2、非对称加密

对称加密快而且方便,但是有个缺点——密钥容易被偷或被破解。非对称加密就可以很好的避免这个问题。

非对称算法把密钥分成两个,一个自己持有叫私钥,另一个发给对方,还可以公开,叫公钥,用公钥加密的数据只能用私钥解开。

▲加密: E公钥(P) = C

▲解密::D私钥(C) = P

这下就不用担心密钥被对方窃取或被破解了,私钥由自己保管。

非对称加密算法核心原理其实就是设计一个数学难题,使得用公钥和明文推导密文很容易,但根据公钥、明文和密文推导私钥极其难。

RSA就属于非对称加密,非对称加密还有Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)以及国家商用密码SM2算法。

3、AES和RSA

AES和RSA都很安全,至少在目前的计算机体系结构下,没有任何有效的攻击方式。量子计算机时代,RSA有一定的破绽,因为利用shro's algorithm,量子计算机穷举计算质因子速度可以提高N个数量级,能够在有限的时间内破解RSA密钥。AES256至少目前并没有什么明显的漏洞。

AES作为对称加密技术,加密速度很快。现在高端一点的CPU都带有AES-NI指令,可以极快的完成加密和解密。

举例来说,坚果云存储系统采用了intel 的AES-NI加速,在采用AES加密和解密的时候,

单核的性能可以超过 1GB Byte/秒,非常非常快,很适合对大量数据进行加解密。 

但是AES作为对称加密技术,如何安全的分发密钥是一个难题。通过任何方式传递密钥都有泄密的风险。当然,目前我国高大上的量子通信技术或许能很好的解决这个问题。

RSA作为非对称加密技术的代表,加解密的速度其实相当慢,只能对小块的数据进行加解密。但是其非对称的特点,满足公钥可以随处分发,只有公钥能解密私钥加密的数据,只有私钥能解密公钥加密的数据。所以很适合用来进行密钥分发和身份验证,这两个应用场景刚好相反。

1)用于对称秘钥分发的场景,其他人用公钥加密对称的秘钥,那么只有授权人才持有私钥,因此才能解密获得对应的秘钥,解决了AES密钥分发的难题;

2)对于身份验证的场景,授权人用私钥加密一段指令,其他人用公钥解密对应的数据,验证对应的指令与之前约定的某些特征一致(例如,这段话必须使用四川口音,像是坚果云CEO 

的标准四川口音==),如果一致,那么可以确认这个指令就是授权人发出的。

相关趣闻轶事:

RSA除了是一个伟大的发明,被免费开放给所有互联网用户使用。它的发明者还以此成立了一家名为RSA Security的网络安全公司,这家公司最后被EMC高价收购。这是德艺双馨的伟大证明, 是“又红又专”的典范。

RSA的算法是以三个发明者的名字命名的,三位都是成功的数学家,科学家和企业家,其中的排名第一Ron Rivest,有非常多的杰出贡献。

RSA是整个互联网数据安全的基础,与光纤处于同样基础和重要的方式。大部分的加密和解密的应用都是同时应用RSA和AES。

总结

破解加密的难度除了跟加密方法有关,还跟密钥长度以及加密模式有很大的关系,就拿AES来说,有AES128和AES256(代表密钥长度),显然AES256的安全性能比AES128更高,而AES又要四种模式:ECB、CBC、CFB、OFB(代表加密模式)。

RSA1024是属于非对称加密,是基于大整数因式分解难度,也就是两个质数相乘很容易,但是找一个大数的质因子非常困难。量子计算机时代,RSA有一定的风险,具体可以参考:超链接

AES256目前没有明显的漏洞,唯一的问题就是如何安全的分发密钥。

现在大部分的加密解密都是同时应用RSA和AES,发挥各自的优势,使用RSA进行密钥分发、协商,使用AES进行业务数据的加解密。

相关文章

  • RSA和AES区别

    先了解下AES和RSA的区别,前者属于对称加密,后者属于非对称加密。 1、对称加密 对称加密就是加密和解密使用同一...

  • AES+RSA组合算法 接口参数加解密

    了解此方案原理前,先了解下AES算法和RSA算法的差异 AES+RSA算法 AES 算法 AES 算法是一种对称加...

  • Android知识点O――Z

    AES-DES-RSA-MD5加解密 AbstractClass与Interface的区别 Bitmap相关 重写...

  • AES加密

    ****场景****公司接口安全需要RSA和AES混合使用,RSA已经走通,AES也预研成功。现将代码及注意事项贴...

  • AES,SHA1,DES,RSA,MD5区别

    AES,SHA1,DES,RSA,MD5区别 AES:更快,兼容设备,安全级别高; SHA1:公钥后处理回传 DE...

  • Android面试

    3. 加密算法有哪些?对称加密和非对称加密的区别? MD5,SHA1,Base64,RSA,AES,DES 非对称...

  • 网址收藏

    AES+RSA混合加解密

  • AES 和RSA加解密

    AES 加解密 RSA 加解密

  • Android-DH 秘钥交换

    Android-RSA 分段加密解密Android-Openssl创建RSA公钥和私钥Android-AES加解密...

  • Android-RSA分段加密解密

    Android-RSA 分段加密解密Android-Openssl创建RSA公钥和私钥Android-AES加解密...

网友评论

      本文标题:RSA和AES区别

      本文链接:https://www.haomeiwen.com/subject/yesinttx.html