1.1.2 密码定义、术语和分类
密码学在1949年因信息论发布而成为一个独立的学科,经过多年的发展,密码的定义已经越来越明晰。
《中华人民共和国密码法》中给出的关于密码的定义为:密码是指采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。
1.密码技术常用术语
在了解了基本的密码学历史和定义后,下面再来了解一下常用的密码学术语。
• 密钥:分为加密密钥和解密密钥,是用来加密/解密的一个需要保护的二进制串。
• 明文:没有进行加密、能够直接代表原文含义的信息,也就是原文。
• 密文:经过加密处理之后,隐藏原文含义的数据。
• 加密:将明文转换成密文的实施过程。
• 解密:将密文转换成明文的实施过程。
• 数字签名:又称公钥数字签名,是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
• 密码体制:通常指由明文、密文、加密算法、解密算法和密钥组成的五元组。
• 密码协议:又称安全协议,是完成密钥传递、敏感数据传输、控制信息交换和保密通信认证有关的系列交互规则。密码协议是网络安全的重要组成部分之一,可以完成异地的安全通信,通常有两个或者多个参与者。
2.密码学分类
前面在讲解密码学历史时读者已经知悉,密码学已历经几千年的发展历史,开始于古巴比伦时期,发展在近代,绽放在现代。既可以从历史阶段方面对密码学进行分类,也可以从密码体制或数据处理的方式上进行分类,还可以按使用场景分类。分类主要是为了密码在应用时不被误用。
(1)按时间分类
从时间上可以将密码学分为古典密码学、机械密码学(近代密码学)和现代密码学三个类别。当前的信息化应用建设中只使用现代密码学中的算法。
(2)按密码体制分类
从密码体制上可以将密码学分为对称密码算法、非对称密码算法和杂凑算法。对称密码算法的加密/解密均采用同一个密钥;非对称密码算法采用两个密钥,即私钥加密,公钥解密;杂凑算法不需要密钥,它对给定的信息计算出固定长度的杂凑值或者信息指纹。
(3)按数据处理方式分类
根据数据处理的方式可以将密码学分为块加密(也称为分组加密)和流加密。块加密通常要对数据进行分组和填充等操作;流加密是对密钥和明文数据位的异或处理。
(4)按使用场景分类
根据密码学的使用场景可以将密码学分为密码技术类、密码服务类和密码协议类。密码技术类通常是以各个密码算法为主;密码服务类现阶段主要是指公钥基础设施PKI;密码协议类目前根据商用密码规范主要有SSL协议和IPSec协议两个。这些内容在后面的章节中会进行详细介绍。