"信息安全期末复习整理"
本文档主要讲解信息安全的基础知识,包括密码学、加密算法、数字签名方案等。
一、替换密码和仿射密码
* 替换密码:f(a) = (a + k) mod n
* 仿射密码:f(a) = (k \* a + b) mod n
* 仿射密码解密算法:f(a) = k^(-1) \* (a - b) mod n
其中,k 是密钥,n 是模数,a 是明文,f(a) 是密文。k^(-1) 是 k 的乘法逆元,满足 k \* k^(-1) mod n = 1。
二、DES 算法
* DES 是分组加密算法,它将明文分组成 64 位,使用 56 位密钥对其进行加密和解密。
* 加密过程:
1. 初始置换
2. 密钥置换
3. 分组加密或解密
4. 变换和异或运算
5. 逆初始置换
DES 算法的安全性取决于密钥的长度和加密算法的复杂度。
三、RSA 算法
* RSA 算法是非对称加密算法,使用两个不同的素数 p 和 q 生成公开模数 r。
* 加密过程:
1. 选择密钥
2. 加密
3. 解密
* 平方-乘算法可以用于加速 RSA 算法的计算。
四、数字签名方案
* 数字签名方案使用公开密钥体制对明文进行签名和验证。
* 过程:
1. Alice 用 Hash 函数从明文 M 中抽取信息摘要 M'。
2. Alice 用自己的私人密钥对 M' 加密得到签名文本 S。
3. Alice 用 Bob 的公开密钥对 S 加密得到 S'。
4. Alice 将 S' 和 M 发送给 Bob。
5. Bob 收到 S' 和 M 后,用自己的私人密钥对 S' 解密,还原出 S。
6. Bob 用 Alice 的公开密钥对 S 解密,还原出信息摘要 M'。
7. Bob 用相同的 Hash 函数从 M 中抽取信息摘要 M"。
8. Bob 比较 M' 和 M",当 M' 和 M" 相同时,可以断定 Alice 在 M 上签名。
五、单向散列函数(Hash 函数)
* Hash 函数能够从任意长度的明文中产生固定长度的散列值。
* 已知明文 M 时,利用 Hash 函数很容易计算出散列值 h。
* 已知散列值 h 时,要通过同一个 Hash 函数计算出不同的散列值是很困难的。
* 已知散列值 h 时,要想从中计算出明文 M 是很困难的。
* 已知明文 M 时,要找出另一个信息 M' 使 h(M) = h(M') 是很困难的。
六、信息安全的三个基本属性
* 完整性:保护信息的完整性和一致性。
* 可用性:确保信息可以被授权用户访问和使用。
* 保密性:保护信息不被未经授权的用户访问或泄露。