信息安全复习(一)数学基础&对称密码和消息机密性
信息安全(一)数学基础&对称密码和消息机密性
数学基础
-
最大公因数 gcd(a,b), 最小公倍数 lcm(a,b)
拓展欧几里得算法(求模逆元)
求模逆元就是求乘法逆元,即寻找一个x,使得 a*x ≡ 1 mod m
求 550*x ≡ 1 mod 1769
可以这样做算: 550*x-1 可以整除 1769
计算方式:gcd(17,5)
- Q = X3/Y3
- X1 = Y1
- X2 = Y2
- X3 = Y3
- T1 = X1-Q*Y1
- T2 = X2-Q*Y2
- T3 = X3-Q*Y3
Q | X1 | X2 | X3 | Y1(T1) | Y2(T2) | Y3(T3) | |
---|---|---|---|---|---|---|---|
初始值 | 1 | 0 | 17 | 0 | 1 | 5 | |
3 | 0 | 1 | 5 | 1 | -3 | 2 | |
2 | 1 | -3 | 2 | -2 | 7 | 1 |
当 Y3 = 1时,说明有模逆元, 该逆元为Y2 即 7 , 5 * 7 = 17 * 2+1 ,Y3 即为最大公倍数
当 Y3 = 0 时,说明无逆元,找Y3的上一个数,即为最大公倍数
费马定理与欧拉定理
-
费马定理
在 p 为 **素数 **的情况下才成立
-
欧拉定理
对于任何 互素 的两个整数 a, n有
题目 : 用费马定理求3的201次方 (mod 11)
题目:用欧拉定理求 13 的 2001次方被60整除
因为 gcd(13,60) = 1 ,即两个数互素
由欧拉定理有:
又因为: 2001 = 125 * 16+1
所以,余数为13
数论:
有限域上多项式 : 进行二进制运算时,加法不进为位,减法不借位
对称加密和消息机密性
-
对称加密原理
安全性取决于**而不是算法的保密性
明文:信息的原始形式(记为M)
密文:明文经过加密变换后的形式(记为C)
加密:由明文变成密文的过程(记为E)。加密通常是由加密算法来实现的
解密:由密文还原成明文的过程(记为D),解密通常是由解密算法来实现的
**:为了有效地控制加密和解密算法的实现,在其处理过程中要有通信双方掌握的专门信息参与,这种专门信息称为**(key,记为K)
一对相等或互相容易推算的保***
又称为单**密码机制
安全加密的两个安全要求
强大的加密算法
即使对方拥有一些密文和对应的明文,也不能译出密文或发现**
**的安全交换
**的安全获得
**的安全保存
-
对称加密算法
**Feistel结构:**p53
每轮的置换可以由以下函数表示:
Li = Ri-1
Ri = Li-1⊕F(Ri-1,Ki)
与Feistel有关的参数:
1、分组大小。分组越多安全性越高,加密速度越慢,分组密码中普遍使用的分组大小为64bit。
2、**大小。**越长安全性越高,加密速度越慢,一般使用128bit的**或者更长。
3、轮数。轮数越多安全性越高,一般为16轮。
4、子**产生算法。该算法越复杂安全性越高。
5、轮函数。轮函数越复杂安全性越高。
-
分组密码
DES (对64位的明文进行加密)
最广泛使用的加密方案
算法被称为数据加密算法 (DEA)
DES是一个分组密码
明文长度为64bit
**长度为56bit
16轮迭代三重DES (Triple DES )
用三个**,执行三次DES算法(encrypt-decrypt-encrypt)
C = EK3[DK2[EK1[P]]]
有效**长度为168 bitsAES 高级加密标准AES(使用Rijndael ,不是Feistel结构 )
和3DES有等同或更高的安全强度,并且效率有显著提高
分组大小为128bit
支持**长度为128、192和256bit
2001年,NIST选择 Rijndael 作为AES算法SMS4 中国商用密码算法—SMS4
分组长度:128bit
**长度:128bit
迭代轮数:32轮
非对称的Feistel结构SM2:椭圆曲线公钥密码算法
SM3:密码杂凑算法IDEA
128bit长度**
在PGP中使用分组长度:64bit分组
**长度:128bit;
扰乱:用三种操作达到扰乱的目的;
扩散:IDEA密码的扩散效果也很有效 -
流密码
RC4 (同步流密码)
RC4不是基于移位寄存器的流密码,而是一种基于非线性数据表变换的流密码
用于SSL/TLS,IEEE 802.11 WEP和WAP等协议中
-
分组密码工作方式
电子簿模式(electronic codebook mode) ECB
明文一次被处理64bit,而且明文的每一个分组都使用同一**加密
对于给定的**,每个64bit明文分组对应唯一的密文
相同的明文分组总是产生相同的密文相同明文对应相同密文
同样信息多次出现造成泄漏
信息块可被替换
信息块可被重排
密文块损坏对应明文块损坏
适合于传输短信息密码块链接(cipher block chaining ) CBC
加密算法的输入是当前明文分组与前一密文分组的异或
64bit的重复模式不会暴露需要共同的初始化向量IV
相同明文????不同密文
初始化向量IV可以用来改变第一块
密文块损坏????两明文块损坏
安全性好于ECB密码反馈方式(cipher feedback) CFB
将任意分组密码转化为流密码
计数器模式(counter model) CRT
硬件效率:没有连接,并行执行
软件效率:
预处理:预先准备加密箱的输出
随机存取:
可证明的安全性:CTR至少与和其他模式一样安全
简单性:只需要对加密算法执行,不需要解密算法的执行;解***的安排调度不需要执行