3 常用加密算法介绍 5
1 古典密码算法 古典密码大都比较简单,这些加密方法是根据字母的统计特性和语言学知识加密的,在可用计算机进行密码分析的今天,很容易被破译
虽然现在很少采用,但研究这些密码算法的原理,对于理解、构造和分析现代密码是十分有益的
表 5-1给出了英文字母在书报中出现的频率统计
表 5-1 英文字母在书报中出现的频率 字母 A B C D E F G H I J K L M 频率 13
88 字母 N O P Q R S T U V W X Y Z 频率 2
09 古典密码算法主要有代码加密、替换加密、变位加密、一次性密码簿加密等几种算法
1.代码加密 代码加密是一种比较简单的加密方法,它使用通信双方预先设定的一组有确切含义的如日常词汇、专有名词、特殊用语等的代码来发送消息,一般只能用于传送一组预先约定的消息
密文:飞机已烧熟
明文:房子已经过安全检查
代码加密的优点是简单好用,但多次使用后容易丧失安全性
2.替换加密 将明文字母表 M 中的每个字母替换成密文字母表 C中的字母
这一类密码包括移位密码、替换密码、仿射密码、乘数密码、多项式代替密码、密钥短语密码等
这种方法可以用来传送任何信息,但安全性不及代码加密
因为每一种语言都有其特定的统计规律,如英文字母中各字母出现的频度相对基本固定,根据这些规律可以很容易地对替换加密进行破解
以下是几种常用的替换加密算法
1)移位密码是最简单的一类代替密码,将字母表的字母右移 k个位置,并对字母表长度作模运算,其形式为:ek (m)=(k+m)=c mod