常见加密算法

加密,是以某种特殊的算法改变原有的信息数据,使得未受权的用户即便得到了已加密的信息,但因不知解密的方法,仍然没法了解信息的内容。在信息安全领域咱们经常使用加密算法来达到如下3方面的安全目标:
  ①保密性:防止用户的数据被读取;
  ②数据完整性:防止数据被篡改;
  ③身份验证:确保数据发自特定的一方。算法

常见的加密算法主要可分为3大类:对称加密、非对称加密、单向加密。数据库

对称加密

定义:安全

  加密和解密使用相同密钥的加密算法,因为其速度快,对称性加密一般在消息发送方须要加密大量数据时使用。对称性加密也称为密钥加密,所谓对称,就是采用这种加密方法的双方使用方式用一样的密钥进行加密和解密。网络

对称加密的优缺点:并发

  对称加密算法的优势是算法公开、计算量小、加密速度快、加密效率高。工具

  对称加密算法的缺点是产生的密钥过多和密钥分发困难;加密

经常使用算法:spa

  DES、3DES、TDEA、Blowfish、RC二、RC四、RC五、IDEA、SKIPJACK、AES等。blog

加密过程(如图):get

非对称加密

定义:

  与对称加密算法不一样,非对称加密算法须要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,若是用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;

若是用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。由于加密和解密使用的是两个不一样的密钥,因此这种算法叫做非对称加密算法。

公钥:

  从私钥中提取产生;可公开给全部人;pubkey

私钥:

经过工具建立,使用者本身留存,必须保证其私密性;secret key

特色:

  用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然

用途:

  数字签名:主要在于让接收方确认发送方的身份;

  密钥交换:发送方用对方公钥加密一个对称密钥,并发送给对方;

  数据加密

经常使用算法:

  RSA, DSA, ELGamal,DSS数字签名标准 只能签名,DSA数字签名算法 既能签名又能解密

加密过程(如图):

单向加密

定义:

  单向加密算法只能用于对数据的加密,没法被解密,其特色为定长输出、雪崩效应。单向加密算法用于不须要对信息进行解密或读取的场合,好比用来比较两个信息值是否同样而不须要知道信息具体内容,

在实际中的一个典型应用就是对数据库中的用户信息进行加密,好比当建立一个新用户及密码时,将这些信息通过单向加密后再保存到数据库中。

常见的算法包括:

  MD五、sha一、sha224等等,其常见用途包括:数字摘要、数字签名等等。

 附:PKI

公钥基础设施PKI(Public KeyInfrastructure),是一种遵循既定标准的密钥管理平台,它可以为全部网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。

简单来讲,PKI就是利用公钥理论和技术创建的提供安全服务的基础设施,PKI技术是信息安全技术的核心。由4个部分组成:

  ①签证机构:CA

  ②注册机构:RA

  ③证书吊销列表:CRL

  ④证书存取库

X.509v3:定义了证书的结构以及认证协议标准:

  版本号、序列号、签名算法ID、发行者名称、有效期限、主体名称、主体公钥、发行者的唯一标识、主体的唯一标识、发行者的签名

证书的申请、发布、使用:

使用证书的通讯过程:

  • 发送方对要传输消息原文进行hash,生成消息摘要,用发送方的私钥生成数字签名;
  • 随机生成对称秘钥,对原文加密,生成密文;
  • 用接收方公钥加密对称秘钥;
  • 将加密后的对称秘钥、数字签名与密文一通发送;
  • 接收方收到后,用本身的私钥解密对称秘钥;
  • 用对称秘钥解密密文,获得原文;
  • 对原文hash获得摘要,用发送方的公钥解密签名获得摘要,对比两份摘要。

完整过程请参考文章:https://www.jianshu.com/p/c65fa3af1c01

相关文章
相关标签/搜索