前置知识: 计算机基础

信息安全基础

00:00
6 min Intermediate 2026/6/14

信息安全基础:密码学原理、对称加密、非对称加密、哈希函数与数字签名

1. 信息安全概述

1.1 CIA 三元组

属性说明威胁
机密性(Confidentiality)信息不被未授权访问窃听、泄露
完整性(Integrity)信息不被未授权修改篡改、伪造
可用性(Availability)信息可被授权用户访问DDoS、破坏

1.2 安全服务

  • 认证:验证身份
  • 访问控制:限制资源访问
  • 数据机密性:防止信息泄露
  • 数据完整性:检测篡改
  • 不可否认:防止抵赖

2. 对称加密

2.1 基本原理

加密和解密使用相同密钥:

2.2 分组密码

AES(Advanced Encryption Standard)

参数AES-128AES-192AES-256
密钥长度128 位192 位256 位
轮数101214
分组大小128 位128 位128 位

AES 操作:

  1. SubBytes:S盒字节替换
  2. ShiftRows:行移位
  3. MixColumns:列混合
  4. AddRoundKey:轮密钥加

工作模式

模式并行加密并行解密随机访问错误传播
ECB1块
CBC2块
CTR1块
GCM1块

2.3 流密码

ChaCha20:Google 推荐的流密码,比 AES 在软件实现上更快。

3. 非对称加密

3.1 基本原理

使用一对密钥:公钥加密,私钥解密。

3.2 RSA

密钥生成

  1. 选择两个大素数
  2. 计算
  3. 选择 ,满足
  4. 计算 ,满足
  5. 公钥 ,私钥

加密

解密

正确性:由 Euler 定理,

安全性:基于大整数分解困难性。推荐密钥长度 ≥ 2048 位。

3.3 椭圆曲线密码(ECC)

在有限域上的椭圆曲线上定义运算:

ECDSA:椭圆曲线数字签名算法。

ECDH:椭圆曲线 Diffie-Hellman 密钥交换。

优势:256 位 ECC ≈ 3072 位 RSA 的安全强度。

3.4 Diffie-Hellman 密钥交换

允许双方在不安全信道上协商共享密钥:

Alice: 选择私钥 a,计算 A = g^a mod p,发送 A
Bob:   选择私钥 b,计算 B = g^b mod p,发送 B
共享密钥: K = g^{ab} mod p
  Alice: K = B^a mod p
  Bob:   K = A^b mod p

安全性基于离散对数问题。

4. 哈希函数

4.1 性质

  • 抗原象性:给定 ,难以找到 使得
  • 抗第二原象性:给定 ,难以找到 使得
  • 抗碰撞性:难以找到 使得

4.2 常用哈希算法

算法输出长度状态
MD5128 已破解
SHA-1160 已破解
SHA-256256 安全
SHA-3可变安全
BLAKE3可变安全

4.3 SHA-256 结构

基于 Merkle-Damgård 结构

  1. 填充消息使其长
  2. 附加原始(64位)
  3. 以 512 处理
  4. 64 压缩

5. 数字签名

5.1 签名流程

签名:Sign(SK, M) = σ
验证:Verify(PK, M, σ) = True/False

通常先消息哈希签名

5.2 RSA 签名

5.3 DSA 签名

  1. 选择随机
  2. 签名

注意 必须随机且不可重复,否则可推导出私钥。

6. 公钥基础设施(PKI)

6.1 数字证书

X.509 证书结构:

版本 | 序列号 | 签名算法 | 颁发者 | 有效期 | 主体 | 公钥 | 签名

6.2 证书链

根 CA → 中间 CA → 终端证书

验证时沿证书链逐级验证签名,直到信任 CA。

6.3 TLS/SSL

TLS 握手流程(简化):

1. ClientHello: 支持的加密套件、随机数
2. ServerHello: 选定加密套件、证书、随机数
3. Client: 验证证书,生成预主密钥,用服务器公钥加密发送
4. 双方: 根据预主密钥和随机数生成会话密钥
5. 切换到对称加密通信

7. 密码分析

7.1 攻击类型

攻击类型攻击者已知
唯密文攻击仅密文
已知明文攻击部分明文-密文
选择明文攻击可选择明文加密
选择密文攻击可选择密文解密

7.2 生日攻击

利用生日悖论寻找哈希碰撞:

其中 哈希输出数, 为尝试次数。

找到碰撞所需的尝试次数约为 ,远小于暴力搜索

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式