3DES加密模式

来源:互联网 发布:js 两个时间相减 编辑:程序博客网 时间:2024/05/22 15:50
原文地址:3DES加密模式作者:风之羽

   3DES(TripleDES)是DES向AES过渡的加密算法,它使用3条64位的密钥对数据进行三次加密。是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法。比起最初的DES,3DES更为安全。

    相信3DES的算法都不太陌生,在此不用多多介绍!下面介绍几种其它模式的3DES。 

  • ECB(Electronic Codebook)模式

    ECB其实非常简单,就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后一段不足8个字节,按照需求补足8个字节(通常补00或者FF,根据实际要求不同)进行计算,之后按照顺序将计算所得的数据连在一起即可,各段数据之间互不影响。

  • OFB(Output Feedback)模式

    [转载]3DES加密模式

  • CFB(Cipher Feedback)模式

   稍后添加...

  • CBC(Cipher Block Chaining)模式

加密步骤如下:

1)首先将数据按照8个字节一组进行分组得到D1D2......Dn(若数据不是8的整数倍,用指定的PADDING数据补足8的整数倍)

2)第一组数据D1与初始化向量I异或后的结果进行加密得到第一组密文C1

3)第二组数据D2与第一组的加密结果C1异或以后的结果进行加密,得到第二组密文C2

4)之后的数据以此类推,得到Cn

5)按顺序连为C1C2C3......Cn即为加密结果。

解密是加密的逆过程,步骤如下:

1)首先将数据按照8个字节一组进行分组得到C1C2C3......Cn(因为加密的时候是补足了8的整数倍的,所以密文应该为8的整数倍而不用填充,如果需要填充,那数据就肯定不对)

2)将第一组数据进行解密后与初始化向量I进行异或得到第一组明文D1

3)将第二组数据C2进行解密后与第一组密文数据进行异或得到第二组数据D2

4)之后依此类推,得到Dn

5)按顺序连为D1D2D3......Dn即为解密结果。

 

0 0
原创粉丝点击