现代密码学
第4讲 现代分组加密算法 S-DES\DES\IDEA
郑东
第4讲 分组密码理论--DES
4.1 S-DES 4.2 DES 4.3 IDEA
4.1.1 简化的DES Simplified DES方案,简称S-DES方 案。它是一个供教学而非安全的加密算 法,它与DES的特性和结构类似,但参 数小。
注:1.* 加密算法涉及五个函数: (1)初始置换IP(initial permutation) (2)复合函数fk1,它是由密钥K确定的,具有 转换和替换的运算。 (3)转换函数SW (4)复合函数fk2 (5)初始置换IP的逆置换IP-1
加密 8bit明文 IP fk SW fk IP-1 8bit密文
10bit密钥 P10 移位 P8
K1 K1
解密 8bit明文
S-DES方案示意图
IP-1 fk SW fk IP 8bit密文
移位 P8
K2 K2
4.1.2 加密算法的数学表示:
?
IP-1*fk2*SW*fk1*IP 也可写为 密文=IP-1(fk2(SW(fk1(IP(明文))))) 其中 K1=P8(移位(P10(密钥K))) K2=P8(移位(移位(P10(密钥K)))) 解密算法的数学表示: 明文=IP-1(fk1(SW(fk2(IP(密文)))))
4.1.3算法描述
(1) S-DES的密钥生成:
设10bit的密钥为( k1,k2,…,k10 ) 置换P10是这样定义的 P10(k1,k2,…,k10)=(k3,k5,k2,k7,k4,k10,k1,k9,k8,k6) P8= (k1,k2,…,k10)=(k6,k3,k7,k4,k8,k5,k10,k9 ) LS-1为循环左移1位, LS-2为循环左移2位 按照上述条件,若K选为(1010000010), 产生的两 个子密钥分别为K1=(1 0 1 0 0 1 0 0),K2=(0 1 0 0 0 0 1 1)
4.1.4 S-DES的密钥生成
10bit密钥 P10 LS-1 5 K1 8 LS-2 5 P8 8 P8 LS-2 5 LS-1 5
S-DES的加密运算:
初始置换用IP函数: IP= 1 2 3 4 5 6 7 8 26314857 末端算法的置换为IP的逆置换: IP-1= 1 2 3 4 5 6 7 8 41357286 易见IP-1(IP(X))=X
4.1.5 S-DES加密图
8bit明文 IP E/P 4 S0 P4 + + 4 S1
fk F
4
L
R 4 8
K1
SW fk F
2 4 4 E/P 8 + 8 4 S1 P4 + 4 IP-1 8 2
4 S0
K2
? 函数fk,是加密方案中的最重要部分,它可表示为: ? fk(L,R)=(L⊕F(R,SK),R) 其中L,R为8位输入, 左右各为4位, F为从4位集到4位 集的一个映射, 并不要求是1-1的。SK为子密钥。 ? 对映射F来说: ? 首先输入是一个4-位数(n1,n2,n3,n4),第一步运算 是扩张/置换(E/P)运算: ? E/P ? 41 2 3 2 3 41 ? 事实上,它的直观表现形式为: ? n4 n1 n2 n3 ? n2 n3 n4 n1
?8-bit子密钥:
? K1=(k11,k12,k13,k14,k15,k16,k17,k18),然后与E/P的结果作异或 运算得: ? n4+k11 n1+k12 n2+k13 n3+k14 ? n2+k15 n3+k16 n4+k17 n1+k18 ? 把它们重记为8位: ? P0,0 P0,1 P0,2 P0,3 ? P1,0 P1,1 P1,2 P1,3 ? 上述第一行输入进S-盒S0,产生2-位的输出;第二行的4位
输入进S盒S1,产生2-位的输出。
两个S盒按如下定义:
0 S0 = 1 2 3 0 S1 = 1 2 3 0 1 2 3 ?1 0 3 2 ? ?3 2 1 0 ? ? ? ?0 2 1 3 ? ? ? ?3 1 3 2? 0 ?0 ?2 ? ?3 ? ?2 1 1 0 0 1 2 2 1 1 0 3 3? ? 3? 0? ? 3?
分组密码体制简介 分组密码体制也具有简捷、快速的特点,并且容易标准化,使其成为软硬件加密的主流算法。目前主流的分组密码有:DES、IDEA…… . 1.分组密码的特点 与序列密码不同,分组密码是将明文序列划分成等长的分组(Block),对每一组用同一加密算法和同一密钥进行加密。 分组密码有其自身的优点,首先分组密码容易被标准化,因为在今天的数据网络通信中,信息通常是被成块的处理和传输的。其次,使用分组赌东道密码容易实现同步,因为一个密码组的传输错误不会影响到其它的分组,丢失一个密文组不会对随后组的解密产生影响。这就是说,传输错误不会扩散。而这些方面恰恰是序列密码的最大缺点。 分组密码与序列密码相比的一个缺点就是算法庞大一些,需要更多的计算资源。分组密码的另一大缺点是其安全性很难被证明。尽管“可证明安全性”的研究发展很快,但目前的分组密码大多是“看来安全的”,还没有一个分组密码被证明是真正安全的,至多证明了局部安全性。这其中的原因是:因商业化而要求分组密码算法的细节全部暴露,因此对分组密码的攻击类型很多,安全性概念也就很多,有人为了统一这些安全性概念,甚至引入了伪随机性和超伪随机性,它们是用概率图灵机来描述的,在实际设计和分析中很难应用。 2.分组密码的设计准则 一、安全性准则 对以下的安全性的描述总是基于以下的假设:加密体制(包括算法的细节)是公开的;安全性完全依赖于密钥;信道是不安全的,即攻击者可以任意的截取密文;攻击者有时也可以截取一些“废弃”的明文。 (1)分组长度和密钥长度:当明文分组长度为n比特时,至多需要2n个明文-密文对就可以彻底破解密钥。同理当密钥长度为n比特时,对一个截获的密文,至多需要试验2n个密钥就可以破解了密文。因此从安全性角度来考虑,明文分组长度的密钥长度因尽可能的大。 (2)混淆性:所设计的密码应使得明文、密文、密钥之间的依赖关系相当复杂,以至于这种依赖关系对密码分析者来说是无法利用的。密码分析者利用这种依赖关系的方法非常多,比如差分密码分析、线性密码分析等,因此混淆性也是一个非常重要的原则。 (3)扩散性:所设计的密码应使得密钥的每一位数字影响密文的许多位数字,以防止对密钥的逐段破解;明文的每一位数字也影响密文的许多位数字,以便最充分的隐藏明文的统计特征。对扩散性可以有许多种理解,比如“粘连性”指的是明文、密文、密钥每一位都互相依赖;“不连续性”或“雪崩性”指的是当改变明文的任何一个比特时,对应密文改变的比特的个数应是一个随机变量,其平均值是分组长度的一半。 (4)非线性度(抗线性密码分析强度):这一项属于混淆性。有一个基本数学原理:如果明文和密文的关系是n维线性关系,且系数是密钥,则n个明文-密文对(而不是2n个)就可以破解密钥;如果明文与密文的关系是n维r次函数关系,且系数是密钥,则n r个明文-密文对就可以破解密钥;如果虽然次数r较大,但明文与密文的关系“非常逼近”一个n
.AAA密码体制分类及典型算法描述 换位与代替密码体制 序列与分组密码体制 对称与非对称密钥密码体制 BBB试对代替密码和换位密码进行安全性分析。 1.单表代替的优缺点 优点:明文字符的形态一般将面目全非 缺点: (A)明文的位置不变; (B)明文字符相同,则密文字符也相同; 从而导致: (I)若明文字符e被加密成密文字符a,则明文中e的出现次数就是密文中字符a的出现次数; (II)明文的跟随关系反映在密文之中. 因此,明文字符的统计规律就完全暴露在密文字符的统计规律之中.形态变但位置不变 2.多表代替的优缺点 优点:只要 (1)多表设计合理,即每行中元互不相同,每列中元互不相同.(这样的表称为拉丁方表) (2)密钥序列是随机序列,即具有等概性和独立性。 这个多表代替就是完全保密的。 等概性:各位置的字符取可能字符的概率相同; 独立性:在其它所有字符都知道时,也判断不出未知的字符取哪个的概率更大。 2.多表代替的优缺点 密钥序列是随机序列意味着: (1)密钥序列不能周期重复; (2)密钥序列必须与明文序列等长; (3)这些序列必须在通信前分配完毕; (4)大量通信时不实用; (5)分配密钥和存储密钥时安全隐患大。 缺点:周期较短时可以实现唯密文攻击。 换位密码的优缺点 优点:明文字符的位置发生变化; 缺点:(A)明文字符的形态不变; 从而导致: (I)密文字符e的出现频次也是明文字符e的出现次数; 有时直接可破!(如密文字母全相同) 换位密码优缺点总结:位置变但形态不变. 代替密码优缺点总结:形态变但位置不变. CCC…..ADFGX密码解密过程分析。 1918年,第一次世界大战已经接近尾声。为了挽回日趋不利的局面,德军集中了500万人的兵力,向协约国发动了猛烈的连续进攻。 采用一种新密码:ADFGX密码体制。 该密码用手工加解密费时不多,符合战地密码的基本要求。 进行了两次加密,有两个密钥:一个是代替密钥(棋盘密钥)一个是换位密钥
第3章 分组密码 习题及参考答案 1. 设DES 算法中,明文M 和密钥K 分别为: M =0011 1000 1100 0100 1011 1000 0100 0011 1101 0101 0010 0011 1001 1110 0101 1110 K =1010 1001 0011 0101 1010 1100 1001 1011 1001 1101 0011 1110 1101 0101 1100 0011 求L 1和R 2。 解: 初始变换IP : 1001 1010 1101 0101 1101 0010 0011 1000 0101 0110 0010 0101 1100 0101 1110 1000 则,0L =1001 1010 1101 0101 1101 0010 0011 1000 0R =0101 0110 0010 0101 1100 0101 1110 1000 K 去校验位得: 0C =1101 0111 1100 0000 0010 0111 0111 0D =1010 1000 0111 0110 0011 0101 0010 循环左移一位:1C =1010 1111 1000 0000 0100 1110 1111 1D =0101 0000 1110 1100 0110 1010 0101 经过置换选择得到:1K =0000 1111 0110 1000 1101 1000 1001 1010 1000 0111 0011 0001 同样可以得到:2K =0101 0101 0110 0001 1101 1101 1011 0101 0101 0000 0110 1110 1L =0R =0101 0110 0010 0101 1100 0101 1110 1000
填空题 1、密码学的主要任务是实现机密性、鉴别、数据完整性、抗抵赖性。 1、机密性是一种允许特定用户访问和阅读信息,而非授权用户对信息内容不可理解的安全属性。在密码学中,信息的机密性通过加密技术实现。 2、完整性数据完整性即用以确保数据在存储和传输过程中不被非授权修改的的安全属性。密码学可通过采用数据加密、报文鉴别或数字签名等技术来实现数据的完整性保护。 3、鉴别是一种与数据来源和身份鉴别有关的安全服务。鉴别服务包括对身份的鉴别和对数据源的鉴别。对于一次通信,必须确信通信的对端是预期的实体,这就涉及到身份的鉴别。 4、抗抵赖性 是一种用于阻止通信实体抵赖先前的通信行为及相关内容的安全特性。密码学通过对称加密或非对称加密,以及数字签名等技术,并借助可信机构或证书机构的辅助来提供这种服务。 5、密码编码学的主要任务是寻求有效密码算法和协议,以保证信息的机密性或认证性的方法。它主要研究密码算法的构造与设计,也就是密码体制的构造。它是密码理论的基础,也是保密系统设计的基础。 6、密码分析学的主要任务是研究加密信息的破译或认证信息的伪造。它主要是对密码信息的解析方法进行研究。 7、明文(Plaintext)是待伪装或加密的消息(Message)。在通信系统中它可能是比特流,如文本、位图、数字化的语音流或数字化的视频图像等。 8、密文(Ciphertext)是对明文施加某种伪装或变换后的输出,也可认为是不可直接理的字符或比特集,密文常用c表示。 9、加密(Encrypt )是把原始的信息(明文)转换为密文的信息变换过程。 10、解密(Decrypt)是把己加密的信息(密文)恢复成原始信息明文的过程。 11、密码算法(Cryptography Algorithm)也简称密码(Cipher),通常是指加、解密过程所使用的信息变换规则,是用于信息加密和解密的数学函数。对明文进行加密时所采用的规则称作加密算法,而对密文进行解密时所采用的规则称作解密算法。加密算法和解密算法的操作通常都是在一组密钥的控制下进行的。 11、密钥(Secret Key )密码算法中的一个可变参数,通常是一组满足一定条件的随机序列 12、替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表。 13、根据密码算法加解密时使用替换表多少的不同,替代密码又可分为单表替代密码和多
选择题 1、如果发送方用私钥加密消息,则可以实现() A、保密性 B、保密与鉴别 C、保密而非鉴别 D、鉴别 2、在混合加密方式下,真正用来加解密通信过程中所传输数据(明文)的密钥是() A、非对称算法的公钥 B、对称算法的密钥 C、非对称算法的私钥 D、CA中心的公钥 3、以下关于加密说法,不正确的是() A、加密包括对称加密和非对称加密两种 B、信息隐蔽是加密的一种方法 C、如果没有信息加密的密钥,只要知道加密程序的细节就可以对信息进行解密 D、密钥的位数越多,信息的安全性就越高 4、以下关于混合加密方式说法不正确的是:() A、采用公开密钥体制进行通信过程中的加解密处理 B、采用公开密钥体制对对称密钥体制的密钥进行加密后的通信 C、采用对称密钥体制对对称密钥体制的密钥进行加密后的通信 D、采用混合加密方式,利用了对称密钥体制的密钥容易管理和非对称密钥体制的加解密处理速度快的双重优点 5、两个不同的消息摘要具有相同的值时,称为() A、攻击 B、冲突 C、散列 D、都不是
6、()用于验证消息完整性。 A、消息摘要 B、加密算法 C、数字信封 D、都不是 7、HASH函数可应用于()。 A、数字签名 B、生成程序或文档的“数字指纹” C、安全存储口令 D、数据的抗抵赖性 8、数字证书采用公钥体制,每个用户设定一把公钥,由本人公开,用它进行: A、加密和验证签名 B、解密和签名 C、加密 D、解密 9、数字签名为保证其不可更改性,双方约定使用() A、HASH算法 B、RSA算法 C、CAP算法 D、ACR算法 10、1是网络通信中标志通信各方身份信息的一系列数据,提供一种在Internet上验证身份的方式 A、数字认证 B、数字证书 C、电子证书 D、电子认证 11、以下关于CA认证中心说法正确的是
一、选择 1.若一个单向函数存在一个附加信息,当不知道该附加信息时从函数值求原像是困难的,但是知道 该附加信息时从函数求原像是容易的,则该单向函数是 A.陷门单向函数 B.门陷单向函数 C.完全单向函数D容量单向函数 2.标志着公钥密码学诞生的事件是 A. C.Shannon发表的保密系统的通信理论 B.W.Diffle和M.Hellman发表“密码学的新方向”一文 C. C.RSA加密公钥的提出 D.维吉利亚密码体制的提出。 3.下列密码体制中,被认为无条件安全的是 A.一次一密乱码本(one-time pad) B.ElGamal C.RSA D.Cramer-Shop 4.下列密码体制中,不属该分组密码的是 A.IDEA B.AES C.ElGamal D.DES 5.目前通称的AES算法指的是 A.Terpent算法 B.RCG算法 C.Rijndael算法 D.Tuofish算法 二、填空 1.按照一个明文字母是否总是被一个固定的字母代换进行划分,代换密码可分为单表代换密码和 多表代换密码。 2.经典密码学的2个分支:密码编码学和密码分析学。 3.根据攻击者所拥有的信息不同,对数字签名方案的攻击主要有惟密钥攻击,已知消息攻击,选 择消息攻击,适应性选择消息攻击四种常见的类型。 4.分组密码主要有电子密码本模式(ECB) ,密码分组链接模式(CBC) ,密码反馈模式(CFB) , 输出反馈模式(OFB) 。 5.根据密码分析者破译时已具备的条件,把对密码系统的常见攻击分为惟密文攻击,已知明文攻 击,选择明文攻击,选择密文攻击。 三、问答 1.Feistel 密码结构主要部件是哪些?它在迭代运算中起到什么作用? ANS:Feistel密码是通过代替和置换(S-P网络)交替的方式来构造分组密码,其实就是基于混乱和扩散原理实现加解密运算。 S盒变换:它把输入的一个n长的比特串转化为另一个m长的比特串输出。 P盒变换:通过把一个比特串中各比特的位置次序重新排列而得到新的比特串的变换。 2.数字签名的四个特征? ANS:数字签名具有以下特征: (1) 收方能够确认或证实发方的签名,但不能伪造。 (2) 发方发出签名的消息给收方后,就不能再否认他所签发的消息。 (3) 收方对已收到的签名消息不能否认。 (4) 第三者可以确认收发双方之间的消息传送,但不能伪造这一过程。 3.分组密码主要优点是什么?其设计原则应考虑哪些问题? ANS:分组密码的优点是:明文信息良好的扩展性,对插入的敏感性,不需要密钥同步,较强的适用性,适合作为加密标准。在分组密码具体设计中,还需重点考虑的有:S盒的设计、P盒的设计、轮函数F的设计、迭代轮数以及密钥扩展算法等。
1、密码体制分类及典型算法描述 密码体制分为三类:1、换位与代替密码体质2、序列与分组密码体制3、对称与非对称密钥密码体制。 典型算法描述: 2、试对代替密码和换位密码进行安全性分析。 1.单表代替的优缺点 优点: 明文字符的形态一般将面目全非 缺点: (A) 明文的位置不变; (B) 明文字符相同,则密文字符也相同; 从而导致: (I) 若明文字符e被加密成密文字符a,则明文中e的出现次数就是密文中字符a的出现次数; (II) 明 文的跟随关系反映在密文之中. 因此,明文字符的统计规律就完全暴露在密文字符的统计规律之中.形态变但位置不变 2. 多表代替的优缺点优点: 只要(1) 多表设计合理,即每行中元互不相同,每列中元互不相同.(这样的表称为拉丁方表) (2) 密钥序列是随机序列即具有等概性和独立性。这个多表代替就是完全保密的。等概性:各位置的字符取可能字符的概率相同独立性在其它所有字符都知道时也判断不出未知的字符取哪个的概率更大。 2. 多表代替的优缺点密钥序列是随机序列意味着 1密钥序列不能周期重复 2密钥序列必须与明文序列等长 3这些序列必须在通信前分配完毕 4大量通信时不实用 5分配密钥和存储密钥时安全隐患大。 缺点周期较短时可以实现唯密文攻击。换位密码的优缺点 优点: 明文字符的位置发生变化; 缺点: (A) 明文字符的形态不变; 从而导致: (I) 密文字符e的出现频次也是明文字符e的出现次 数; 有时直接可破! (如密文字母全相同) 换位密码优缺点总结: 位置变但形态不变. 代替密码优缺点总结: 形态变但位置不变 3、ADFGX密码解密过程分析 1918年第一次世界大战已经接近尾声。为了挽回日趋不利的局面德军集中了500万人的兵力向协约国发动了猛烈的连续进攻。采用一种新密码ADFGX密码体制。该密码用手工加解密费时不多符合战地密码的基本要求。进行了两次加密有两个密钥一个是代替密钥棋盘密钥一个是换位密钥。其结果是把前面代替加密形成的代表同一明文字符的两个字母分散开破坏密文的统计规律性。代替密钥和换位密钥可以按约定随时更换增加破译难度。得到密文后取得换位密钥将密钥数字依次列出并画出M*(N+1)格子其中M为密文中的字符串数,N为最长字符串中字符个数并将字符串依次竖直写在对应的换位密钥数字下面此时按照以首开始横行依次写下来即得到正确顺序密文再根据代替密钥棋盘密钥找出对应的字母即可解密。 4、试计算(1~25)模26的逆元 2,4,6,8,10,12,13,14,16,18,20,22,24.均无逆元。1.1; 3.9; 5.21;7.15;9.3; 11.19;15.7;17.23;19.11;21.5;23.17;25.25 5、RC4流密码原理及应用 广泛应用于商业密码产品中一种可变密钥长度的序列密码 6、密码学涉及的数学理论主要有哪些 数论研究整数性质的一个数学分支。用于密码算法设计。
一填空题 1.密码学发展的四个阶段:、、 、。 2.DES的分组长度是比特,密钥长度是比特,密文长度是64比特。 3.数字签名方案是指由、、 、、组成的五元组。 4.信息安全的核心是;密码学研究的主要问题是 5.加密算法模式有四种,分别是:,, 5.DES的分组长度是比特,密钥长度是比特,密文长度是比特。 6.AES的密钥长度可以是、、;AES圈变换的由四个 不同的变换组成,它们分别是、、 、。 7.柯可霍夫原则指出密码系统的安全性不能取决于,而应取决于。 8.柯可霍夫原则指出密码系统的安全性不能取决于,而应取决 于。 9.根据加密内容的不同,密钥可以分 为、、 10.对称密码体制可以分为和两类。 11.哈希函数MD5和SHA-1的输出长度分别是和比特。 12.密码学由和组成。 13.分组密码的加解密算法中最关键部分是非线性运算部分,那么,DES加密算法的非 线性预算部分是指非线性代换,AES加密算法的非线性运算部分是指。 14. DES与AES有许多相同之处,也有一些不同之处,请指出两处不同: AES密钥长 度可变DES不可变, DES面向比特运算AES面向字节运算。
15. MD5的主循环有(4 )轮。 16. SHA1接收任何长度的输入消息,并产生长度为(160)bit的Hash值。 17.分组加密算法(如AES)与散列函数算法(如SHA)的实现过称最大不同是(可逆)。 18.Hash函数就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输 出称为。 19.Hash函数的单向性是指对任意给它的散列值h找到满足H(x)=h的x 在计算上 是不可行的。 20.公钥密码体制的思想是基于陷门单向函数,公钥用于该函数的正向(加密)计 算,私钥用于该函数的反向(解密)计算。 21.1976 年,和在密码学新方向一文中提出了公钥密码的思想,从而开创了线代密 码学的新领域。 22.公钥密码体制的出现,解决了对称密码体制很难解决的一些问题,主要体现一下三 个方面:密钥分发问题、密钥管理问题和数字签名问题。 23.RSA的数论基础是数论的欧拉定理,在现有的计算能力条件下,RSA 被 认为是安全的最小密钥长度是1024位。 24.公钥密码算法一般是建立在对一个特定的数学难题求解上,那么RSA算法是基于 大整数因子分解困难性、ElGamal算法是基于有限域乘法群上离散对数的困 难性。 25.为保证安全性,在设计分组密码时,密码变换必须足够复杂,尽量使用混淆与扩 散原则。这样使攻击者除了用穷举攻击以外,找不到其他简洁的数学破译方法二计算题
分组密码以及安全性研究 1引言 分组密码是对称密码学的一个重要分支,在信息安全领域发挥着极其重要的作用,其研究的主要内容包括分组密码的设计和分析这两个既相互对立又相互统一的方面。一方面,针对已有的密码分析手段,密码设计者总希望设计出可以抵抗所有已知攻击的密码算法;另一方面,对已有的密码算法,密码分析者总希望可以找到算法的某些安全缺陷。这两方面的研究共同推进了分组密码理论的发展。 2 分组密码 2.1概念 分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。分组密码的研究包括三方面:分组密码的设计原理,分组密码的安全性分析和分组密码的统计性能测试。 2.2内容 目前对分组密码安全性的讨论主要包括差分密码分析、线性密码分析和强力攻击等。从理论上讲,差分密码分析和线性密码分析是目前攻击分组密码的最有效的方法,而从实际上说,强力攻击是攻击分组密码最可靠的方法。到目前为止,已有大量文献讨论各种分组密码的安全性。与序列密码每次加密处理数据流的一位或一个字节不同,分组密码处理的单位是一组明文,即将明文消息编码后的数字序列m0,m1,m2,…,mi划分成长为L位的组 m=(m0,m1,m2,…,mL-1),各个长为L的分组分别在密钥k=(k0,k1,k2,…,kt-1)(密钥长为t)的控制下变换成与明文组等长的一组密文输出数字序列c=(c0,c1,c2,…,cL-1)。L通常为64或128。设明文m与密文c均为二进制0、1数字序列,它们的每一个分量 mi,ciεDF(2)(i=0,1,2,…,n-1),则明文空间为{0,1,…,2n-1},密文空间也为 0,1,…,2n-1},分组密码是由密钥k=(k0,k1,k2,…,kt-1)确定的一个一一映射,也就是空间{0,1,…,2n-1},到自身的一个置换F,由于置换F是由密钥k所确定,一般地,我们把这个置换表示为C=Fk(m)。 分组密码算法实际上就是密钥控制下,通过某个置换来实现对明文分组的加密变换。为了保证密码算法的安全强度,对密码算法的要求如下。 (1)分组长度足够大。当分组长度较小时,分组密码类似于古典的代替密码,它仍然保留了明文的统计信息,这种统计信息将给攻击者留下可乘之机,攻击者可以有效地穷举明文空间,得到密码变换本身。 (2)密钥量足够大。分组密码的密钥所确定密码变换只是所有置换中极小一部分。如果这一部分足够小,攻击者可以有效地穷举明文空间所确定所有的置换。这时,攻击者就可以对密文进行解密,以得到有意义的明文。 (3)密码变换足够复杂。使攻击者除了穷举法以外,找不到其他快捷的破译方法。 分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)