一、对称加密:加解密的密钥相同,加解密速度快且使用长密钥时难以破解。

  • A、 DES(密钥太短):Data Encryption Standard,密码为64位,其中8、16、…64等8位为校验位,剩余56位参与加密算法。参数接口(key,data,mode),密钥,数据,工作模式,其中工作模式为加密模式和解密模式。特点为分组比较短、密钥比较短、密码生命周期短、运算速度较慢。

  • B、 3DES:TripleDES。它是DES向AES过度的加密算法,使用3个56位密钥对数块进行三次des加密,比DES相对更安全

  • C、 Blowfish

  • D、 IDEA

  • E、 RC4

  • F、 RC5

  • G、 RC6

  • H、 AES:AdvancedEncryption Standard美联邦采用的一种区块加密标准。区块长度为128bit,但密钥的长度可以是128bit、192bit、256bit,挺复杂的。具体的查资料吧。
    对称加密,密钥最长只有256个bit,执行速度快,易于硬件实现。
    AES加密数据块分组长度必须为128比特,密钥长度可以是128比特、192比特、256比特中的任意一个(如果数据块及密钥
    长度不足时,会补齐)。AES加密有很多轮的重复和变换。大致步骤如下:
    1、密钥扩展(KeyExpansion),
    2、初始轮(Initial Round),
    3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,
    4、最终轮(Final Round),最终轮没有MixColumns
    AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“状态(state)”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)。
    加密时,各轮AES加密循环(除最后一轮外)均包含4个步骤:
    AddRoundKey (加轮秘钥)— 矩阵中的每一个字节都与该次轮秘钥(round key)做XOR运算。
    SubBytes (字节代换)— 通过非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。
    ShiftRows (行移位)— 将矩阵中的每个横列进行循环式移位。
    MixColumns (列混淆)— 使用线性转换来混合每列的四个字节。
    [参考]http://blog.csdn.net/qq_28205153/article/details/55798628
    

    二、非对称加密:加解密的密钥不同,即公私钥加密,加解密速度慢于对称加密。

    非对称加密,公钥加密,私钥解密,反之亦然。由于需要大数的乘幂求模等算法,运行速度慢,不易于硬件实现。 通常私钥长度有512bit,1024bit,2048bit,4096bit,长度越长,越安全,但是生成密钥越慢,加解密也越耗时。

  • A、 RSA

  • B、 ECC(移动设备用)

  • C、 Diffie-Hellman

  • D、

  • E、 El Gamal

  • F、 DSA

  • 1、 Hash算法,一种单向算法,根据目标信息生成一段特定长度的唯一的Hash值,但不能反解析,一般用在不可还原的密码、信息完成型校验等。

  • A、 MD2(速度太慢)

  • B、 MD4

  • C、 MD5:消息摘要算法Message-Digest Algorithm 5,又称哈希算法、摘要算法等,将数据经过散列运算后变成一个固定长度的值,128位的哈希值,但结果又分16位和32位,其中32位中的16个数就三16位加密值。

  • D、 HAVAL

  • E、 SHA:SecureHash Algorithm 安全哈希算法,SHA-1算法生成160位的消息摘要,SHA-256生成256位哈希值

  • F、 CRC