密码学的定义

密码学 (Cryptology) 是 研究 编制密码破译密码 的技术科学。

研究密码编制的科学称为 密码编制学 (Cryptography)
研究密码破译的科学称为 密码分析学 (Cryptanalysis)
密码编制学和密码分析学共同组成 密码学 (Cryptology)

密码学的安全目标 (三个方面)

  • 保密性 (confidentiality):确保信息仅被合法用户访问,而不被泄露给非授权的用户、实体或过程。
  • 完整性 (integrity):是指所有资源只能由授权方或以授权的方式进行修改,即信息未经授权不能进行改变的特性。
  • 可用性 (availability):是指所有资源在适当的时候可以由授权方访问,即信息可被授权实体访问并按需求使用的特性。

Kerckhoffs准则

一个安全保护系统的安全性不是建立在它的算法对于对手来说是保密的,而是应该建立在它所选择的密钥对于对手来说是保密的。

精炼点来说就是 算法是公开的,密钥是保密的

密码体制

一个密码体制的 五元组 (M,C,K,E,D)

  • 明文空间M: 即全体明文的集合
  • 密文空间C : 即全体密文的集合
  • 密钥空间K : 即全体密钥的集合,=<Ke,Kd>
  • 加密算法E : 即一族由M到C的加密变换
  • 解密算法D : 即一族由C到M的解密变换
https://www.whbwiki.com/wp-content/uploads/2021/03/图片.png

对称密码体制 : 即Kd = Ke ,或容易推导出对方,又称 私钥密码体制单密钥体制传统密码体制
非对称密码体制 : 即Kd != Ke,或由Ke不能推出Kd,又称为 公钥密码体制双密钥密码体制 (1976年)。

密码系统的分类

[tip type=”tip info” ]

1. 按明文变换到密文的操作类型

所有加密算法基于以下两个基本操作:

置换密码: 即明文中的每一个字符被映射为另一个字符(明文的字母不变,位置被打乱),该操作主要达到非线性变换的目的。

代替密码: 即明文中字符的位置被重新排序,这是一种线性变换,对它们的基木要求是不丢失信息,即所有操作都是可逆的。

[/tip]
[tip type=”tip info” ]

2. 按所用的密钥数量

单密钥密码 (对称密码): DES、3DES、AES、SM4、IDEA、RC5

双密钥密码 (非对称密码): RSA、 Elgamal、ECC、SM2

[/tip]
[tip type=”tip info” ]

3. 按明文被处理的方式

分组密码: DES、AES、SM4、IDEA

序列密码 (流密码): RC4、ZUC

[/tip]
[tip type=”tip info” ]

4. 不可逆

Hash函数:MD5、SHA、SM3、HMAC

[/tip]

密码攻击方法

  • 穷举攻击:密码分析者采用依次试遍所有可能的密钥对所获密文进行解密,直至得到正确的明文。
  • 统计分析攻击:就是指密码分析者通过分析密文和明文的统计规律来破译密码。
  • 数学分析攻击:是指密码分析者针对加密算法的数学依据通过数学求解的方法来破译密码。
  • 基于物理的攻击:也叫侧击。主要集中在功耗攻击、电磁场攻击和时间攻击。其中功耗攻击是最强有力的手段之一,与传统密码分析学相比,这些攻击手段攻击效果显著。

密码攻击类型

  • 仅知密文攻击 (Ciphertext-only attack):是指密码分析者仅根据截获的密文来破译密码。
  • 已知明文攻击 (Known-plaintext attack):是指密码分析者根据已经知道的某些明文-密文对来破译密码。
  • 选择明文攻击 (Chosen-plaintext attack):是指密码分析者不仅可以得到一些“明文-密文对”,还利用选择被加密的明文,并获得相应的密文 (差分分析属于选择明文攻击,通过比较分析有特定区别的明文在通过加密后的变化情况来攻击密码算法)。
  • 选择密文攻击 (Chosen-ciphertext attack):是指密码分析者能够选择密文并获得相应的明文。这种方法对攻击者最有利。主要攻击公开密钥密码体制,特别是攻击其数字签名。
[tip type=”tip worning” ]

攻击强度

仅知密文攻击 –> 已知明文攻击 –> 选择明文攻击 –> 选择密文攻击

—————————————————————–>

[/tip]

量子算法

量子的 叠加性相干性 原理具有计算能力

量子计算算法主要有 Grover算法Shor算法,在量子计算环境下,RSA,EIGamal,ECC公钥密码和DH密钥协商协议将不再安全。