密码学概况
密码学发展简况
密码学特性:1.保密性 2.完整性 3.可用性 4.抗抵赖性
混乱:密钥与密文之间的关系尽可能复杂 (把内容替换)
扩散:隐藏明文的统计特性(换位置)
密码安全性分析
| 攻击类型 | 攻击前提条件 |
|---|---|
| 唯密文攻击 | 密码分析者只拥有一个或多个用同一个密钥加密的密文,无其他可用信息。 |
| 已知明文攻击 | 密码分析者知道当前密钥下的部分明文,以及这些明文对应的密文。 |
| 选择明文攻击 | 密码分析者可以自行选定明文,并获取在当前密钥下,该明文加密得到的对应密文。 |
| 密文验证攻击 | 对于任意选定的密文,密码分析者仅能够获取该密文是否合法的判定结果。 |
| 选择密文攻击 | 除挑战密文以外,密码分析者可以获取任意自己选定密文所解密出来的对应明文。 |
密码体制分类
私钥密码体制
| 私钥密码 | 说明 |
|---|---|
| 密钥数量问题 | n 个用户两两共享密钥,密钥总数为n (n—1) /2;用户数量大时,密钥数量爆炸难以处理 |
| 主要缺陷 | 1. 密钥分配问题 2. 密钥管理问题 3. 无法认证源 |
| 主要优点 | 运算速度快,多用于数据加密处理 |
| 典型算法 | DES、3DES、IDEA、AES、RC4、SM4 |
公钥密码体制
| 公钥密码 | 说明 |
|---|---|
| 密钥数量问题 | n 个用户,每人 1 对公私钥,仅需 n 对密钥;用户规模大时密钥数量可控 |
| 主要缺陷 | 算法运算速度慢,不适合大批量数据加密 |
| 主要优点 | 解决密钥分配难题;可实现来源认证(数字签名) |
| 典型算法 | RSA、ELGamal、椭圆曲线密码、SM2 |
混合密码体制
| 步骤 | 操作主体 | 执行内容 |
|---|---|---|
| 一 | Alice | 使用对称密钥对原始消息进行加密 |
| 二 | Alice | 使用 Bob 的公钥加密该对称密钥,生成数字信封;将加密消息与数字信封一同发送给 Bob |
| 三 | Bob | 使用自身私钥解密数字信封,得到加密消息所用的对称密钥 |
| 四 | Bob | 使用解密得到的对称密钥,解密加密消息,还原原始消息 |
常见密码算法
DES
EK() 和DK ()代表DES 算法的加密和解密过程
TDEA 的加密操作过程如下:
TDEA 的解密操作过程如下:
RSA
RSA 密钥生成步骤:
| 步骤 | 操作内容 | 说明 | 例:p=3,q=17,e=13 |
|---|---|---|---|
| 一 | 生成两个大素数 p、q | 必须足够大,保证分解 n 计算不可行 | p=3,q=17 |
| 二 | 计算 n=pq | n 为公钥组成部分 | n=3×17=51 |
| 三 | 计算欧拉函数 φ(n)=(p−1)(q−1) | 小于 n 且与 n 互素整数的个数 | φ(n)= (3-1)(17-1) = 32 |
| 四 | 选取随机数 e:1<e<φ(n),gcd(e,φ(n))=1 | e 为公钥,与φ(n)互素 | e=13 |
| 五 | 计算 d=e^−1modφ(n) | d 是 e 在模φ(n)下的模逆元,私钥 | d=5 |
| 六 | 保密:d、p、q;公开:n、e | 公钥(n,e),私钥d | 公钥(51,13),私钥d=5 |
RSA 加解密过程:
| 运算类型 | 公式 | 说明 | 实例:明文 M=2 |
|---|---|---|---|
| 加密 | C=M^e mod n | 使用公钥(n,e)加密 | C=2^13mod51=32 |
| 解密 | M=C^d mod n | 使用私钥d解密 | M=3^25mod51=2 |
基于安全性,n长度至少1024比特 ,基于长期安全性,n长度至少为2048或者是616位的十进制数
*常见密码算法汇总
| 算法名称 | 算法类型 | 分组长度 | 密钥长度 | 关键说明 |
|---|---|---|---|---|
| DES | 对称(分组密码) | 64 比特 | 56 比特 | IBM 研制;暴力破解可攻破,已淘汰;TDEA (3DES) 为过渡替代方案 |
3DES (TDEA) | 对称(分组密码) | 64 比特 | 112/168 比特 | DES 过渡增强算法;加密‑解密‑加密工作模式;NIST 过渡期标准 |
| IDEA | 对称(分组密码) | 64 比特 | 128 比特 | 来学嘉、Massey 提出;应用于 PGP;混合不同代数群运算 |
AES (Rijndael) | 对称(分组密码) | 128 比特 | 128/192/256 比特 | NIST 征集选定 Rijndael;公开免费全球使用,现行标准 |
| RSA | 非对称公钥密码 | — | 密钥模 n 建议≥2048 比特 | 基于大整数因子分解难题;可加密、签名;用于 SSH、TLS、OpenPGP |
| SM1 | 对称(分组密码) | 128 比特 | 128 比特 | 国密算法,不公开算法细节 |
| SM2 | 非对称(椭圆曲线) | — | 256 比特(素数域) | 国密;支持加密、密钥交换、数字签名;同等安全下密钥短 |
| SM3 | 密码杂凑算法 | — | 输出杂凑值 256 比特 | 国密哈希算法,消息摘要输出 256bit |
| SM4 | 对称(分组密码) | 128 比特 | 128 比特 | 国密;32 轮迭代;解密仅轮密钥顺序与加密相反 |
| SM9 | 标识密码算法 | — | — | 国密标识密码;公钥由用户标识确定,简化证书密钥管理 |
| MD5 | 密码杂凑(哈希)算法 | 512 比特分组 | — | 输出摘要128 比特;产生碰撞,安全性失效;仅可做校验,禁止用于签名认证 |
| SHA‑1 | 密码杂凑(哈希)算法 | 512 比特分组 | — | 输出摘要160 比特;已出现碰撞攻击,逐步淘汰;曾经广泛用于数字签名 |
SHA‑256 (SHA‑2) | 密码杂凑(哈希)算法 | 512 比特分组 | — | 输出摘要256 比特;SHA‑2 系列,安全可靠;广泛用于签名、区块链、完整性校验 |
数字签名
数字签名条件:(1)非否认性 (2)真实性 (3)可鉴别性
密码管理与数字证书
密码管理:1.密钥管理 2.密码管理政策 3.密码测评
密钥管理
| 环节 | 核心内容 | 关键要求 |
|---|---|---|
| ① 密钥生成 | 由密码产品 / 工具按标准产生;确定密码算法、密钥长度 | 同步记录关联信息:拥有者、起止使用时间等 |
| ② 密钥存储 | 不应明文存储保管 | 采取严格防护措施,防止非授权访问、篡改 |
| ③ 密钥分发 | 通过安全通道传递给接收者 | 防止截取、篡改、假冒;保证机密性、完整性、真实性;方式:人工 / 自动化 / 半自动化,自动化用密钥交换协议 |
| ④ 密钥使用 | 按用途正确使用,与密码产品保持一致,安全合规 | 使用前验证密钥有效性(如证书);防止泄露、替换;按策略及时更换;建立应急响应机制 |
| ⑤ 密钥更新 | 超过使用期限、泄露、算法缺陷时更新 | 按安全策略更新,保障密码系统有效性 |
| ⑥ 密钥撤销 | 到期、密钥增强、安全应急事件时撤销 | 撤销后一般不重复使用,避免系统受损 |
| ⑦ 密钥备份 | 按安全策略采用可靠机制备份 | 与存储要求一致;保障机密性、完整性、可用性 |
| ⑧ 密钥恢复 | 密钥丢失或损毁时,通过备份恢复系统正常运行 | 依赖备份机制支撑 |
| ⑨ 密钥销毁 | 按策略销毁密钥 | 销毁过程不可逆,无法恢复;特殊支持用户密钥恢复和司法密钥恢复 |
| ⑩ 密钥审计 | 记录密钥生命周期相关活动 | 确保安全合规,违规情况可查可追溯 |
密码管理政策
| 政策类别 | 内容要点 |
|---|---|
| 《商用密码管理条例》 | 管理商用密码科研生产、销售、使用、安全保密 |
| 《密码法》 | 密码分核心密码、普通密码、商用密码三类管理;核心 / 普通密码保护国家秘密;商用密码保护非涉密信息,社会主体可依法使用 |
| 国密行业标准 | 规范商用密码产品设计、实现、应用;包含电子认证、密码模块、数据库、防火墙、操作系统等密码检测相关规范 |
密码测评
密码测评是指对相关密码产品及系统进行安全性、合规性评估,以确保相关对象的密码安
全有效,保障密码系统的安全运行。