第4 章
加密与认证技术主要内容:
密码学基本概念
常用加密算法
网络加密方式
认证技术
密码破译技术
4.1 加密技术概述
信息安全主要包括系统安全和数据安全两个方面。
系统安全一般采用防火墙、防病毒及其他安全防范技术,属于被动型的安全措施。
数据安全主要采用现代密码技术对数据进行主动的安全保护,如数据保密、数据完整性、身份认证等技术。
4.1.1 加密过程模型
?原有的信息称为明文(Plaintext,简称P)。
?明文经加密变换成密文(Ciphertext,简称C)
?加密(Enciphering,简称E),由明文变为密文。?解密(Deciphering,简称D),把密文还原成明文。?密钥:加密密钥,解密密钥
?算法:加密算法,解密算法
4.1.2 密码学的研究内容
密码学是研究数据的加密、解密及其变换
的学科,涵盖数学、计算机科学、电子与通信学科。
密码学包括密码设计学与密码分析学两个方面 密码设计学:主要研究加密方法。
密码分析学:主要针对密码破译,即如何从密文推演出明文、密钥或解密算法的学问。
4.1.3 密码技术
密码技术不仅可用于信息的加密和解密,还是身份认证、访问控制、数字签名等多种安全机制的基础。
加密算法的三个发展阶段:
古典密码
对称密钥密码
非对称密钥密码
4.2 古典密码算法
对称加密算法的核心技术:代换和置换。代换法:将明文字母替换成其他字母、数字或符号的方法。
置换法:改变明文字母的位置或顺序的方法。
4.2.1 代换技术
(1) Caesar密码:将字母表中的每个字母用它之后的第3个字母代替。
例如:
明文:meet me after the toga party
密文:phhw ph diwhu wkh wrjd sduwb 加密算法:C=(P+3) mod 26
解密算法:P=(C-3) mod 26
密钥K:3
Caesar密码分析
Caesar密码的三个特征:
1 .已知加密和解密算法
2 .密钥k的取值范围:1-25
3.明文所用的语言是已知的,且意义易于识别可采用穷举攻击法破译Caesar密码
如果密文行是26个字母的任意代换,则密钥空间变为:26!(>4x1026),则可抵挡穷举攻击。
统计学攻击法
P 13.33 Z 11.67 S 8.33 U 8.33O 7.50
M 6.67
H 5.83
D 5.00
E 5.00
V 4.17
X 4.17
F 3.33
W 3.33
Q 2.50
T 2.50
A 1.67
B 1.67
G 1.67
Y 1.67
I 0.83
J 0.83
C 0.00
K 0.00
L 0.00
N 0.00
R 0.00
密文:UZQSOVUOHMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
E 12.702 T 9.056 A 8.167 O 7.507I 6.996
N 6.749
S 6.327
H 6.094
R 5.987
D 4.253
L 4.025
C 2.782
U 2.758
M 2.406
W 2.360
F 2.228
G 2.015
Y 1.974
P 1.929
B 1.492
V 0.978
K 0.772
J 0.153
X 0.150
Q 0.095
Z 0.074
密文中字母的相对频率:
对比两张表,得出结论:
密文字母中的P和Z可能对应明文中的E和T;
密文中的S,U,O,M,H,可能对应明文中的{A,H,I,N,O,R,S} ;
密文中的字母(A,B,G,Y,I,J)可能对应明文中的{B,J,K,Q,V,X,Z}英文字母的相对使用频率:
统计学攻击法(续)
?统计双字母组合的频率
?最常用的双字母是th,密文中用得最多的双字母是ZW,因此,Z对应t,W对应h.
?最常用的三字母是the,。。。
?明文如下:
It was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow
(2) Playfair密码
把明文中的双字母作为一个单元,并将其转换成密文的双字母。
一次加密两个字母。
基于一个密钥词构成的5X5字母矩阵,密钥词为MONARCHY,矩阵构成方法:先将密钥词(去掉重复字母)从左到右填充到矩阵中,其余空格按字母表顺序填入其它字母。字母I和J当作一个字母。
M O N A R
C H Y B D
E F G I/J K
L P Q S T
U V W X Z
Playfair密码算法原理:
(1)把明文中的字母分组,两个字母为一组。若明文中的双字母相同,则在二者之间插入一个x。(2)若明文中的双字母在矩阵同一行,则由其同一行的右边字母来代换,最右边字母由本行最左边字母代换。
(3)若明文中的双字母在矩阵同一列,则由其同一列的下边字母代换,最下面字母由本行最上面字母代换。
(4)其它情况,则以两个明文字母为对角线构成的矩形,由另一对角线上的两个字母作为其密文字母。例:
明文:balloon
分组后:ba lx lo on
密文:IB SU PM NA
(3) 一次性密码簿加密
密码簿每一页都是不同的代码表,可用一页上的代码来加密一些词,用后销毁,再用
另一页加密另一些词,直到全部的明文完
成加密。
破译的唯一方法就是获取一份相同的密码簿。
4.2.2 置换技术
置换加密方法不隐藏明文中的字符,只是打乱明文中字母的顺序。
(1)单步置换
将明文字符分割成长度固定的分组(如5个一组,5即为密钥!),按一组一行的次序整齐排列,最后不足一组的用任意字符填充,完成后按列读取即成密文。例:
Key:4312567
明文:a t t a c k p
o s t p o n e
d u n t i l t
w o a m x y z
(2) 双重置换
Key:4312567
明文:a t t a c k p
o s t p o n e
d u n t i l t
w o a m x y z
密文:ttnaaptmtsuoaodwcoixknlypetz Key: 4 3 1 2 5 6 7
明文:t t n a a p t
m t s u o a o
d w c o I x k
n l y p e t z
密文:nscyauopttwltmdnaolepaxttokz
4.2.3 隐写术
?隐写术:隐藏信息的存在?密码学:使信息对外不可读?常见隐写术:
整段文本中的部分字母组合
不可见墨水
针刺
4.3 对称密钥加密算法
对称密钥体制也称为私钥或单钥体制,其保密性
完全依赖于密钥的保密,且加密密钥和解密密钥相同。
对称密钥的加密模式主要有:序列密码(也称流
密码)和分组密码。
流密码:每次加密明文的一位或一个字节。
分组密码:分组密码将明文分成固定长度的
组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。典型的分组大小是64位或128位。
主要对称加密算法:
分组加密算法:DES,IDEA,AES
4.3.1 DES算法
?DES(Data Encryption Standard) 数据加密标准
算法
?DES算法是一种用56位密钥来加密64位数据的对
称密钥算法。
?DES算法的入口参数有三个:Key、Data、Mode Key为8个字节共64位,是DES算法的工作密钥;
Data也为8个字节64位,是要被加密或被解密
的数据;
Mode为DES的工作方式,有两种:加密或解
密。
DES的工作原理
?加密:将明文分割成许多64位大小的块,每个块用64位密钥进行加密。
64位的明文块经过初始置换后被重新排列
进行16轮相同的迭代,但每次参加迭代的子密钥不同。
把16轮迭代后的输出进行逆初始置换,产生64位密文。
?解密:
解密算法与加密算法相同,使用的密钥也相同,但是每次迭代子密钥的使用顺序相反。
DES算法流程图