1.1 信息安全面临的威胁
攻击方式

1.被动攻击(监听/保密性):
-
消息内容获取
-
业务流分析:即使加密,敌手仍可获得消息格式、通信双方位置/身份、通信次数和消息长度。
2.主动攻击:
-
中断(破坏可用性):破坏硬件、网络、文件系统。
-
篡改(破坏完整性):修改数据、替换程序、修改消息内容。
-
伪造(破坏真实性):插入伪造消息/记录。
安全业务
| 安全业务 | 功能 | 防护目标 |
|---|---|---|
| 保密业务 | 保护数据以防被动攻击 | 防窃听 |
| 认证业务 | 保证通信的真实性 | 确认消息来源真实、通信双方身份真实 |
| 完整性业务 | 保证接收消息未经复制、插入、篡改、重排或重放 | 防篡改 |
| 不可否认业务 | 防止通信双方某一方否认所传输消息 | 防抵赖 |
| 访问控制 | 防止对网络资源的非授权访问 | 权限管理 |

恶意程序
1.需要主程序(不能独立运行):陷门、逻辑炸弹、特洛伊木马、病毒
2.不需主程序(独立程序,可被OS调度运行):细菌、蠕虫
1.2 信息安全模型

安全的网络通信必须考虑以下4个方面:
-
加密算法;
-
用于加密算法的秘密信息;
-
秘密信息的分布和共享;
-
使用加密算法和秘密信息以获得安全服务所需的协议
1.3 密码学基本概念
| 术语 | 英文 | 定义 |
|---|---|---|
| 明文 | Plaintext | 原始可读的信息,加密前的数据 |
| 密文 | Ciphertext | 明文经过加密变换后的不可读数据 |
| 加密 | Encryption | 将明文变换为密文的过程 |
| 解密 | Decryption | 将密文恢复为明文的过程 |
| 密钥 | Key | 控制加密/解密算法的秘密参数 |
| 密码算法 | Cryptographic Algorithm | 用于加密和解密的数学函数/规则 |
一个完整的密码体制 {P, C, K, E, D}由五个部分组成:
-
P:明文空间(所有可能明文的集合)
-
C:密文空间(所有可能密文的集合)
-
K:密钥空间(所有可能密钥的集合)
-
E:加密算法集合
-
D:解密算法集合
密码学的两条分支(盾和矛):
| 分支 | 英文 | 核心任务 | 主要工作 |
|---|---|---|---|
| 密码编码学 | Cryptography | 设计密码系统 | 构造安全的加密/认证算法 |
| 密码分析学 | Cryptanalysis | 破译密码系统 | 研究攻破密码系统的方法 |
密码学中有一条重要的Kerckhoffs原则:密码系统的安全性不应依赖于算法的保密,而应完全依赖于密钥的保密。即算法公开,密钥保密。
密码体制的分类

1. 按密钥使用方式分类
| 类型 | 特征 | 特点 |
|---|---|---|
| 对称密码 | 加密密钥 = 解密密钥 | 速度快、密钥分发困难 |
| 非对称密码 | 加密密钥 ≠ 解密密钥 | 速度慢、解决密钥分发问题 |
2. 按明文处理方式分类
| 类型 | 名称 | 处理方式 |
|---|---|---|
| 分组密码 | Block Cipher | 将明文分成固定长度的组,逐组加密 |
| 流密码 | Stream Cipher | 逐位/逐字节加密,生成密钥流与明文异或 |
密码分析攻击类型
都已知加密算法和截获的部分密文,攻击难度由上到下依次降低:
| 攻击类型 | 已知信息 |
|---|---|
| 唯密文攻击 (Ciphertext-only) | 仅密文 |
| 已知明文攻击 (Known-plaintext) | 若干明文-密文对 |
| 选择明文攻击 (Chosen-plaintext) | 可自由选择明文获取密文 |
| 选择密文攻击 (Chosen-ciphertext) | 可自由选择密文获取明文 |
而密码体制的安全性一般从如下两个方面考虑:
-
无条件安全(理论安全),无论如何破解都无法解密密文,即使无限计算资源也无法破译(Shannon指出,密钥至少和明文一样长,即一次一密,实现极其困难)。
-
计算安全(实际安全),破译代价超过被加密信息的价值或破译所花时间超过信息的有用期。在现有/可预见计算能力下,破译所需时间/资源不可行。
1.4 古典密码
古典密码:计算机出现前的密码技术,基于字符替换和置换,现已不安全,但蕴含密码学的基本思想。

替换密码(Substitution Cipher)
1.单表替换密码 建立明文字母到密文字母的一一对应映射表,26个字母的任意排列(置换)
凯撒密码(Caesar Cipher) 加密:C = (P + k) mod 26;解密:P = (C - k) mod 26 明文: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 明文:ATTACK AT DAWN 密文:DWWDFN DW GDZQ
仿射密码(Affine Cipher) 加密C = (a·P + b) mod 26,密钥为数对 (a, b),其中 gcd(a, 26) = 1。解密:

乘法逆元求解可参考下述内容:

扩展欧几里得算法与乘法逆元
扩展欧几里得算法(Extended Euclidean Algorithm)是欧几里得算法的增强版本,它在计算两个整数 a、b 的最大公约数 gcd(a,b) 的同时,还能求出一组整数 x、y(称为贝祖系数),满足:
a⋅x+b⋅y=gcd(a,b)
当 a 与模数 m 互质(gcd(a,m)=1)时,上式可写为:
a⋅x+m⋅y=1
在模 m 意义下,m⋅y≡0,因此有:
a⋅x≡1(modm)
此时 x 就是 a 在模 m 下的乘法逆元。
欧几里得算法回顾
辗转相除的核心公式:
gcd(a,b)=gcd(b,amodb)
不断用余数替代较大的数,直到余数为 0,最后一个非零余数即为 gcd(a,b)。
扩展:回代求系数
以 a=240, b=46 为例:
-
240=46×5+10
-
46=10×4+6
-
10=6×1+4
-
6=4×1+2
-
4=2×2+0⇒ gcd=2
从倒数第二步开始,将余数表示成最初的线性组合:
2=6−4×1=6−(10−6×1)=2×6−10=2(46−10×4)−10=2×46−9×10=2×46−9(240−46×5)=−9×240+47×46
得到 x=−9, y=47,满足 240⋅(−9)+46⋅47=2。
求乘法逆元
示例:求7在模26下的乘法逆元。

此例中即5:(-3,1)、2: (4,-1)、1:(-11,3)
乘法逆元是一维线性变换的逆; 矩阵的逆是 n维线性变换的逆。
2.多表替换密码


置换密码(Transposition/Permutation Cipher)
以栅栏密码(Rail Fence cipher)为例展示一下:

比如对明文:WE ARE DISCOVERED FLEE AT ONCE:
W . . . E . . . C . . . R . . . L . . . T . . . E . E . R . D . S . O . E . E . F . E . A . O . C . . . A . . . I . . . V . . . D . . . E . . . N . .
经过上述加密后就变成:
WECRL TEERD SOEEF EAOCA IVDEN(这里是人为拆分成了五个便于阅读)
&spm=1001.2101.3001.5002&articleId=162226484&d=1&t=3&u=19b5f20f8eb046e9a2df4d024308e8c2)
5051

被折叠的 条评论
为什么被折叠?



