1)Caesar密码 。 第一次有史料记载的密码是由)Julius Caesar发明的Caesar?密码, 加密技术就是代换。Caesar密码的明文空间和密文空间都是26 个英文字母的集合,加密算法非常简单,就是对每个字母用 它之后的第3个字母来代换。 ·在Caesar密码中,密钥就是如下所示的替换表。 >明文:abcdefghijklmnopqrstuvwxyz >密文:DEFGHIJKLMNOPQRSTUVWXYZABC 。 如果为每一个字母分配一个数值(a分配0,b分配1,以此 类推,z分配25)。令P代表明文,C代表密文,则Caesar算 法能用如下的公式表示: C=E(3,P)=(P+3)mod26 ·一般的Caesar密码: C=E(k,P)=(P+k)mod 26 P=D(k,C)=(C-k)mod 26 信息安全导论02 17
1)Caesar密码 • 第一次有史料记载的密码是由Julius Caesar发明的Caesar密码, 加密技术就是代换。Caesar密码的明文空间和密文空间都是26 个英文字母的集合,加密算法非常简单,就是对每个字母用 它之后的第3个字母来代换。 • 在Caesar密码中,密钥就是如下所示的替换表。 明文:abcdefghijklmnopqrstuvwxyz 密文:DEFGHIJKLMNOPQRSTUVWXYZABC • 如果为每一个字母分配一个数值(a分配0,b分配1,以此 类推,z分配25)。令P代表明文,C代表密文,则Caesar算 法能用如下的公式表示: C=E(3,P)=(P+3) mod 26 • 一般的Caesar密码: C=E(k,P)=(P+k) mod 26 P=D(k,C)=(C-k) mod 26 信息安全导论02 17
2)单表代换密码 T 单表代换密码的定义:对明文的所有字母采用 。 同一个代换表进行加密,每个明文字母映射到 个固定的密文字母,称为单表代换密码。 密钥短语密码:选一个英文短语作为密钥字 (keyword)或密钥短语(keyphrase), 如 HAPPYNEWYEAR,去掉重复字母得HAPYNEWR 将它依次写在明文字母表之下,而后再将字母表 中未在短语中出现过的字母依次写于此短语之后 就可构造出一个字母代换表,即明文字母表到密 文字母表的映射规则,如表2-2所示。 表2-2明文字母表到密文字母表的映射规则 a b d e h m n o p q t W x y Z H A P Y N E W R B C D F( G I J K L MOQ ST U V X Z 信息安全导论02 18
2)单表代换密码 • 单表代换密码的定义:对明文的所有字母采用 同一个代换表进行加密,每个明文字母映射到一 个固定的密文字母,称为单表代换密码。 • 密钥短语密码:选一个英文短语作为密钥字 (keyword) 或 密 钥 短 语 (keyphrase) , 如 HAPPYNEWYEAR,去掉重复字母得HAPYNEWR。 将它依次写在明文字母表之下,而后再将字母表 中未在短语中出现过的字母依次写于此短语之后, 就可构造出一个字母代换表,即明文字母表到密 文字母表的映射规则,如表2-2所示。 信息安全导论02 18 表2-2 明文字母表到密文字母表的映射规则
。若明文为 Casear cipher is a shift substitution ·则密文为 PHONHM PBKRNM BO H ORBEQ OSAOQBQSQBJI 然而,因为明文都是英文字符,而英语语言具有 很强的统计规律,如字母的使用频率分布、双字 母组合频率分布等,对单表密码攻击也是比较容 易的。 比如,首先把密文中字母使用的相对频率统计出 来,然后与英文字母的使角频率分布进行比较。 如果已知消息足够长的话,只用这种方法就台经 定够 了。 信息安全导论02 19
• 若明文为 Casear cipher is a shift substitution • 则密文为 PHONHM PBKRNM BO H ORBEQ OSAOQBQSQBJI • 然而,因为明文都是英文字符,而英语语言具有 很强的统计规律,如字母的使用频率分布、双字 母组合频率分布等,对单表密码攻击也是比较容 易的。 • 比如,首先把密文中字母使用的相对频率统计出 来,然后与英文字母的使用频率分布进行比较。 如果已知消息足够长的话,只用这种方法就已经 足够了。 信息安全导论02 19
3)多表代换加密 为了进一步提高安全性,一种对策是对每个明文字母提 供多种代换,即对明文消息采用多个不同的单表代换。 这种方法一般称之为多表代换密码。 ●1 H训密码是一种著名的多表代换密码,运用了矩阵论中 线性变换的原理,由Lester S.Hill在1929年发明。 。每个字母指定为一个26进制数字:a=0,b=l,c=2,.., z=25。m个连续的明文字母被看做m维向量,与一个 m*m的加密矩阵相乘,再将得出的结果模26,得到m个 密文字母。即m个连续的明文字母作为一个单元,被转 换成等长的密文单元。注意加密矩阵(即密匙)必须是 可逆的,否则就不可能译码。 ·C=E(K,P)=KP mod26 ·P=DK,C)=K1Cmod26 信息安全导论02 20
3)多表代换加密 • 为了进一步提高安全性,一种对策是对每个明文字母提 供多种代换,即对明文消息采用多个不同的单表代换。 这种方法一般称之为多表代换密码。 • Hill密码是一种著名的多表代换密码,运用了矩阵论中 线性变换的原理,由Lester S. Hill在1929年发明。 • 每个字母指定为一个26进制数字:a=0,b=l,c=2,…, z=25。m个连续的明文字母被看做m维向量,与一个 m*m的加密矩阵相乘,再将得出的结果模26,得到m个 密文字母。即m个连续的明文字母作为一个单元,被转 换成等长的密文单元。注意加密矩阵(即密匙)必须是 可逆的,否则就不可能译码。 • C = E(K, P) = KP mod 26 • P = D(K, C) = K-1C mod 26 信息安全导论02 20
m=4的多表代换加密的一个例子 1 3 57 10 4 6 8 K- 2 3 6 9 11 12 85 对明文cost”,用向量表示为2141819]T(T代表矩阵转置) 则经过加密运算,得到密文 C=K[2141819]T=[310923]T=dgx 解密则需要用到矩阵K的逆,K1由等式KK=KK=I定义, 其中I是单位矩阵。 P=D(K,C)=K-IC mod 26 信息安全导论02 21
m=4的多表代换加密的一个例子 信息安全导论02 21 对明文“cost”,用向量表示为[2 14 18 19]T (T代表矩阵转置) 则经过加密运算,得到密文 C = K[2 14 18 19] T = [3 10 9 23] T = dkjx 解密则需要用到矩阵K的逆,K-1由等式KK-1=K-1K=I定义, 其中I是单位矩阵。 P = D(K,C) = K-1C mod 26