算法分类 ·经典密码 代替密码:简单代替多名或同音代替多表代替多字母或多码代替 换位密码 对称加密算法 DES AES 非对称(公钥)算法 RSA、背包密码、 McEliece密码、 Rabin、椭圆曲线、 EIGamald H
算法分类 • 经典密码 代替密码 : 简单代替 多名或同音代替 简单代替 多名或同音代替 多名或同音代替 多表代替 多字母或多码代替 多字母或多码代替 换位密码 : •对称加密算法 DES AES •非对称 公钥 算法 RSA 背包密码 McEliece密码 Rabin 椭圆曲线 EIGamal D_H
简单代替密码或单字母密码 简单代替密码就是将明文字母表M中的每个字母用密文字母表C中的相应字母来代替。这一类密 码包括移位密码、替换密码、仿射密码、乘数密码、多项式代替密码、密钥短语密码等。 (1)移位密码是最简单的一类代替密码,将字母表的字母右移k个位置,并对字母表长度作模运算 ,形式为: (1)e(m=(k+m)=c mod q 解密变换为 (2)dK (c)(m-kF-m mod q 其中q为字母表M的长度,“m既代表字母表M中的位置,也代表其在M中的位置。“c既代表字母表 C中的位置,也代表其在C中的位置。凯撒( Caesar)密码是对英文26个字母进行移位代替的密码 ,其φ=26。这种密码称为凯撒密码,是因为凯撒使用过κ=3的这种密码。使用凯撒密码,将明文 M= Peking university加密为 C=Uipnsl zsnaiwxnyd (2)在替换密码中,可对明文字母表进行q个字符的所有可能置换得到密文字母表。移位密码是 替换密码算法一个特例。 (3)乘数密码也是一种替换密码,它将每个字母乘以一个密钥κ,即 ()ek(m)=km mod 其中,k和q为互素的,这样字母表中的字母会产生一个复杂的剩余集合,若k和q不互素,则会有 些明文字母被加密成相同的密文字母,而且不是所有的字母都会出现在密文字母表中 (4)替换密码的另一个特例就是仿射密码,加密的形式为: (4)em)=(km+k2)= c mod q其中,k和g是互素的 简单代替密码由于使用从明文到密文的单一映射,所以明文字母的单字母出现频率分布与密文中 相同,可以很容易地通过使用字母频率分析法进行只有密文的攻击
简单代替密码或单字母密码 简单代替密码就是将明文字母表 M中的每个字母用密文字母表 C中的相应字母来代替 这一类密 码包括移位密码 替换密码 仿射密码 乘数密码 多项式代替密码 密钥短语密码等 1 移位密码是最简单的一类代替密码 将字母表的字母右移 k个位置 并对字母表长度作模运算 形式为 1 e k(m)=(k+m) =c mod q 解密变换为 2 d k(c)=(m-k)=m mod q 其中 q为字母表 M的长度 “ m ”既代表字母表 M中的位置 也代表其在 M中的位置 “ c ”既代表字母表 C中的位置 也代表其在 C中的位置 凯撒 Caesar 密码是对英文26个字母进行移位代替的密码 其 q=26 这种密码称为凯撒密码 是因为凯撒使用过 k=3的这种密码 使用凯撒密码 将明文 M= Peking University加密为 C=Ujpnsl Zsnajwxnyd 2 在替换密码中 可对明文字母表进行 q个字符的所有可能置换得到密文字母表 移位密码是 替换密码算法一个特例 3 乘数密码也是一种替换密码 它将每个字母乘以一个密钥 k 即 3 e k(m)=km mod q 其中 k 和 q为互素的 这样字母表中的字母会产生一个复杂的剩余集合 若 k和 q不互素 则会有一 些明文字母被加密成相同的密文字母 而且不是所有的字母都会出现在密文字母表中 4 替换密码的另一个特例就是仿射密码 加密的形式为 4 e k(m)=(k1m+k 2) =c mod q 其中 k1和 q是互素的 简单代替密码由于使用从明文到密文的单一 映 射 所以明文字母的单字母出现频率 分 布与密文中 相同 可以很容易地通过使用字母频率 分 析法进行 只有密文的攻击
算法历史 (1)希腊密码(二维字母编码查表):公元前2世纪 bg 例: Peking University 35152524332245332451154243244454
算法历史 (1)希腊密码 二维字母编码查表 :公元前2世纪 v w x y z q r s t U l m n o p f g h ij k a b c d e 例 Peking University 35 15 25 24 33 22 45 33 24 51 15 42 43 24 44 54
算法历史 (2)凯撒密码:将宇母循环前移k位。 例k-5时对应关系如下: abcdefghijklmnopgrstuvwxyz fg hijkImnopgrstuvwxyzabcde 明文: Peking University 密文: Ujpnsl Zsnajwxnyd
算法历史 (2)凯撒密码 将字母循环前移k位 例 k-5时 对应关系如下 a b c d e f g h i j k l m n o p q r s t u v w x y z f g h i j k l m n o p q r s t u v w x y z a b c d e 明文 Peking University 密文 Ujpnsl Zsnajwxnyd
若将字母编号a-对应为1-26 恺撒变换:c=m+kmod26 更一般 仿射变换:c=km+k2mod26 k1=1为凯撒变换
若将字母编号a-z对应为1-26 则 恺撒变换 c=m+kmod26 更一般 仿射变换 c=k1m+k2 mod 26 k1=1为凯撒变换