密码学基本概念
密码学(Cryprology):研究信息系统安全保密的科学
两个分支:
- 密码编码学(Cryptography):加密
- 密码分析学(Cryptanalytics):解密
常见概念:
明文(Plaintext):被加密的消息
密文(Ciphertext):明文加密后的消息
加密(Encryption):明文变换为密文的过程
解密(Decryption):由密文会恢复到明文的过程
加密算法(Encryption algorithm):对明文进行加密时所采用的规则
解密算法(Decryption algorithm):对密文进行解密时所采用的规则
密钥(Key):控制加密和解密算法操作的数据处理, 分别称作加密密钥和解密密钥
密码系统模型:
密码系统的使用者通常称为用户.密码系统的破坏者有时称为对手.对手分为“窃听型”和“干扰型”两种.“窃听型”对手只是截取信道上传送的信息,而“干扰型”对手则会篡改信道上传送的信息.
所以应当满足的要求有:
密钥或任意明文在计算上是不可行的
Kerckhoff原则:系统的保密性不依赖对加密体制或算法的保密
加密和解密算法适用于所有密钥空间中的元素
系统便于实现和使用
认证系统(Authentication system)
防止消息被篡改、删除、重放、和伪造
使发送的消息具有被验证的能力
使接收者能够识别和确定消息的真伪.
密码体制(Cryptosystem)
由五元组组成:
明文空间 :全体明文的集合.
密文空间 :全体密文的集合.
密钥空间 :全体密钥的集合.
加密算法 :由加密密钥控制的加密变换的集合.
解密算法 :由解密密钥控制的解密变换的集合.
密码体制分类:
- 单钥体制(One-key system)
加密密钥和解密密钥相同 - 双钥体制(Two key system)
加密密钥和解密密钥不同
单钥体制
单钥体制不仅可以用于数据加密,也可用于消息的认证.
主要研究的问题
- 密钥生成(Key generation)
- 密钥管理(Key management)
单钥密码分类:
- 流密码(Stream cipher)
- 分组密码(Block cipher)
流密码:
是一种对称加密算法,加密和解密双方使用相同伪随机加密数据流(pseudo-random stream)作为密钥,明文数据每次与密钥数据流顺次对应加密,得到密文数据流。实践中数据通常是一个位(bit)并用异或(xor)操作加密.
分组密码:
是一种对称密钥算法.它将明文分成多个等长的模块(block),使用确定的算法和对称密钥对每组分别加密解密.
双钥体制
该技术就是针对单钥密码体制的缺陷被提出来的.在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥(公开密钥)向公众公开,谁都可以使用,解密密钥(秘密密钥)只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,顾其可称为公钥密码体制.