chap3分组密码
分组密码的基本特征

分组密码的基本特征
分组密码是对明文进行分块处理,然后对每个分组进行加密操作。
以下是分组密码的基本特征:
1. 分组长度:分组密码将明文分成固定长度的分组进行处理。
分组长度可以是固定的,也可以是可变的,但在同一次加密过程中,分组长度保持一致。
2. 加密模式:分组密码使用特定的加密模式对每个分组进行加密。
常见的加密模式包括电子密码本模式(ECB)、密码块链模式(CBC)等。
3. 初始向量:在使用某些加密模式时,分组密码需要使用一个初始向量(IV)来增加加密过程的随机性和安全性。
初始向量通常与第一个分组一起使用,而后的分组则与前一个分组相关。
4. 密钥:分组密码使用一个密钥对每个分组进行加密。
密钥长度可以是固定的或可变的,但对于每个分组来说,密钥长度保持一致。
5. 填充方式:由于分组长度固定,对于最后一个分组可能不足分组长度的明文需要进行填充。
填充方式可以是填充字符、填充比特等。
6. 迭代次数:分组密码通常会对每个分组进行多次迭代加密,以增加安全性。
迭代次数通常由密码算法和加密强度决定。
7. 可逆性:分组密码的加密操作是可逆的,即可以通过相应的解密操作将加密后的分组转换回原始的明文分组。
总体而言,分组密码通过将明文分成固定长度的分组,并使用特定的加密模式、初始向量、密钥和迭代次数对每个分组进行加密,以保护明文的安全性。
chap03 分组密码

-13-
密码函数 F
1.函数 F 的操作步骤 1 密码函数 F 的输入是 32 比特数据和 48 比特的子 密码函数 密钥 , 其操作步骤如图 3-5 所示
-14-
-15-
(1) 扩展置换 (E) .将数据的右半部分 Rj 从 32 位扩展为 48 位.位选择函数 ( 也称 E 盒 )如表所示
1
2
2
2
2
2
2
1
2
2
2
2
2
2
1
表3-3每轮移动的位数
-12-
表 3-4 压缩置换 PC - 2
14 3 23 16 41 30 44 46 17 28 19 7 52 40 49 42 11 15 12 27 31 51 39 50 24 6 4 20 37 45 56 36 1 21 26 13 47 33 34 29 5 10 8 2 55 48 53 32
32 4 8 12 16 20 24 28 1 5 9 13 17 21 25 29 2 6 10 14 18 22 26 30 3 7 11 15 19 23 27 31 4 8 12 16 20 24 28 32 5 9 13 17 21 25 29 1
-16-
(2) 异或.扩展后的 48 位输出 E(Ri) 与压缩后的 (2) 异或. E(Ri 作异或运算. 48 位密钥 Ki 作异或运算. (3) S 盒替代.将异或得到的 48 位结果分成八个 6 盒替代. (3) 位的块 , 每一块通过对应的一个 S盒产生一个 4 位 的输出. 的输出.
1
-26-
置换码组 输入(64位)
逆初始变换IP-1
40 39 38 37 36 35 34 33
现代密码学_第四五讲 分组密码

循环左移
D1 (28位) (56位) 置换选择2 k1 (48位)
14 3 23 16 41 30 44 46
置换方法
17 28 19 7 52 40 49 42 11 15 12 27 31 51 39 50 24 6 4 20 37 45 56 36 1 21 26 13 47 33 34 29 5 10 8 2 55 48 53 32
20
迭代的轮数
分组密码一般采用简单的、安全性弱的密码函数进行多
轮迭代运算,使得安全性增强。一般来说,分组密码迭代轮 数越多,密码分析越困难,但也不是追求迭代轮数越多越好, 过多迭代轮数会使加解密算法的性能下降,而实际的安全性 增强不明显。 决定迭代轮数的准则:密码算法分析的难度大 于简单穷举搜索攻击的难度。分组密码迭代轮数一般采用8、 10、12、16、20的居多。
循环左移
C16 (28位)
循环左移
C16 (28位) (56位) 置换选择2 k16 (48位)
注:去掉9,18,22,25,35,38, 43,54位
注:密钥各位在子密钥出现次数基本相同(12次至15次),平均次数为13.7
30
压缩替代S-盒(48位压缩到32位)
48比特
6比特 6比特 6比特 6比特 6比特 6比特 6比特 6比特
考虑,通常密钥长度t不能太大。当然,密钥长度t不能太小,
否则,难以抵抗对密钥的穷举搜索攻击。
7
分组密码的要求
分组长度要足够大 密钥量要足够大
当分组长度较小时,攻击者通过 穷举明文空间,得到密码变换规 律,难于抵御选择明文攻击。
密码变换足够复杂
加密和解密运算简单 无数据扩展或压缩
21
分组密码的工作模式及其特点

分组密码的工作模式及其特点第一章分组密码1.1节分组密码的简述分组密码是将明文编码表示后的数字序列划分成长为m组,各组分别在密码的控制下加密成密文。
在相同的密钥下,通常得到的是与明文等长的密文分组,所以只需要研究任一祖的明文数字的变换规则。
这种密码实质上是字长为m的数字序列的代换密码。
1.2节分组密码简单模型1.3节分组密码的工作模型分类根据不同的应用环境,需要对分组密码的加密方式做一些修改,用来增强密码的安全性和适应性。
常见的工作模式包括:分组模式:电码本模式(EBC)密码分组连接模式(CBC)序列模式:输出反馈模式(OFB)密码反馈模式(CFB)计数器模式(CTR)1.4节分组密码的特点分组密码加解密速度较快。
明文,密文组长度为m,密文长度为t,密钥量为2 。
密文中的任意一位数字与该组明文所有数字均有关。
每组明文使用相同的密钥加密。
1.5节分组密码算法的问题和对策分组长度足够大问题:代换网络十分复杂,难以控制与实现。
对策:将分组划分为几个小段,分别设计这些小段的代换网络。
密钥量足够大问题:密码系统十分复杂,同样难以控制与实现。
对策:概率加权法:设计多个子系统,使用时随机抽取。
乘积密码法:设计多个子系统,对明文进行多次加密。
密码变换足够复杂问题:抗统计破译法的要求,难以简单实现。
对策:扩散法:将每一位明文和密钥数字的影响扩散到每一位密文数字。
混淆法:使明文与密文、密钥的统计特性复杂化。
第二章分组密码的工作模式2.1节分组密码的工作模式的简述分组模式的工作模式是指以某个分组密码算法为基础,来解决任意长度的明文的加密问题的方法。
从本质上来说,为了使算法更适应具体的应用的一种技术。
分组密码的工作模式:电码本模式(EBC);密码分组连接模式(CBC);输出反馈模式(OFB);密码反馈模式(CFB);计数器模式(CTR)这五种工作模式适用于不同的应用需求。
电码本模式(EBC)1.定义:ECB模式是将明文的各个分组独立地使用同一密钥加密,互不影响,最后统一拼接在一起,2.优点:(1)最简单,最直接的分组密码工作模式。
ch 03 分组密码与DES(中文) PPT课件

网络密码第3章分组密码与DESBlock Ciphers and theData Encryption Standard主讲:康绯11111第3章分组密码与DES▪分组密码设计原理▪数据加密标准▪DES的安全性分析▪分组密码的工作模式▪本章小结11111分组密码和流密码▪分组密码(块密码):将消息(明文或密文)分成“组”,对“组”进行加密和解密的操作。
▪流密码(序列密码):加解密时对消息的一个比特或一个字节进行操作。
11111现代分组密码▪使用最广泛的密码算法之一–速度快、易于标准化和便于软硬件实现–是信息与网络安全中实现数据加密的核心机制▪研究现状–始于20世纪70年代–是密码学研究的热点之一▪研究成果–分组密码的设计原理–分组密码的安全性分析–分组密码的统计性能测试111113.1 分组密码的设计原则▪针对安全性的设计原则–混乱:密文对密钥和明文的依赖关系相当复杂。
–扩散:密钥、明文的每一位数字影响密文的许多数字▪针对实现的设计原则–速度快:尽可能使用简单快速的指令如加法、移位。
–算法可逆:加密和解密的流程基本近似。
▪重要的设计原理:必须能抵抗现有的攻击方法11111Claude Shannon 和代换置换网络▪1949年 Claude Shannon 提出代换置换网络(SPN)▪代换置换网络基于两种基本操作:–代换(substitution)–置换(permutation)11111分组密码的整体结构▪Feistel 网络▪SP网络11111Feistel密码结构▪Horst Feistel 设计的feistel密码–基于可逆的乘积密码的概念▪明文输入分为两部分–多轮处理–代换:数据的左半部分–轮函数F:数据的右半部分和子密钥–置换:交换数据的左右两部分11111Feistel密码结构Feistel 结构图11111Feistel 密码设计参数▪分组长度–分组越长,安全性越高,加解密速度越慢▪密钥长度–密钥越长,安全性越高,加解密速度越慢▪迭代轮数–轮数越多,安全性越高,加解密速度越慢▪子密钥产生算法–算法越复杂,安全性越高,加解密速度越慢▪轮函数–算法越复杂,安全性越高,加解密速度越慢111113.2 数据加密标准 (DES)▪产生:美国国家标准局(NBS)1973年5月到1974年8月两次发布通告,公开征求用于电子计算机的加密算法。
第三章分组密码

美国制定数据加密标准简况
公司在年完成的密码 ( 分组,代换置换, 密钥)的基础上, 改进成为建议的体制 年月日公布了这个算法,并说明要以它作为联邦信息处理 标准,征求各方意见。 年月日建议被批准为联邦标准[ ],并设计推出芯片。 年美国 将其作为标准,称之为[ ]
年国际标准化组织()采用它作为标准,称作
密码结构
在设计网络时,还有以下两个方面需要考虑: ① 快速的软件实现:在很多情况中,算法是被镶嵌在应用 程序中,因而无法用硬件实现。此时算法的执行速度是考虑 的关键。 ② 算法容易分析:如果算法能被无疑义地解释清楚,就可 容易地分析算法抵抗攻击的能力,有助于设计高强度的算法。
解密结构
解密过程本质上和加密过程是一样的,算法使用密文作为输 入,但使用子密钥的次序与加密过程相反,即第轮使用,第 轮使用,……,最后一轮使用。这一特性保证了解密和加密可 采用同一算法。
()置换表和逆置换 表。输入的位数据按 表置换进行重新组合, 并把输出分为和两部 分,每部分各位,其 表置换如表所示。
Li-1(32bit)
Ri-1(32bit) 选择扩展运算 E 48 bit寄存器 按bit模2加密 48 bit寄存器
密 钥 产 生 器
选择压缩运算 S
32 bit寄存器
置换运算 P
美国制定数据加密标准简况
美国在年月公布了征求建议。年月日再次出公告征求 建议,对建议方案提出如下要求: ()算法必须提供高度的安全性 ()算法必须有详细的说明,并易于理解 ()算法的安全性取决于密钥,不依赖于算法 ()算法适用于所有用户 ()算法适用于不同应用场合 ()算法必须高效、经济 ()算法必须能被证实有效 ()算法必须是可出口的
安全课件第10讲分组密码的工作模式课件

利用CBC模式可实现报文的完整性认证
目的:检查文件在(直接或加密)传输和存储中是否遭到有意或无意的篡改. 关键技术: (1) 文件的制造者和检验者共享一个密钥 (2) 文件的明文必须具有检验者预先知道的冗余度 (3) 文件的制造者用共享密钥对具有约定冗余度的明文用CBC模式加密 (4) 文件的检验者用共享密钥对密文脱密,并检验约定冗余度是否正确.
Cn+1为认证码。
(1) 仅需对明文认证,而不需加密时,传送明文m和认证码Cn+1, 此时也可仅保留Cn+1的 t 个比特作为认证码;(2) 既需对明文认证,又需要加密时,传送密文C和认证码Cn+1
…
…
检验方法: (1)仅需对明文认证而不需加密时,此时验证者仅收到明文m和认证码Cn+1,他需要:
3.密码反馈(CFB-Cipher Feedback)模式
若待加密消息需按字符、字节或比特处理时,可采用CFB模式。并称待加密消息按 j 比特处理的CFB模式为 j 比特CFB模式。 适用范围: 适用于每次处理 j比特明文块的特定需求的加密情形,能灵活适应数据各格式的需要. 例如,数据库加密要求加密时不能改变明文的字节长度,这时就要以明文字节为单位进行加密.
主要内容
分组密码的工作模式短块处理方法
DES算法只解决了如何对一个64比特的明文分组进行加密保护的问题,对于比特数不等于64的明文如何加密,并不关心。这个问题,就由分组密码的工作模式解决。
分组密码的工作模式
分组密码的“工作模式”是指以某个分组密码算法为基础,解决对任意长度的明文的加密问题的方法。
CBC模式的特点:
由于在密文CBC模式中,各密文块不仅与当前明文块有关,而且还与以前的明文块及初始化向量有关,从而使明文的统计规律在密文中得到了较好的隐蔽。
ch3.1分组密码

大纲
分组密码原理 流密码与分组密码 Feistel 结构原理 数据加密标准(DES) 数据加密标准(DES) DES的加解密 DES的加解密 DES的强度 DES的强度 分组密码的工作模式
Feistel密码结构 Feistel密码结构
1969年,IBM成立了一个由Horst Feistel领 1969年,IBM成立了一个由Horst Feistel领 导的密码研究项目。 1971年,研究出LUCIFER算法。 1971年,研究出LUCIFER算法。 1973年,公布基于可逆乘积加密器概念的 1973年,公布基于可逆乘积加密器概念的 Feistel Cipher。 Cipher。 1973美国标准局征求标准,IBM提交结果。 1973美国标准局征求标准,IBM提交结果。 在1977年,被选为数据加密标准(DES)。 1977年,被选为数据加密标准(DES)。 Feistel结构被广泛采用,成为分组密码中最 Feistel结构被广泛采用,成为分组密码中最 重要的加密结构。(DES, 重要的加密结构。(DES, Lucifer, MARS, RC5, Triple DES, RC6) RC6)
流密码与分组密码
流密码每次加密数据流的一位或一个 字节。例如,维吉利亚密码和一次一 密。 分组密码是将一个明文组作为整体加 密,并且通常得到的是与之等长的密 文组。典型的分组大小是64比特或者 文组。典型的分组大小是64比特或者 128比特。 128比特。 使用某些操作模型,分组密码可以获 得与流密码相同的效果。
DES设计原理 DES设计原理
S-boxes的设计准则:增加扰乱性 boxes的设计准则:增加扰乱性
如果两个输入刚好在两个中间比特上不同,输 出必须在至少两个比特上不同
If two inputs to an S-box differ in exactly Sthe middle two bits, then the outputs must differ in at least two bits
第三章分组密码课件

如果对于猜测的密钥和已知的大量明密文对,方程成立的概率p≠1/2,则称该方 程是有效的线性逼近。如果|p-1/2|是最大的,则称该方程是最有效的线性逼近。 等于1/2时说明随机性很好,再多明密文对也不暴露任何信息
21/是使方程左边为0的明文数。 如果T>N/2,则令
此时计算X i X i Yj Yj 就相对直接多了 1 k 1 l
例3.2
我们任然用例3.1中的S盒, s : 0,1 0,1
4
4
在表3.1的行中记下了八个随机变量 X1 , X 4 , Y1 ,Y4
所有可能的取值。 现在考虑随机变量X1 X 4 Y2 通过计算表3.1中 X1 X 4 Y2 0 的行数,可以得到该随机变量取值为零的概率PrX 1 X 4 Y2 0 1 2 1 因此 PrX 1 X 4 Y2 1 可见,该随机变量的偏差为0 再分析随机变量 X 3 X 4 Y1 Y4可看到该随机变量的 偏差为-3/8.
s
p
操作混入该轮的轮密钥,再用 进行m次代换,然后用
1.3 SPN由Nr轮组成,在每一轮(除了最后一轮稍有不同外),我们先用异或
进行一次置换。
密码体制3.1
代换置换网络
lm
l l s : 0,1 0,1 和 设 l , m 和Nr都是正整数, p : 1, lm 1, lm
m n
m
均匀随机的从集合0,1 X ( x1 , x,m ) 中选取,这就 X i 取之于 是说每一个坐标 xi定义了一个随机变量 X i , 0,1
并且其偏差 i 0 。更进一步,这m个随机变量相互独
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D1(28 位)
(56 位) 置换选择 2
k1
(48 位)
循环左移
循环左移
Ci(28 位)
Di(28 位)
置换选择 2 (56 位)
ki
(48 位)
64位的密钥只使用56 位,每行的最高位被忽 略,或作为奇偶校验位。
DES加密的一个例子 取16进制明文X:0123456789ABCDEF 密钥K为:133457799BBCDFF1 去掉奇偶校验位以二进制形式表示的密钥是 00010010011010010101101111001001101101 111011011111111000 应用IP,我们得到: L0=11001100000000001100110011111111 L1=R0=11110000101010101111000010101010 然后进行16轮加密。 最后对L16, R16使用IP-1得到密文: 85E813540F0AB405
雪崩效应 Avalanche Effect
明文或密钥的一比特的变化,引起密文许多比特的改变 。如果变化太小,就可能找到一种方法减小有待搜索的 明文和密文空间的大小。
如果用同样密钥加密只差一比特的两个明文: 0000000000000000......00000000 1000000000000000......00000000 3次循环以后密文有21个比特不同,16次循环后有34个比特不 同 如果用只差一比特的两个密钥加密同样明文: 3次循环以后密文有14个比特不同,16次循环后有35个比特不 同
Βιβλιοθήκη 为清楚起见,我们用LEi和REi表示加密过程的中间 数据。而用LDi和RDi表示解密过程的中间数据。 图中表明,每轮的解密过程中间值与加密过程中间 值左右互换的结果是相同的。 我们来证明解密过程第一轮的输出等于加密过程第 十六轮的输入(要互换左右两部分)。 也就是要证 明LD1=RE15及RD1=LE15。 解密第一轮的输入是RE16‖LE16。
Shannon提出交替使用混淆和扩散进行乘积密码。 基于Shannon 理论,Feistel建议交替地使用代换和置 换。
Feistel密码结构
将输入分组分成左右两部分 。 以右半部数据和子密钥作为 参数,对左半部数据实施代 换操作。 将两部分进行互换,完成置 换操作。
每一轮的加密
Li-1 Ri-1 Ki Round i
对称密码(2) 第3章分组密码和数据加密标准
对称密码算法有时又叫传统密码算法,加密密钥能够从解 密密钥中推算出来,反过来也成立。在大多数对称算法中, 加密解密密钥是相同的。 它要求发送者和接收者在安全通信之前,商定一个密钥。 对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人 都能对消息进行加密解密。
00 01 10 11 11 10 00 01 00 01 10 11 11 10 01 01
如果我们限定在可逆映射上,不同变换的总数是2n!个 。 下图给出了n=4时的一个普通代换密码的结构。
对应的加密和解密表
这是分组密码的最一般形式,能用来定义明密文之间的 任意可逆变换。Feistel称这种密码为理想分组密码,因 为它允许生成最大数量的加密映射来映射明文分组。 然而在实现角度,这样的分组密码是不可行的。对于这 样的变换,映射本身就是密钥。 如上例,密钥长度为4×16=64比特。一般地,对于n位 的代换分组密码,密钥的规模是n×2n位。一个64位的 分组密码,若分组有抵抗统计攻击的理想长度,其密钥 大小将需要64×264=270≈1021。
Li(32比特)
Ri(32比特)
Li=Ri-1
DES一轮迭代的过程
扩展置换E-盒-32位扩展到48位
扩展
压缩替代S-盒-48位压缩到32位
共8个S盒
S-盒的构造
b1b2b3b4b5b6 行:b1b6 112 3 S6 -盒子 3行9列 110011 列:b2b3b4b5 10012 9 值:14=1100
Feistel解密算法:Feistel密码的解密过程本质上 与加密过程一致。 其规则如下:将密文作为算法的输入,但是逆序 使用子密钥Ki。也就是说。第一轮使用Kn,第二 轮使用Kn-1,直到最后一轮使用K1。 这是一个很好的特点,因为我们不需要实现两个 算法:一个用做加密而另一个用做解密。
Feistel 密码解密
强力搜索( brute force search ) 似乎很困难,20世 纪70年代估计要1000-2000年
技术进步使穷举搜索成为可能
1997年1月29日,RSA公司发起破译RC4、RC5、MD2、MD5, 以及DES的活动,破译DES奖励10000美金。结果仅搜索了 24.6%的密钥空间便得到结果,耗时96天。 1998年在一台专用机上(EFF)只要三天时间即可 1999年在超级计算机上只要22小时!
F
Li
Ri
LEi = REi-1 REi = LEi-1F(REi-1,Ki)
设计原则
分组长度 分组越长则安全性越高,但加/解密速度越低,分组长度 为64位是一个合理的折衷。 密钥长度 密钥越长越安全,但加/解密速度越低,64位长的密钥已 被证明是不安全的,128位是常用的长度 迭代次数 迭代越多越安全,通常为16次迭代 子密钥产生算法 越复杂则密码分析越困难 轮函数 越复杂则抗密码分析的能力越强
异或运算
3.1 分组密码概述 3.2 DES 3.3 DES的强度
3.1 分组密码概述
分组密码是将明文消息编码表示后的数字(简称明 文数字)序列,划分成长度为n的组(可看成长度 为n的矢量),每组分别在密钥的控制下变换成等 长的输出数字(简称密文数字)序列,
Feistel密码结构
是密码设计的一个主要原则,而不是一个特殊的 密码。
一般地,每轮的加密算法: LEi=REi-1 REi=LEi-1⊕F(REi-1,Ki) 等价于: REi-1=LEi LEi-1=REi⊕F(REi-1,Ki)=REi⊕F(LEi,Ki)
3.2数据加密标准(DES)
DES的历史 数据加密标准(Data Encryption Standard) 1969年,IBM成立由Horst Feistel领导的密码研究项目 。 1971年,研究出LUCIFER算法, 64位分组128位密钥。 推出商业产品,并改进版本,56位密钥。 1973美国标准局征求标准,IBM提交。 在1977年,被选为数据加密标准。授权在非密级的政府 通信中使用。 该标准经受每5年一次的重新审查和评估,至今继续在数 据加密中发挥着重要的作用。
异或的性质: [A B] C=A [B C] D D=0 E 0=E 故有[E D] D=E [D D]=E 0=E
所以解密过程的第一轮输出为LE15‖RE15。对于其他 各轮亦是如此。 最后,我们注意到解密过程最后一轮的输出是RE0‖LE0 ,左右32比特互换的结果正是原始明文,说明Feistel 密码的解密过程是正确的。 注意,我们在推导过程并没有要求F函数是可逆的,比 如取一种极端情况,假设它的输出为一个常数(例如全 为1),等式依然成立。
DES中的子密钥的生成
64 位密钥 密钥表的计算逻辑 循环左移: 1 1 9 2 1 10 3 2 11 4 2 12 5 2 13 6 2 14 7 2 15 8 2 16
置换选择 1
C0(28 位)
循环左移
D0(28 位)
循环左移
1 2 2 2 2 2 2 1
共16轮, 每轮移位 如红色
C1(28 位)
3.3 DES的强度:DES密钥长度 关于DES算法的另一个最有争议的问题就是担心实际56
比特的密钥长度不足以抵御穷举式攻击,因为密钥量只
有 2 56 1017 个
早在1977年,Diffie和Hellman已建议制造一个每秒能测
试100万个密钥的VLSI芯片。每秒测试100万个密钥的 机器大约需要一天就可以搜索整个密钥空间。他们估计 制造这样的机器大约需要2000万美元(昂贵);所以, 当时DES被认为是一种十分强壮的加密方法。
大连理工大学
对称算法可分为两类。 1,一次只对明文中的单个位(有时对字节)运算的算法称 为序列算法或序列密码,流密码。如, Vigenere密码也是流密 码。这种情况下,密钥流就是m值的重复,其中m表示关键字的 大小。 2,对明文的一组位进行运算,这些位组称为分组,相应的 算法称为分组算法或分组密码。现代计算机密码算法的典型分 组长度为64位――这个长度大到足以防止分析破译,但又小到足 以方便作用。
2、混淆(confusion) 其目的在于使作用于明文的密钥和密文之间的关系 复杂化,是明文和密文之间、密文和密钥之间的 统计相关特性极小化,从而使统计分析攻击不能 奏效。
乘积密码(Product Cipher)就是以某种方式连续 执行两个或多个简单密码(如替代、置换),以 使得所得到的最后结果或乘积比其任意一个组成 密码都更强的分组密码。
DES概述
分组加密算法:明文和密文为64位分组长度 对称算法:加密和解密除密钥编排不同外,使用同一算法 密钥长度:56位,但每个第8位为奇偶校验位,可忽略 密钥可为任意的56位数,但存在弱密钥,容易避开 采用混乱和扩散的组合,每个组合先替代后置换,共16轮 只使用了标准的算术和逻辑运算,易于实现
DES 算法的 一般描述
DES加密过程
输入64比特明文数据 初始置换IP 在密钥控制下 16轮迭代 交换左右32比特
初始逆置换IP-1
输出64比特密文数据