2.2.1对称密码技术概述 对称密码技术就是加密密钥和解密密钥相同的这类 密码体制,它采用的解密算法是加密算法的逆运算。 对称密码技术典型代表有:古典密码技术、序列密 码技术、DES(数据加密标准)、瑞士的IDEA(国际 数据加密算法)以及AES(高级加密标准)等 2.2.2古典密码技术 古典密码技术根据其基本原理大体上可以分为两类: 替换密码技术和换位密码技术。 替换密码技术
对称密码技术就是加密密钥和解密密钥相同的这类 密码体制,它采用的解密算法是加密算法的逆运算。 对称密码技术典型代表有:古典密码技术、序列密 码技术、DES(数据加密标准)、瑞士的IDEA(国际 数据加密算法)以及AES(高级加密标准)等。 古典密码技术根据其基本原理大体上可以分为两类: 替换密码技术和换位密码技术。 1.替换密码技术
替换密码技术是基于符号替换的密码技术,这 种密码技术是以符号的置换来达到掩盖明文信息。 这类密码技术有:单字符单表替换密码技术、单字 符多表替换密码技术等 (1)单字符单表替换密码技术:单字符单表替换密码 技术是对明文中的所有字符都使用一个固定的映射。设 A={a0,a1,…,an1}为明文字母表,B={bo,b b 为密文字母表,单字符单表替换密码技术使用了A到B的映 射关系:f:A→B,f(a)=b;(一般情况下,为保证加密的可 逆性,f是一一映射)将明文中的每一个字母替换为密文字 母表中的一个字母。单字符单表替换密码技术的密钥就是映 射f密文字母表(一般情况下明文字母表与密文字母表是 相同的,这时的密钥就是映射f)。 典型的单字符单表替换密码技术有: ①乘法密码技术
替换密码技术是基于符号替换的密码技术,这 种密码技术是以符号的置换来达到掩盖明文信息。 这类密码技术有:单字符单表替换密码技术、单字 符多表替换密码技术等。 (1)单字符单表替换密码技术:单字符单表替换密码 技术是对明文中的所有字符都使用一个固定的映射。设 A={a0,a1 ,…,an-1}为明文字母表,B={b0,b1 ,…,bn-1} 为密文字母表,单字符单表替换密码技术使用了A到B的映 射关系:f:A→B,f(ai)= bj(一般情况下,为保证加密的可 逆性,f是一一映射)将明文中的每一个字母替换为密文字 母表中的一个字母。单字符单表替换密码技术的密钥就是映 射f或密文字母表(一般情况下明文字母表与密文字母表是 相同的,这时的密钥就是映射f)。 ① 乘法密码技术
乘法密码技术的加密变换: j=ik (mod n), gcd (k, n)=1 乘法密码技术的解密变换:D(a1)=a1,i-jk1(modn) 乘法密码技术的密钥是k。若n是素数,则有n-2个密钥(k=1 时加密变换是恒等变换,应该予以抛弃);若n不是素数,则 有q(n)-1个密钥(其中q(n)为欧拉函数的值) ②移位替换密码技术:是最简单的一种替换密码。 加密变换为 Ek (ai)=a;, j=(i k)(mod n),0 k<n 解密变换为: D, (ai)=a, i=(j-k)(mod n)=(j+(n-k) )(mod n 由于i=(j-k)(modn)=(i+k-k)(modn)=i modn),所以解密与加密是可逆的。从解密变换中可以看 出:D=E
•乘法密码技术的加密变换: Ek(ai)=aj,j=ik(mod n),gcd(k,n)=1 • 乘法密码技术的解密变换:Dk(aj)=ai,i=jk-1(mod n) 乘法密码技术的密钥是k。若n是素数,则有n-2个密钥(k=1 时加密变换是恒等变换,应该予以抛弃);若n不是素数,则 有φ(n)-1个密钥(其中φ(n)为欧拉函数的值)。 ② 移位替换密码技术:是最简单的一种替换密码。 •加密变换为: Ek(ai)=aj,j=(i + k)(mod n),0 < k < n •解密变换为: Dk(aj)=ai,i=(j - k)(mod n)=(j +(n- k) )(mod n) 由于i=(j - k)(mod n)=(i + k - k)(mod n)=i ( mod n),所以解密与加密是可逆的。从解密变换中可以看 出:Dk = En-k
移位替换密码技术的密钥是k,k唯一地确定了明 文空间到密文空间的映射,故移位替换密码技术的密 钥空间的元素个数为n-1。 ③密钥字密码技术:它利用一个密钥字来构造替换 作为密钥。 ④仿射密码技术:是加法密码技术和乘法密码技术 的结合体。 加密变换为:Do,k(a1)=a;,j=(ik1+k0)(modn ) ko,K,EZn, gcd (k,, n)=1 k1,k为该算法的密钥。当k。=0时,仿射密码技术退化为 乘法密码技术,当k=1时,仿射密码退化为移位替换密码 技术
移位替换密码技术的密钥是k,k唯一地确定了明 文空间到密文空间的映射,故移位替换密码技术的密 钥空间的元素个数为n-1。 ③ 密钥字密码技术:它利用一个密钥字来构造替换 作为密钥。 ④ 仿射密码技术:是加法密码技术和乘法密码技术 的结合体。 加密变换为:Dk0,k1(ai)=aj,j=(ik1+ k0)(mod n ),k0 ,k1∈Zn,gcd(k1,n)=1 k1,k0为该算法的密钥。当k0 =0时,仿射密码技术退化为 乘法密码技术,当k0 =1时,仿射密码退化为移位替换密码 技术
(2)单字符多表替换密码技术:单字符多表替换密码A 在安全性方面比单字符单表替换密码技术高。 单字符多表替换密码技术有很多,典型的有: ① Vigenere(费杰尔或维吉尼亚)密码技术 Vigenere密码技术本质上是一种多表简单加法密码技术 Vigenere密码技术循环地使用每一个替换表完成明文字母到密 文字母的转换。具体的加密过程: 设密钥K=k1k2…k,明文与密文字母表中均包含了n个字 母。又设明文m=m1m2,密文为c=c1C2,则c1=m;+k;(mod n),其中t为正整数。 当密钥的长度比明文短时,密钥可以周期性地重复使用, 直至完成明文中的每个字母的加密 ② Verna(弗纳姆)密码技术 其加密方法是,将明文和密钥分别表示成二进制序列,再 把它们按位进行模二加法。设明文m=m1m2…,密钥k=k1k2… 其中皿1,k;∈GF(2),i>1,则密文c=c1c2…,其中c1=m1回 k;。这則为模二加法
(2)单字符多表替换密码技术:单字符多表替换密码技术 在安全性方面比单字符单表替换密码技术高。 单字符多表替换密码技术有很多,典型的有: ① Vigenere(费杰尔或维吉尼亚)密码技术 Vigenere密码技术本质上是一种多表简单加法密码技术 Vigenere密码技术循环地使用每一个替换表完成明文字母到密 文字母的转换。具体的加密过程: 设密钥K= k1 k2 … kd,明文与密文字母表中均包含了n个字 母。又设明文m= m1m2…,密文为c= c1c2…,则ci =mi+ki(mod n),其中t为正整数。 当密钥的长度比明文短时,密钥可以周期性地重复使用, 直至完成明文中的每个字母的加密。 ② Vernam(弗纳姆)密码技术 其加密方法是,将明文和密钥分别表示成二进制序列,再 把它们按位进行模二加法。设明文m= m1m2…,密钥k= k1k2… ,其中mi,ki∈GF(2),i≥1,则密文c= c1c2…,其中ci = mi ki 。这里 为模二加法。