第2章 传统加密技术.ppt
文本预览下载声明
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 2.2.3 Playfair密码 采用多字母一起加密最著名的密码体制是Playfair密码,将明文中的双字母组合作为一个单元对待,并将这些单元转换为密文的双字母组合。例如使用的密钥词是monarchy,建立右边所示矩阵: M O N A R C H Y B D E F G I/J K L P Q S T U V W X Z 2.2.3 Playfair密码 其矩阵的构造如下:首先,从左到右、从上到下填入该密钥的字母,重复的字母只保留一个,其余去除;其次,按照字母表顺序将其余字母填入矩阵的剩余空间。字母I和J被算作一个字母,可以根据使用者的意愿在形成密文时确定用I或J。 2.2.3 Playfair密码 Playfair算法根据下列规则每次对明文的两个字母进行加密,这两个字母构成一对: (1)一对明文字母如果是重复的则在这对明文字母之间插入一个填充字符,如x。例如balloon先把它变成ba lx lo on 这样四个字母对。 (2)如果分割后的明文字母对在矩阵的同一行中都出现(不需要相邻),那么分别用矩阵中其右侧的字母代替,行的最后一个字母由行的第一个字母代替。例如,ar加密为RM,ek加密为FE。 2.3.2.3 Playfair密码 (3)如果分割后的明文字母对在矩阵的同一列中都出现,则分别用矩阵中其下方的字母代替,列的最后一个字母由列的第一个字母代替。 如mu加密为CM (4)否则,明文对中的每一个字母将由与其同行,且与另一个字母同列的字母代替。例如hs加密为BP,ea加密为IM(或JM) 2.2.3 Playfair密码 Playfair密码与单字母替代密码相比有明显的优势:其一,双字母有26*26=676种组合方式,识别各种双字母组合比单字母困难得多;其二,各种字母组的相对频率范围也更为广泛,使频率分析更加困难。因此,Playfair曾被认为是不可破译的,英国陆军在第一次世界大战中采用了它,二战中它仍被美国陆军和其他同盟国大量使用。 2.2.3 Playfair密码 课堂练习:密钥为monarchy,把明文balloon通过Playfair密码体系加密后得到的密文是什么? 2.2.5 多表代换加密(维吉尼亚密码) 改进简单的单表代换的另外一种方法是在明文消息中采用不同的单表代换。这种方法一般称之为多表代换密码,此类算法中最著名且最简单的是Vigenère密码。其相当于凯撒加密的进一步推广,明文的每个字母使用不同k的凯撒加密。 我们可以构造一个维吉尼亚密码表的矩阵,最左边为密钥字母,最上面为明文,加密过程很简单:给定密钥字母x和明文字母y,密文字母为位于x行和y列的字母。 维吉尼亚密码 例如取密钥为: deceptive 密钥: deceptivedeceptivedeceptive 明文: wearediscoveredsaveyourself 密文: ZICVTWQNGRZGVTWAVZHCQYGLMGJ (注:1917年的《科学美国人》杂志曾错误的判断维吉尼亚密码是不可破解的) 2.2.6 一次一密 陆军情报军官Joseph Mauborgne建议使用与消息一样长且无重复的随机密钥来加密消息,另外,密钥只对一个消息进行加解密,之后丢弃不用。每一条新消息都需要一个与其等长的新密钥。 这就是著名的一次一密,在理论上它是不可攻破的。它产生的随机输出与明文没有任何统计关系。因为密文不包含明文的任何信息,所以无法可破。 假设我们将明文good和密钥zsej做模26的加法得到密文: good 明文 zsej 密钥 fgsm 密文 也许会想到,穷举所有可能的密钥,如果试解的密钥是useb则得到look,如果试解的密钥是quzh则得到part,事实上所有四个字符的组合都可能出现,当然good也在其中,可是你没有办法确定哪一组解是正解,这样的破解和随意乱猜四个字母可能的单词组合没什么分别。 2.2.6 一次一密 因为给出任何长度与密文一样的明文,都存在着一个密钥产生这个明文。因此,如果你用穷举法搜索所有可能的密钥,就会得到大量可读、清楚的明文,但是没有办法确定哪一个才是真正所需的,因而这种密码是不可破的。 在实际中,一次一密提供完全的安全性存在两个基本难点: 1. 产生大规模随机密钥有实际困难。任何经常使用的系统都需要建立在某个规则基础上的数百万个随机字符,提供这样规模的真正随机字符是相当艰巨的任务。 2. 更令人担忧的是密钥的分配和保护。对每一条发送的消息,需要提供给发送方和接收方等长度的密钥。因此,存在庞大的密钥分配问题。
显示全部