美国制定数据加密标准简况 ■DES(Data Encryption Standard)算法于1977年得到美国政府 的正式许可,是一种用56位密来加密64位数据的方法。这是 IBM的研究成果。 ■DES是第一代公开的、完全说明细节的商业级现代算法,并被 世界公认
美国制定数据加密标准简况 DES(Data Encryption Standard)算法于1977年得到美国政府 的正式许可,是一种用56位密钥来加密64位数据的方法。这是 IBM的研究成果。 DES是第一代公开的、完全说明细节的商业级现代算法,并被 世界公认
DES算法概述 ·DES主要参数 ■明文分组度为64bits(8 bytes),密文分组度也是64bits。 ■密度为64bits,但有效密 度为56bits一在DES加密开 始之前要去掉第8、16、24、32、40、48、56、64位。去掉的这 8位比特用于奇偶校,确保密 中不包含 误。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 阴影部分表示要去掉的密钥位
DES算法概述 DES主要参数 明文分组长度为64 bits (8 bytes),密文分组长度也是64 bits。 密钥长度为64 bits,但有效密钥长度为56 bits——在DES加密开 始之前要去掉第8、16、24、32、40、48、56、64位。去掉的这 8位比特用于奇偶校验,确保密钥中不包含错误。 阴影部分表示要去掉的密钥位 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
DES算法概述 。DES的加密 64比特明文 56比特密钥 ■初始置换 初始置换 置换选择1 ■16轮的迭代运算 7 7 第1轮 K 置换选择2 左循不移位 ■逆初始置换P1 ■子密生成 第2轮 K2 置换选择2 左循环移位 第16轮 K16 置换选择2 左循环移位 左右交换 逆初始置换 … 64比特密文
DES算法概述 DES的加密 初始置换 16轮的迭代运算 逆初始置换IP-1 子密钥生成
DES算法概述 。初始置换 ■初始置换是将64bit明文的位置按照下表进行置换,得到一个 乱序的64bit明文组 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 50 58 64 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 59 51 43 35 27 19 11 3 25 40 64 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 将第58位换到了第1位的位置,将 第50位换到了第2位的位置等
DES算法概述 初始置换 初始置换是将64 bit明文的位置按照下表进行置换,得到一个 乱序的64 bit明文组。 将第58位换到了第1位的位置,将 第50位换到了第2位的位置等。 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
DES算法概述 。16轮迭代运算 ■16轮的迭代运算具有相同的结构,初始置换后的明文与中结 果被分成左右两半进行处理 。 ■每轮迭代的输入是上一轮的输出,每一轮的运算规则如下: Li=Ri-1 Ri=Li-1⊕f(Ri-1k) ■k是利用加密密生成的供第轮使用的子密。 ■第16轮不进行左右交换操作一使加密和解密可以使用同一个算 法
DES算法概述 16轮迭代运算 16轮的迭代运算具有相同的结构,初始置换后的明文与中间结 果都被分成左右两半进行处理。 每轮迭代的输入是上一轮的输出,每一轮的运算规则如下: 𝑳𝒊 = 𝑹𝒊−𝟏 𝑹𝒊 = 𝑳𝒊−𝟏 ⊕ 𝒇(𝑹𝒊−𝟏, 𝒌𝒊) ki是利用加密密钥生成的供第i轮使用的子密钥。 第16轮不进行左右交换操作—使加密和解密可以使用同一个算 法