§42密码的设计,解码与破译」心 密码的设计和使用至少可从追溯到四千多年前的埃及,巴 比伦、罗马和希腊,历史极为久远。古代隐藏信息的方法 主要有两大类: 其一为隐藏信息载体,采用隐写术等; 其二为变换信息载体,使之无法为一般人所理解。 在密码学中,信息代码被称为密码,加密 前的信息被称为明文,经加密后不为常人 所理解的用密码表示的信息被称为密文 ciphertext),将明文转变成密文的过程被 称为加密( enciphering),其逆过程则被称 为解密( deciphering),而用以加密、解密 的方法或算法则被称为密码体制 crytosystem)
§4.2 密码的设计,解码与破译 密码的设计和使用至少可从追溯到四千多年前的埃及 ,巴 比伦、罗马和希腊,历史极为久远 。古代隐藏信息的方法 主要有两大类: 其一为隐藏信息载体,采用隐写术 等; 其二为变换信息载体,使之无法为一般人所理解 。 在密码学中,信息代码被称为 密码,加密 前的信息被称为 明文,经加密后不为常人 所理解的用密码表示的信息被称为 密文 (ciphertext),将明文转变成密文的过程被 称为加密(enciphering),其逆过程则被称 为解密(deciphering),而用以加密、解密 的方法或算法则被称为 密码体制 (crytosystem)
记全体明文组成的集合为U,全体密文组成的集合为V,称U 为明文空间,V为密文空间。加密常利用某一被称为密钥的东 西来实现,它通常取自于一个被称为密钥空间的含有若干参 数的集合K。按数学的观点来看,加密与解密均可被看成是 种变换:取一k∈K,∨u∈U,令u V∈V,v为明 文u在密钥K下的密文,而解码则要用到K的逆变换K1,。由 此可见,密码体系虽然可以千姿百态,但其关键还在于密钥 的选取。 随着计算机与网络技术的迅猛发展,大量各具特色的密码体 系不断涌现。离散数学、数论、计算复杂性、混沌 许多相当高深的数学知识都被用上,逐步形成了(并仍在迅 速发展的)具有广泛应用面的现代密码学
记全体明文组成的集合 为U,全体密文组成的集合 为V,称U 为明文空间,V为密文空间。加密常利用某一被称为密钥的东 西来实现,它通常取自于一个被称为密钥空间的含有若干参 数的集合K。按数学的观点来看,加密与解密均可被看成是一 种变换:取一k∈K, u∈U,令 ,v为明 文u在密钥K下的密文,而解码则要用 到K的逆变换K-1,。由 此可见,密码体系虽然可以千姿百态,但其关键还在 于密钥 的选取。 u v V k ⎯→ 随着计算机与网络技术的迅猛发展,大量各具特色的密码体 系不断涌现。离散数学、数论、计算复杂性、混沌、……, 许多相当高深的数学知识都被用上,逐步形成了(并仍在迅 速发展的)具有广泛应用面的 现代密码学
早期蜜码 >替代密码 移位密码 >代数密码
早期密码 替代密码 移位密码 代数密码
1代替法密码 代替法密码采用另一个字母表中的字母来代替明文中的字母, 明文字母与密文字母保持一一对应关系,但采用的符号改变 了。加密时,把明文换成密文,即将明文中的字母用密文字 母表中对应位置上的字母取代。解密时,则把密文换成明文, 即把密文中的字母用明文字母表中对应位置上的字母代回, 解密过程是加密过程的逆过程。在代替法加密过程中,密文 字母表即代替法密钥,密钥可以是标准字母表,也可以是任 意建立的 明文字母表 ABCDEFGHIJKLMNOPQRSTUVXYZ 密文字母表 KLMNOPQRSTUVXYZABCDEFGHIJ 密钥常用一密钥单词或密钥短语生成混淆字母表。密钥单词 或密钥短语可以存放在识别码、通行字或密钥的秘密表格中
代替法密码采用另一个字母表中的字母来代替明文中的字母, 明文字母与密文字母保持一一对应关系,但采用的符号改变 了。加密时,把明文换成密文,即将明文中的字母用密文字 母表中对应位置上的字母取代。解密时,则把密文换成明文, 即把密文中的字母用明文字母表中对应位置上的字母代回, 解密过程是加密过程的逆过程。在代替法加密过程中,密文 字母表即代替法密钥,密钥可以是标准字母表,也可以是任 意建立的。 1.代替法密码 明文字母表 ABCDEFGHIJKLMNOPQRSTUVWXYZ 密文字母表 KLMNOPQRSTUVWXYZABCDEFGHIJ 密钥常用一密钥单词或密钥短语生成混淆字母表。密钥单词 或密钥短语可以存放在识别码、通行字或密钥的秘密表格中
混合一个字母表,常见的有两种方法,这两种方法都采用 了一个密钥单词或一个密钥短语。 方法1: 日选择一个密钥单词或密钥短语,例如: construct b)去掉其中重复的字母,得: constru c在修改后的密钥后面接上从标准字母表中去掉密钥中已有 的字母后剩下的字母,得: 明文字母表 ABC DEFGHIJKLMNOPQRSTUVWXYZ 密文字母表 CONSTRUABDEFGHIJKLMPQWXYZ 在设计密钥时,也可在明文字母表中选择一个特定字母,然 后从该特定字母开始写密钥单词将密钥单词隐藏于其中。例 如,对于上例,选取特定字母k,则可得: 明文字母表 ABCDEFGHIJKLMNOPQRSTUVWXYZ 密文字母表 KLMPQWXYZCONSTRUABDEFGHIJ
混合一个字母表,常见的有两种方法,这两种方法都采用 了一个密钥单词或一个密钥短语。 方法1: a)选择一个密钥单词或密钥短语,例如:construct b)去掉其中重复的字母,得:constru c)在修改后的密钥后面接上从标准字母表中去掉密钥中已有 的字母后剩下的字母,得: 明文字母表 ABCDEFGHIJKLMNOPQRSTUVWXYZ 密文字母表 CONSTRUABDEFGHIJKLMPQVWXYZ 在设计密钥时,也可在明文字母表中选择一个特定字母,然 后从该特定字母开始写密钥单词将密钥单词隐藏于其中。例 如,对于上例,选取特定字 母 k,则可得: 明文字母表 ABCDEFGHIJKLMNOPQRSTUVWXYZ 密文字母表 KLMPQVWXYZCONSTRUABDEFGHIJ