美文网首页
加解密概述

加解密概述

作者: 夜月行者 | 来源:发表于2017-11-27 18:01 被阅读0次

    一直对加解密这一块儿很晕,这一段时间抽时间好好整理一下,争取彻底清洗出来

    加密算法分类

    加密算法的分类主要是按照是否能够解密,和密钥是否相同来进行大类性质划分,不涉及具体的加解密算法

    1. 单向加密算法(hash算法)
    2. 对称加密算法
    3. 非对称加密算法

    每个类别的加密算法所包含的算法

    1. 单向加密算法(hash算法)

      • Base64:这个具体来说算不上是一个加密,只是一个编码,但是也是很有用的,经常在加解密中用到
      • md5:消息摘要算法,保证消息的完整性
      • sha:(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法
      • HMAC:(Hash Message Authentication Code)散列消息鉴别码,主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出,就像是在md5上加了一个扰动因子
    2. 对称加密算法:加解密使用同一个密钥

      1. DES:(Data Encryption Standard)中文为数据加密标准:是一种使用密钥加密的块算法
      2. 3DES:(Triple DES),中文名“三重数据加密算法,3 条 56 位的密钥对数据进行三次加密。3DES(即 Triple DES)是 DES 向 AES 过渡的加密算法
        3.CAST:是 通用的 64 位块加密, 允许最大 128 位的块大小.
      3. Blowfish:计的Blowfish算法用途广泛,意在摒弃DES的老化以及其他算法的强制捆绑
      4. Twofish:对称块加密; 使用一种简单密钥进行加密和解密,作为代替 DES 算法的候选之一
      5. IDEA:先于AES出来取代DES,java6没提供实现。Bouncy Castle提供了实现
      6. RC6:块加密算法,是高级加密标准 (AES)的5个候选之一
      7. Serpent:块加密算法,是高级加密标准 (AES)的5个候选之一.
      8. AES:(Advanced Encryption Standard),中文名“高级加密标准,为了来替代原先的 DES 标准
      9. PEB:(Password Base Encryption),中文名“基于口令加密”,是一种基于密码的加密算法,其特点是使用口令代替了密钥,而口令由用户自己掌管
      10. Camellia:具有与AES同等级的安全强度及运算量
    3. 非对称加密

      • RSA
      • ECC:椭圆曲线公钥系统是代替RSA的强有力的竞争者
      • Diffie-Hellman:DH秘钥交换算法,可以让双方在完全缺乏对方信息的前提条件下,通过不安全的信道达成一个共享密钥,这个方法被发明后不久出现了RSA,另一个进行公钥交换的算法。估计现在应该没有怎么用了吧。
      • El Gamal:ElGamal加密系统是一个基于迪菲-赫尔曼密钥交换( Diffie-Hellman)的非对称加密算法
      • DSA:(Digital Signature Algorithm)一般用于数字签名和认证。DSA只是一种算法,和RSA不同之处在于它不能用作加密和解密,也不能进行密钥交换,只用于签名,它比RSA要快很多.

    下面的章节再分别来介绍加解密的分类,上面说的很多算法在现在看来实际上都是过渡期算法,现在已经基本没有怎么用了,列在这里只是为了开阔一下眼界

    相关文章

      网友评论

          本文标题:加解密概述

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