信息加密技术(1)古典 第2章-14级韩师物联网

1、Shannon:一个好的密码系统应具备抵抗统计分析的两个特性:扩散和混淆
(1)扩散性(diffusion):在同一密钥下,相似的明文,密文差别较大;相似的密文,明文差别较大炒螺明。
(2)混淆性(confusion):在同一明文下姚可可,相似的密钥,密文差别较大;相似的密文,密钥差别较大。
扩散性和混淆性都隐藏了明文和密文之间的关系
2、对称密码(传统密码)与非对称密码(公钥密码)的比较:
设加密密钥为x,解密密钥为y
则在对称密码中:x=y
非对称密码中:x张静懿 !=y
3、古典密码学:置换密码、代换密码
(1)置换密码(transposition cipher):
将原来的比特、字符、字符串重新排列以隐藏其意义。
(1.1)假定m=6,密钥是以下置换:
12 3 45 6
-------- ——————————
35 1 64 2
则逆置换为:
12 3 45 6
—————————
36 1 52 4
(2)代换(代替)密码(substitutioncipher):
用不同的比特、字符、字符串来代替原来的比特、字符、字符串。
包括:单表代换密码、多表代换密码
(2.1)Caesar密码(恺撒密码):属于单表代换密码
已知的最早的代换密码黄怀晨 ,对字母表中的每个字母,用它之后的第3个字母来代换
明文: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
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
明文:meet meafter the togaparty
密文:PHHW PH DIWHU WKH WRJD SDUWB

重要特征:
如果已知加密和解密算法缭绕擎苍,需测试的密钥只有25个(穷举攻击)
明文所用的语言是已知的,且其意义易于识别
(2.2)单表代换密码(替换密码、仿射密码)

例:假定k=(7icreate ,3),即a=7,b=3。
7-1 mod26=15(求解方法如2.2.1所示),加密函数为ek (x)=7x+3,则相应的解密函数为dk(y)=15(y-3)=15y-19,其中所有的运算都是在Z26中。
容易验证,dk(ek(x))=dk(7x+3)=15(7x+3)-19=
x+45-19=x(mod26)冯颖琪。
假设待加密的明文为hot。
首先转化这三个字母分别为数字7,14和19。可得密文串为AXG武藤十梦。
(2.2.1)乘法逆元的求解:
上面公式中神兵天子,为a的乘法逆元赵胜熙 ,以这个例子来求解:
(1) 设为m,则满足公式
m*a=1 (mod26) (公式1)
(2) 公式1可转变成m*a + n*26=1(公式2)(其中n为常数,m的取值可以多个)
(3) 根据公式2求出m的最小正数(这个数必定小于26),此时m即为的值
由乘法逆元的解法可知,上面
“7-1 mod26=15”中15的由来:
设7-1为m,则m*7+n*26=1,求得m的最小正整数为15,所以7-1 mod26=15
(2.3)Vigenere密码 (一种多表代换密码)
对同一条信息中的不同字母用不同的密码进行加密,可使频度分析法失效燃犀奇谈 。
?发件人和收件人必须使用同一个关键词。
例子: 如果使用关键字“BIG”九字真言手印 ,发件人将把信息按三个字母的顺序排列。第一个三字母单词的第一个字母将应当向后移动一个位置(因为B是排在A后面的字母),第二个字母需要向后移动8位(I是A后面第8个字母),而第三个字母需要向后移动6位(G是A后面第6个字母)琚翠薇。 下面例子使用关键字“vector”

(2.4)Playfair密码(多表代换密码)
把明文中的双字母音节作为一个单元并将其转换成密文的“双字母音节”
基于一个5×5的字母矩阵
Playfair密码加密方法:
1.如果两个字母在同一行可以用它右边的字母替换,如果在最右边,可以有最左边的替换
2.如果两个字母在同一列可以用它下边的字母替换,如果在最下边,可以用最上边的替换
3.如果两个字母在不同的行或列晋文源,则在密码表中找两个字母使四个字母组成一个矩形就用另外两个字母替换雪蛟。如CG用YE替换

注:它依据一个5*5的正方形组成的密码表来编写,密码表里排列有25个字母。如果一种语言字母超过25个,可以去掉使用频率最少的一个。如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待。英语中z使用最少南明风雨,可以去掉它。
(2.5)Hill密码(分组密码)
它的意义在于第一次在密码学中用到了代数方法(线性代数沈漫雨,何伊娜模的运算)
设m = 3 重返猛鬼屋,明文串p1p2p3 到密文串c1c2c3 的变换由下面方程组给出

Hill 加密事实上是一个矩阵乘法体系
加密密钥是一个方阵K,解密密钥就是K-1例如: