目录
- [1. 引言](#1. 引言)
-
- [1.1 密码学的发展概况](#1.1 密码学的发展概况)
- [1.2 密码学的基本概念](#1.2 密码学的基本概念)
- [1.3 密码体制的攻击方法](#1.3 密码体制的攻击方法)
- [1.4 古典密码体制](#1.4 古典密码体制)
- [1.5 第一章重点](#1.5 第一章重点)
- [1.6 密码的其他分类方式](#1.6 密码的其他分类方式)
1. 引言
1.1 密码学的发展概况
- 学科属性:古老、年轻且深奥,研究信息系统安全保密,包含密码编码学和密码分析学。
- 发展阶段:
- 古典密码学→现代密码学
- 1949 年前:技术型 "艺术",非科学
- 1949 年:Shannon 发表《保密系统的通信理论》,使密码学成为科学
- 1976 年:Diffie 和 Hellman 发表《密码学的新方向》,引发密码学革命(提出非对称密钥思想)
- 1977 年:美国国家标准局公布 DES 算法,公开算法细节,推动密码学普及
- 现代应用:数据加密、密码分析、数字签名、信息鉴别、零知识认证、秘密共享等。
- 数学工具:概率统计、数论、代数、混沌、椭圆曲线等。
1.2 密码学的基本概念
- 核心术语 :
- 明文(plaintext):未加密的信息
- 密文(ciphertext):加密后的信息
- 加密:将明文伪装为密文的过程(记为 E K ( M ) = C E_K(M)=C EK(M)=C)
- 解密:将密文恢复为明文的过程(记为 D K ( C ) = M D_K(C)=M DK(C)=M)
- 密钥(K):控制加密和解密的参数,部分算法使用不同加密密钥( K 1 K_1 K1)和解密密钥( K 2 K_2 K2),满足 D K 2 ( E K 1 ( M ) ) = M D_{K_2}(E_{K_1}(M)) = M DK2(EK1(M))=M。
- 密码系统模型 :
- 要素:信源(明文 M M M)、加密器( E K 1 E_{K_1} EK1)、密钥源( K 1 , K 2 K_1,K_2 K1,K2)、传输信道(密文 C C C、密钥信道)、解密器( D K 2 D_{K_2} DK2)、接收者(明文 M M M)。
- 攻击类型:主动攻击(篡改 c c c 为 c ′ c′ c′)、被动攻击(窃听 c c c)。
- 密码体制分类 :
- 对称密码(单钥 / 私钥密码):加密与解密密钥相同(如分组密码、流密码)。
- 非对称密码(双钥 / 公钥密码):加密与解密密钥不同(如 RSA)。
- 好的密码体制的条件 :
- 已知明文 m m m 和加密密钥 k 1 k_1 k1 时,计算 c = E k 1 ( m ) c=E_{k_1}(m) c=Ek1(m) 容易;已知密文 c c c 和解密密钥 k 2 k_2 k2 时,计算 m = D k 2 ( c ) m=D_{k_2}(c) m=Dk2(c) 容易。
- 未知解密密钥 k 2 k_2 k2 时,无法由密文 c c c 恢复明文 m m m。
- 可破译性 :
- 可破译:能由密文确定明文 / 密钥,或由明文 - 密文对确定密钥。
- 不可破译:反之。
1.3 密码体制的攻击方法
- 攻击类型 :
- 穷举攻击:试遍所有密钥→对抗:增大密钥数量。
- 统计分析攻击:分析明文与密文的统计规律→对抗:使两者统计规律不同。
- 解密变换攻击:针对加密变换的数学基础求解解密变换→对抗:选用数学基础坚实、复杂度高的算法。
- 攻击场景(强度递增) :
- 唯密文攻击:仅知密文。
- 已知明文攻击:知部分明文及对应密文。
- 选择明文攻击:可选择明文并获取对应密文。
- 选择密文攻击:可选择密文并获取对应明文。
- 安全性分类 :
- 无条件安全:一次一密方案(理论上不可破译)。
- 计算上安全:满足以下任一条件:破译代价超过信息价值;破译时间超过信息有效期(如流密码、分组密码、公钥密码)。
1.4 古典密码体制
-
置换密码(易位密码):
- 原理:明文字母位置重新排列,字母本身不变。
- 例子:明文 "never accept failure no matter how often it visits you"→密文 "uoys tisi vtin etfo wohr etta mone ulia ftpe ccar even"。
- 特点:简单但不安全,易被识破。
-
单表代替密码:
- 原理:用一个密文字母表中的字母一对一替换明文字母表中的字母( f : A → B , f ( a i ) = b i f:A→B,f(a_i)=b_i f:A→B,f(ai)=bi)。
- 分类:
- 加法密码: j = i + k ( m o d n ) ( 0 < k < n ) j=i+k(modn)(0<k<n) j=i+k(modn)(0<k<n),如凯撒密码(k=3,明文 "ATTACK"→密文 "DWWDFN")。
- 乘法密码: j = i k ( m o d n ) ( 0 < k < n ,且 k 与 n 互质) j=ik(modn)(0<k<n,且k与n互质) j=ik(modn)(0<k<n,且k与n互质)。
- 仿射密码:加法与乘法结合, j = k 0 + i k 1 ( m o d n ) ( 0 < k 0 < n , k 1 与 n 互质) j=k_0+ik_1(modn)(0<k_0<n,k_1与n互质) j=k0+ik1(modn)(0<k0<n,k1与n互质)。
- 密钥短语代替密码:以短语为密钥(去重后作为密文前缀,剩余字母补全),如密钥 "Happy New Year"→密文表(a→H,b→A,c→P,...)。
-
多表代换密码:
-
原理:将明文分为 n 个字母的分组,
加密公式 C i = A M i + B ( m o d N ) ( A 为可逆矩阵, g c d ( ∣ A ∣ , N ) = 1 ) C_i=AM_i+B(modN)(A为可逆矩阵,gcd(∣A∣,N)=1) Ci=AMi+B(modN)(A为可逆矩阵,gcd(∣A∣,N)=1);
解密公式 M i = A − 1 ( C i − B ) ( m o d N ) M_i=A^{−1}(C_i−B)(modN) Mi=A−1(Ci−B)(modN)。
-
例子:n=3,N=26,明文 "YOUR PIN NO IS FOUR ONE TWO SIX"→密文 "WGI FGJ TMR LHH XTH WBX ZPS BRB"。
-
1.5 第一章重点
- 密码体制的分类(对称 / 非对称)。
- 攻击方法:穷举攻击、统计分析攻击、解密变换攻击。
- 攻击场景:唯密文、已知明文、选择明文、选择密文攻击。
- 古典密码的基本原理(置换、单表 / 多表代替)。
1.6 密码的其他分类方式
- 按历史发展阶段:手工密码、机械密码、电子机内乱密码、计算机密码。
- 按操作类型:替代密码、移位密码。
- 按保密程度:理论上保密、实际上保密、不保密。
- 按明文处理方法:分组密码、序列密码。
- 按密钥类型:对称密钥密码、非对称密钥密码