一、密码学概述
现代密码技术
及应用已经涵盖数据处理过程
的各个环节,如数据加密
、密码分析
、数字签名
、身份识别
、零知识证明
、秘密分享
等。通过以密码学为核心的理论与技术
来保证数据的机密性、完整性、可用性等安全属性。
- 机密性指信息不泄漏给非授权的用户、实体或过程;
- 完整性指数据未经授权不能被改变,即信息在存储或传输过程中保持不被偶然或蓄意的删除、修改、伪造、乱序、重放、插入等操作所破坏;
- 可用性是保证信息和信息系统可被授权实体访问并按需求使用的特性,即当需要时应能存取所需的信息。
这三个性质俗称CIA
。除CIA外,其他安全属性还包括不可否认性、认证性
等。
密码系统的保密性
不依赖于对加密体制
或算法
的保密,而依赖于密钥。
二、密钥体制的分类
根据加密密钥
与解密密钥
的关系,密码体制可分为对称密码体制
和非对称密码体制
。
-
对称密码体制也称单钥或私钥密码体制,其
加密密钥和解密密钥相同
,或实质上等同
,即从一个易推倒出另一个。常见的对称密钥算法包括DES
、3DES
、IDEA
、AES
、RC4
等。 -
非对称密码体制又称双钥或公钥密码体制,其
加密密钥和解密密钥不同
,从一个很难推出另一个。其中,一个可以公开的密钥,称为公开密钥,简称公钥
;另一个必须保密的密钥,称为私有密钥,简称私钥
。典型的公私钥密码算法有RSA
、DSA
、DH
、ECC
和EIGamal
等。
按明文
的处理方式,可以将对称密码体制
分为流密码
和分组密码
。
- 流密码也称为序列密码,是将明文消息按
字符逐位
地加密,连续的处理输入明文,即一次加密一个比特或一个字节。
- 分组密码是将明文按组分成固定长度的块,用同一密钥和算法对每一块加密,每个输入块加密后得到一个固定长度的密文输出块,典型的密码算法有
DES
、IDEA
、AES
、RC5
、Twofish
、CAST-256
、MARS
等。
三、密钥管理
密码的种类繁多,一般可分为以下类型:
- 初始密钥( primary key),又称基本密钥(base key),是由用户选定或系统分配的到的,可在较长的时间(相对会话密钥)内使用;
- 会话密钥( session key)是通信双