现代密码学(一)绪论
介绍密码学的基本概念。
基本术语
密码学是一门研究秘密信息隐写技术的学科。
- 可以使消息的内容对所有人(除了发送者和接收者)保密
- 可以使接收者验证消息的正确性
常用的术语如下
- 明文 plaintext
- 密文 ciphertext
- 密码算法 cipher
- 密钥 key
- 编码 encipher/encode
- 译码 decipher/decode
- 密码分析 cryptanalysis/codebreaking
- 密码学 cryptology
符号记法
加密 Encryption \[ C = EK(P) \]
解密 Decryption \[ P = EK_{-1}(C) \]
可以把密码系统理解为明文空间到密文空间的变换,其中密钥取自密钥空间。 \[ P\xrightarrow{EK}C \\ C\xrightarrow{EK_{-1}}P \]
算法分类
- 私钥加密算法
- 分组密码
- 流密码(序列密码)
- 公钥加密算法
- 数字签名算法
- 哈希函数
密码分析
密码分析学是指在没有加密密钥的情况下,攻击密文的过程。
- 唯密文攻击
- 只知道算法与一些密文
- 利用统计方法
- 需要能够识别明文
- 已知明文攻击
- 知道一些明文/密文对
- 利用已知的明文/密文对进行攻击
- 选择明文攻击
- 能够选择明文并得到相应的密文
- 利用算法的结构进行攻击
- 选择密文攻击
- 能够选择密文并得到相应的明文
- 利用对算法结构的知识进行攻击