数据加密算法调研

数据加密

数据加密,是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。它的核心是密码学。

数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。

==算法==:属性函数
==秘钥==:可变参数(加密秘钥、解密秘钥)

加密系统中,算法是相对稳定的,而秘钥是可以改变的。

数据加密分类

  1. 对称加密

    对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥
    duicheng

  2. 非对称加密

    非对称加密需要两个密钥:公开密钥(publickey)和私有密 (privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密
    duicheng

  3. 混合加密

    对称加密 + 非对称加密
    duicheng

数据加密算法

对称加密算法

常用算法

  1. DES(Data Encryption Standard)

    一种对称加密标准,是目前使用最广泛的密钥系统,特别是在保护金融数据的安全中。曾是美国联邦政府的加密标准,但现已被AES所替代
    rsa

  2. 3DES(Triple DES)

    基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高

  3. AES(Advanced Encryption Standard)

    又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准,有AES-128, AES-192或AES-256算法
    rsa

  4. PBE(Password Base Encryption)

    一种基于口令的加密算法,特点在于口令由用户自己掌握,采用随机数(我们这里叫做)杂凑多重加密等方法保证数据的安全性
    rsa

对称加密算法的优点

  • 算法公开
  • 计算量小
  • 加密速度快,加密效率高

对称加密算法的缺点

  • 加解密双方需要使用相同的秘钥
  • 秘钥管理很不方便,如果用户很多,那么秘钥的管理成几何性增长
  • 任何一方秘钥泄露,数据都不安全

非对称加密算法

常用算法

  1. RSA

    RSA是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准
    rsa

  2. Elgamal

    基于离散对数问题的加密算法,只能单向加解密,能用于数据加密和数字签名
    elgamal

  3. D-H

    基于计算离散对数的难度的秘钥交换算法,它使得通信的双方能在非安全的信道中安全的交换密钥,用于加密后续的通信消息,不用于消息的加解密
    dh

  4. ECC

    Elliptic Curve Cryptography,基于椭圆曲线的一种加密算法
    与RSA算法对比,它的安全性更高,处理速度更快,但由于它的数学理论非常深奥和复杂,在工程应用中比较难于实现

非对称加密算法的优点

  • 一对公私钥,安全性更高
  • 秘钥管理很方便

非对称加密算法的缺点

  • 计算量大
  • 加密速度慢,比对称加密算法慢1000倍左右
  • 不适合大数据量加密

使用

使用分类

在实践中,结合对称加密和非对称加密算法的优缺点,可分为如下两种情况:

  1. 小数据量

    直接使用非对称加密算法

  2. 大数据量

    使用对称加密算法对数据加密,使用非对称加密算法加密对称加密算法中的秘钥

算法推荐

  • 对称加密算法,推荐使用AES
  • 非对称加密算法,推荐使用RSADH

秘钥长度根据需求决定

参考

http://ch-tseng.blogspot.jp/
http://liaoph.com/encrytion-and-openssl/
http://deshui.wang/%E6%8A%80%E6%9C%AF/2016/01/10/security-3
http://blog.csdn.net/zhengchao1991/article/details/53483357
http://blog.csdn.net/zuozhiyoulaisam/article/details/54929661
http://blog.csdn.net/zuozhiyoulaisam/article/details/54947402

支持原创