首页 理论教育 对称加密的基本要素及密钥安全交换

对称加密的基本要素及密钥安全交换

时间:2023-06-22 理论教育 版权反馈
【摘要】:代换和置换是对称加密中的两个基本要素。图9-1 对称密码例9-1凯撒密码明文字母表:密文字母表:EFGHIJKLMNOPQRSTUVWXYZABCD明文:HELLO WORLD密文:LIPPS ASVPH单表代换密码可被轻易地攻破,因而不能提供任何安全。对加密而言,需要提供一个密钥。对称加密的基本要素是发送者和接收者有安全信道交换秘密密钥,另外也需要一个强加密算法。换言之,拥有给定密文及其对应明文和加密算法的敌手不能攻破密码。暴力破解检查所有可能密钥组合,最终确定明文消息。

对称加密的基本要素及密钥安全交换

对称(也称私钥/秘密/单一)密钥密码学使用发送方和接收方共享的单一密钥(见图9-1)。它是古老的技术,也是在1976年公钥密码学公开之前唯一可用的密码技术。代换(或称替代,Substitution)和置换(Transposition,Permutation)是对称加密中的两个基本要素。代换密码分成两类:单表代换(Monoalphabetic)和多表代换(Polyalphabetic)。

单表代换密码将明文字母表映射到密文字母表,明文字母表中每个字符映射到密文字母表中的唯一字符。凯撒密码是单表代换密码的一个很好的例子。凯撒密码中,明文中每一字符被字母表移动固定位置后的一个字符替代。比如,字母表向左移动4个字符得到密文字母表,明文中的“A”被“E”替换,如例9-1所示。

978-7-111-34574-9-Part02-7.jpg

图9-1 对称密码

例9-1

凯撒密码(左移四位)

明文字母表:

978-7-111-34574-9-Part02-8.jpg

密文字母表:EFGHIJKLMNOPQRSTUVWXYZABCD

明文:HELLO WORLD

密文:LIPPS ASVPH

单表代换密码可被轻易地攻破,因而不能提供任何安全。

多表代换密码对明文中每个连续的字母,根据密钥分别使用一个单表代换密码。维吉尼亚密码(Vigenere Cipher)是多表代换密码,其中n个密文字母表通过对明文字母表移位建立。基于为获得密文字母表所需明文字母表的移位数,每个密文字母表用明文字母表中的一个字母表示。例如,“A”密文表对应明文字母表不移位,“B”密文表对应明文表移动1位。对加密而言,需要提供一个密钥。明文中第一个字母被密钥第一个字母对应的密文表中的字母替换。例如,若密钥是“SECURE”,明文第一个字母被“S”密文表中的对应字母替换,明文第二个字母被“E”密文表中的对应字母替换,如例9-2所示。

例9-2

维吉尼亚密码

978-7-111-34574-9-Part02-9.jpg

置换密码(Transposition Ciphers或Permutation Ciphers)通过重新排列字母顺序隐藏消息。换言之,密文保持明文所有的字母不变。例9-3所示的柱形置换(Columnar Transposition)是一种置换密码。

例9-3

柱形置换密码

978-7-111-34574-9-Part02-10.jpg(www.xing528.com)

按列的方式读明文,生成密文:密钥字母给出读列的顺序。因为C在密钥“LUCKY”字母顺序优先级最高,所以从C对应的列开始读。

密文:RLRRINEARNBHTTAUEEEDTTFEG

这些基本技术的主要缺点是它们与自然语言特征(例如字频)的关联。密码需要掩盖原始明文消息的统计性质。扩散(Diffusion)和混淆(Confusion)是掩盖原始消息统计特性的两个基本手段。扩散是通过每个明文元素影响很多密文元素值,在大量的密文中消除明文的统计结构。相当于每一密文元素受很多明文元素影响。当明文中的1bit改变时,使得每个密文比特改变的概率是0.5,则密码有好的扩散性质。混淆使密文的统计特性与密钥的取值之间的关系尽可能复杂化,以便阻止尝试恢复密钥的攻击。一般地,代换手段提供混淆,置换则提供扩散。

乘积密码(Product Cipher)是两个以上基本密码以最终结果或乘积的密码强度比任一密码组件更高的方式顺序执行。第二次世界大战中的转轮机曾使用过一种乘积密码,用它实现非常复杂、多变的代换密码。强度更高的密码可连续使用几个密码得到:两个代换构造一个更复杂的代换,两个置换得到一个更复杂的置换,但一个代换跟着一个置换会得到新的更强的密码。

香农(Shannon)通过两个基本要素——代换和置换引入代换-置换网络(Sub-stitution-Permutation Networks)的思想,它们可提供消息的混淆和扩散。现代分组密码主要基于香农的可逆乘积密码的代换-置换网络概念。

对称加密的基本要素是发送者和接收者有安全信道交换秘密密钥,另外也需要一个强加密算法。即若敌手有密文、相应的明文和加密算法,它仍不能确定密钥或解密另一密文。换言之,拥有给定密文及其对应明文和加密算法的敌手不能攻破密码。

暴力破解(Brute Force)和密码分析是破译加密算法的基本方法。暴力破解检查所有可能密钥组合,最终确定明文消息。若密钥空间非常大,这种方法会变得不实际。密码分析是一种攻击算法特征以推出特定的明文或使用过的密钥的攻击形式。若继续使用已被攻破的算法,敌手将能对所有过去和未来的(加密)消息推出明文。唯密文攻击(Cipher Text-only-attack)仅依赖对密文自身的分析、对密文应用各种统计测试。对已知明文,敌手有可能根据已知明文变换方式的知识,推出密钥。知识来自对一个或多个捕获的明文消息的分析。选择明文攻击(Chosen-plain Text-attack)中,敌手能够选择消息进行加密。因此,敌手蓄意选择精选的模式,以便发现密钥的结构。

尽管密码设计者愿意让自己的算法分析起来尽可能困难,使算法易于分析也有很多益处。即若一个算法可以进行精确的、清晰的描述,则容易分析算法的密码弱点,因而容易设计改进算法确保使其密码强度等级更高。

许多广泛使用的加密算法是对称分组乘积密码,如数据加密标准(Data En-cryption Standard,DES)、三重DES(3DES)、高级加密标准(Advanced Encryption Standard,AES)和Rivest密码(Rivest Cipher,RC5)。这些对称分组密码大多有类似Feistel密码结构,其基本密码部件顺序执行多轮,使得最终结果或乘积比任一密码部件密码强度高。Feistel密码已证明有好的雪崩效应(Avalanche Effect),这意味着对明文或密钥一点小的改变,可导致密文产生非常大的变化。

Feistel密码中,输入被划分成2nbit的分组(块),每一分组用密钥K加密,如图9-2所示。2nbit分组中的右半部分分组,即最低nbit,用函数F作用,并且密钥K作为函数的参数,然后函数F的结果和输入块的最高nbit进行异或运算(XOR),实现代换。接着互换输入块的最低nbit和异或运算的结果,实现置换。这是Feistel密码的一轮运算,同样的运算会应用j轮,每一轮用到上一轮的输出,如图9-2所示。每一轮中,新的密钥Ki从上一轮的密钥Ki-1衍变得到。

自从1977年被美国采纳为联邦信息处理标准,DES曾是最广泛使用的加密算法。DES几乎和图9-2所示的原始Feistel密码结构完全相同。DES共有16轮处理,每一轮特定的子密钥从56bit长的原始密钥生成。解密密文时,应用相同的处理,只是子密钥以相反的顺序使用。DES曾被认为是有效的加密算法,在很多应用中都有软硬件实现。然而,密钥长度是它的主要缺点。解密高手通过暴力攻击技术已攻破DES。

3DES对暴力攻击有更大的适应性。执行DES三遍,使用三个密钥(每遍执行采用不同的密钥)。用第一个密钥K1加密明文,接着用第二个密钥K2解密上一步的结果(即第二遍执行时,以逆序方式应用K2派生的子密钥),最后用密钥K3加密第二遍执行的结果。第三遍执行的结果是传给接收者的密文。解密时,应用相反的顺序。首先,密文用K3解密;接着用K2加密上一阶段结果;最后用K1解密第二阶段执行的结果。这种方法成本低,能修补DES的缺点。它提供了168bit密钥长度,使用和DES一样的数据加密算法(DEA)。DEA比其他算法经受过更多的密码攻击。因此,对DEA的信任级别是高的。另外,大多数广泛使用的加密硬件和软件可用于3DES。

978-7-111-34574-9-Part02-11.jpg

图9-2 Feistel密码

然而,DEA和3DES也有其他弱点。首先是64bit的分组长度。更大的分组有益于效率和安全。其次,DEA设计于20世纪70年代,基于当时的一般硬件,有许多算法可能更适合软件实现。因此,自从2001年开始,一个称为AES的新标准被采纳。AES与Feistel密码结构有很大不同。在图9-3中描述了AES加密步骤。解密遵循相同的步骤,以逆序使用加密密钥。

对称密码学比非对称密码学实现起来更快。然而,一旦秘密密钥泄漏,通信就会受到威胁。对称密码学方法也意味着双方是对等的,因此它不能保护发送方:接收方可伪造消息并声称消息是发送方发送的。

978-7-111-34574-9-Part02-12.jpg

图9-3 AES加密

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈