对称加密,非对称加密,信息摘要算法的区别和联系

概念定义

  • 对称加密

    概念

    对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。

    优劣势

    1、要求提供一条安全的渠道使通讯双方在首次通讯时协商一个共同的密钥。直接的面对面协商可能是不现实而且难于实施的,所以双方可能需要借助于邮件和电话等其它相对不够安全的手段来进行协商;
    2、密钥的数目难于管理。因为对于每一个合作者都需要使用不同的密钥,很难适应开放社会中大量的信息交流;
    3、对称加密算法一般不能提供信息完整性的鉴别。它无法验证发送者和接受者的身份;
    4、对称密钥的管理和分发工作是一件具有潜在危险的和烦琐的过程。对称加密是基于共同保守秘密来实现的,采用对称加密技术的贸易双方必须保证采用的是相同的密钥,保证彼此密钥的交换是安全可靠的,同时还要设定防止密钥泄密和更改密钥的程序。

    常见的对称加密算法

    常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES

  • 非对称加密

    概念

    与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

    优劣势

    非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。
    非对称加密的RSA加密效率较低,一次加密的数据大小也很局限

    常见的非对称加密算法

    常见的对称加密算法有RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

  • 消息摘要算法

    概念

    Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。

    优劣势

    消息摘要保证了消息的完整性。如果发送者发送的消息,在传输过程中被恶意篡改,那么接收者收到消息后,用同样的摘要算法计算其摘要,如果新摘要与发送者原始摘要不同,那么接收者就知道消息被篡改了。这里有一个前提条件就是:接收者一定要事先知道消息的原始摘要。消息摘要不需要秘钥,不存在秘钥的保管和分发问题。

    常见的消息摘要算法

    常见的对称加密算法有MD2、MD4、MD5、HAVAL、SHA

  • 在安卓中的应用

    • 获取MD5值的不同方式
    • MD5+Salt一定安全吗?
    • Java/Android中的MD5加密加盐方法

    你可能感兴趣的:(对称加密,非对称加密,信息摘要算法的区别和联系)