当前位置: 首页> 安全资讯 >

古典密码技术简析

恒波软件转载。

 

密码技术的核心是加密算法。密码算法可以看作是一个复杂的函数变换C-F(M,Key)。其中C代表密文,即加密后得到的字符序列;M代表明文即待加密的字符序列;Key表示密钥,是秘密选定的一个字符序列,只有拥有解密密钥的收信人可以对密文进行解密即反变换得到明文,密钥的传递必须通过安全渠道。
从发展进程上看,密码的发展大体经历了古典密码、传统密码算法和现代密码算法。古典密码是基于字符替换或对位进行变换的密码算法,现在已很少使用;传统密码算法又称对称密码算法( SvmmetricCryptographic Algorithms),其特点是加密和解密必须是同一密钥,如DES和IDEA等;现代密码算法称非对称密码算法或公钥密码算法(Public - Key Cryptographic Algorithms),是将加密密钥与解密密钥区分开来,且由加密密钥求不出解密密钥。这样一个实体只需公开其加密密钥(称公钥,解密密钥称私钥)即可,实体之问就可以进行秘密通信,而不象传统密码算法似的在通信之前先得秘密再传递密钥。下面将通过几个典型例子对这三代算法进行简析。


古典密码技术常用的有代替密码技术、换位密码技术、简单代替密码或单字母密码。简单代替密码就是将明文字母表M中的每个字母用密文字母表C中的相应字母来代替,这一类密码包括移位密码、替换密码、仿射密码、乘数密码多项式代替密码、密钥短语密码等。


1. 移位密码是简单的一类代替密码,将字母表的字母右移k个位置并对字母表长度作模运算,加密形式为ek(m)=(k+m)=c mod q;解密变换为dk(c)=(m-k)=m mod q。其中q为字母表M的长度,“m”既代表字母表M中的位置也代表其在M中的位置;“c”既代表字母表C中的位置也代表其在C中的位置。


2. 在替换密码中可对明文字母表进行q个字符的所有可能置换得到密文字母表移位密码是替换密码算法一个特例。


3. 乘数密码也是一种替换密码。它将每个字母乘以一个密钥k,即ek(m)=km mod q。其中k和q为互素的,这样字母表中的字母会产生一个复杂的剩余集合;若k和q不互素则会有一些明文字母被加密成相同的密文字母,而且不是所有的字母都会出现在密文字母表中。


4. 替换密码的另一个特例就是仿射密码加密,形式为ek(m)=(k1m+k2)=c mod q。其中k1和q是互素的。

在后面的文章会介绍另外两种密码技术:对称密钥密码技术和非对称密钥密码技术。虽然古典密码技术现在已经几乎不再使用,但了解它对我们还是有启发作用的,恒波软件潜心研究各类算法的优劣,研发出安全系数极高的文件夹加密软件移动硬盘加密软件共享文件夹加密软件等各种情景下需要用到的加密软件,为企业和个人的数据安全,作出自己的贡献。