密码学完整理论知识详解|古典密码 / 对称 / 非对称 / PKI 全体系梳理

发布时间:2026/6/27 7:56:28
密码学完整理论知识详解|古典密码 / 对称 / 非对称 / PKI 全体系梳理
文章摘要本文完整梳理密码学全套核心理论知识覆盖古典密码、对称分组密码、非对称公钥密码、密钥交换、CRT、数字签名、PKI 数字证书、Shamir 门限秘密共享全模块适合计算机专业学习、网络安全面试、密码学入门阅读。密码体制基础分类对称密码与非对称密码体制核心区别密钥持有规则 对称密码通信双方共享同一把密钥双方密钥完全一致非对称密码每个用户持有一对独立密钥分为对外公开的公钥、仅个人保管的私钥公私钥成对生成无法互相推导。密钥分发方式 对称密码密钥不能在公网明文传输必须线下安全交换多人场景下密钥分发、管理成本极高非对称密码中公钥可任意公开传输攻击者截获公钥也无法推导私钥仅需保护私钥本地存储安全。运算性能差异 对称密码仅包含异或、置换、查表等简单运算计算开销极低加解密速度快适合大文件、海量业务数据加密非对称密码依赖大数模幂运算计算逻辑复杂、运行速度慢仅适用于短数据加密、密钥协商、数字签名场景不适合大批量明文加密。安全服务能力 对称密码双方共用密钥无法区分消息发送人不具备不可否认能力非对称密码私钥唯一归属持有者可同时实现身份认证、数据完整性校验、不可否认三类安全能力。典型代表算法 对称密码代表DES、3DES、AES 非对称密码代表RSA、ElGamal、ECC 椭圆曲线密码。古典密码凯撒密码、维吉尼亚密码原理与局限性凯撒密码单表替换密码加密原理设置固定移位数值 k将 26 个英文字母循环平移完成加密数学表达式 C(Pk)mod26。例如移位数值为 3 时字母 A 对应 D字母 Z 对应 C。局限性移位取值仅有 0~25 共 26 种可能性暴力穷举即可快速破解单表替换不会改变原文固有的字母出现频率通过字母频率统计分析可直接破译密文。维吉尼亚密码多表替换密码加密原理使用自定义密钥字符串明文按照密钥长度分组每一组明文分别使用不同移位规则的凯撒密码加密一组密钥对应多张字母替换表。 局限性密钥长度较短时卡西斯基试验可精准计算出密钥长度确定密钥长度后将密文分组开展频率分析就能完整还原密钥计算机算力提升后短密钥场景可直接暴力破解。Kerckhoffs 柯克霍夫安全原则原则定义一套密码系统的整体安全性只能完全依靠密钥的保密性加密算法、内部结构、硬件实现、通信协议流程全部可以对外公开不能依靠隐藏算法来保障系统安全。公开算法细节的核心意义算法公开后全球密码学者、安全厂商可持续审计代码与逻辑底层隐藏漏洞会快速暴露并完成修复依靠隐藏算法的隐蔽式安全存在致命风险一旦算法泄露整套加密系统直接失效若仅密钥泄露只需更换新密钥即可恢复安全公开算法便于行业标准化统一实现不同厂商设备可互通同时方便第三方安全审计减少人为植入后门的风险。三类密码攻击模型攻击能力由弱到强唯密文攻击攻击者仅能捕获密文数据没有任何明文、明文 - 密文配对样本攻击难度最高已知明文攻击攻击者掌握多组明文与对应密文的配对数据可利用配对信息反向推导密钥攻击难度大幅降低选择明文攻击攻击者可主动自定义任意明文发送给加密程序并主动获取对应密文可控输入输出攻击能力最强现代商用标准密码算法必须能够抵抗该类型攻击。基础速记要点非对称密码可实现不可否认对称密码不支持该安全特性Kerckhoffs 原则核心结论密码系统安全仅依赖密钥保密凯撒密码属于单表替换密码维吉尼亚密码属于多表替换密码攻击强度排序选择明文攻击 已知明文攻击 唯密文攻击。对称分组密码体系DES 核心知识点基础参数 DES 分组长度固定 64bit输入密钥总长 64bit其中仅 56bit 为有效运算密钥剩余 8bit 仅用于奇偶校验不参与加密计算整体采用经典 Feistel 菲斯泰尔结构完整执行 16 轮迭代变换。Feistel 单轮完整运算流程 将 64bit 明文分组拆分为左 32 位 L、右 32 位 R 右侧 32 位 R 送入 F 函数依次执行扩展置换、S 盒非线性替换、P 置换 F 函数输出结果与当前轮子密钥做异或运算 异或结果与左侧 L 再次异或生成新一轮右半部分 原始右侧 R 直接作为新一轮左半部分单轮变换完成。 补充说明S 盒是 DES 唯一非线性组件核心作用是抵抗线性、差分密码分析。DES 安全性不足的核心原因 有效密钥仅 56bit密钥空间过小普通家用电脑、分布式算力集群可在短时间内暴力穷举全部密钥差分密码分析、线性密码分析等成熟密码分析手段可高效破解 DES硬件算力逐年提升穷举攻击成本极低无法满足金融、互联网等高安全等级场景需求。3DES 三重 DES 原理与安全提升逻辑运算流程对明文连续执行三次 DES 运算标准公式 CEk3​(Dk2​(Ek1​(P)))遵循加密 - 解密 - 加密三层迭代逻辑。两种主流密钥模式 三密钥 3DESK1、K2、K3 三组密钥完全独立有效密钥长度 168bit双密钥 3DESK1 与 K3 数值相同仅 K2 独立有效密钥长度 112bit。安全增强逻辑通过多次迭代 DES 成倍扩大密钥空间大幅提升暴力穷举攻击的计算成本弥补单 DES 56 位密钥过短的致命缺陷。AES 高级加密标准完整理论基础参数 AES 全局固定分组长度 128bit所有版本分组长度保持不变支持三种密钥长度128bit、192bit、256bit加密迭代轮数一一对应AES-128 使用 10 轮AES-192 使用 12 轮AES-256 使用 14 轮。AES 四轮基础变换操作及作用 SubBytes 字节替换非线性变换使用固定 S 盒替换状态矩阵每一个字节引入混淆特性抵抗线性、差分密码分析 ShiftRows 行移位对状态矩阵每一行循环左移横向打乱字节位置实现数据扩散效果 MixColumns 列混合在有限域 GF (2⁸) 下对矩阵每一列做矩阵乘法纵向扩散数据单个字节改动会影响整列全部数据 AddRoundKey 轮密钥加状态矩阵与当前轮独立子密钥逐字节异或是整个加密流程唯一引入密钥信息的操作。AES 不属于 Feistel 结构的原因 Feistel 结构会将明文分组拆分为左右两半仅右半部分送入 F 函数运算AES 完整 128bit 状态矩阵全部参与每一轮变换不存在二分拆分逻辑AES 属于 SPN 置换 - 置换网络结构。对称密码速记要点DES 分组 64bit有效密钥 56bit16 轮 Feistel 迭代MixColumns 是 AES 独有操作DES 不存在该步骤AES 固定分组 128bit三种密钥对应 10/12/14 轮迭代AddRoundKey 是 AES 唯一引入密钥的轮操作。RSA 公钥密码理论体系RSA 安全数学基础安全性依托大整数素因子分解难题两个大素数相乘得到大合数计算简单反向将超大合数拆解为两个原始素数计算量呈指数级增长现有通用算力无法在有效时间内完成分解。RSA 完整密钥生成流程随机选取两个数值不相等的超大素数 p、q计算模数 n p × q欧拉函数 φ(n) (p-1)(q-1)选取公钥指数 e满足约束条件1eφ(n)且 e 与 φ(n) 最大公约数为 1求解私钥 d满足同余等式 (e×d)modφ(n)1 最终对外公开公钥(e,n)本地保存完整私钥(d,p,q,n)。公钥指数 e 默认选用 65537 的原因65537 数值等价 2161属于费马素数二进制仅包含两个比特 1模幂运算循环次数少计算速度更快作为费马素数极少出现与 φ(n) 不互质的情况密钥生成成功率高可有效抵御低指数广播攻击同时兼顾运算效率与安全强度。e 取值过小如 e3的安全漏洞低指数广播攻击同一明文使用 e3 加密发送给 3 个不同用户攻击者获取三份密文后可直接开立方还原完整明文立方根攻击无额外防护的短指数 RSA 可直接暴力求解明文加密安全性完全失效。CRT 中国剩余定理加速 RSA 解密原理常规解密公式 MCdmodn模数 n 数值极大模幂运算耗时严重拆分模数分别计算 Mp​Cdmodp、Mq​Cdmodq利用费马小定理缩小指数规模将 d 对 p-1、q-1 取模大幅降低幂运算计算量通过 CRT 合并Mp​与Mq​得到最终明文 M拆分后运算数值远小于原始模数 n解密速度可提升 3~4 倍。RSA 速记要点RSA 基于大整数分解难题DH、ElGamal 基于有限域离散对数公钥由 (e,n) 组成私钥核心数值为 d求解私钥模 φ(n)而非模 nCRT 仅优化 RSA 解密流程加密运算不使用 CRT。中国剩余定理 CRTCRT 核心思想若一组模数两两互质任意一组余数组合都存在唯一最小正整数解可将超大数模运算拆分为多个小数独立模运算计算完成后合并结果大幅降低整体运算开销。示例讲解求解同余方程组x ≡ 2 (mod 3)x ≡ 3 (mod 5)x ≡ 2 (mod 7)通过 CRT 计算可直接得到最小正整数解 x23。CRT 使用前置条件参与计算的所有模数必须两两互质模数不互质时方程组无唯一解无法直接使用 CRT 完成计算。CRT 在密码学中的全部应用场景RSA、ElGamal 解密运算加速Shamir 门限秘密共享方案的秘密恢复椭圆曲线 ECC 底层快速运算优化零知识证明、同态加密系统底层大数运算盲签名、电子投票等安全协议。CRT 速记要点CRT 使用前提所有模数两两互质密码学最经典用途加速 RSA 解密运算AES 全部轮变换不涉及 CRT 相关运算。Diffie-Hellman 密钥交换协议协议核心作用通信双方在无安全保障的公网环境协商出完全一致的会话共享密钥无需线下提前交换密钥。DH 安全基础有限域离散对数难题 DLP已知公共参数 g、大素数 p、公钥ygxmodp攻击者无法在合理时间反向求解出私钥 x。DH 完整协商流程通信双方提前约定全局公共参数大素数 p、有限域本原元 gA 随机生成私钥 a计算公钥Agamodp明文发送给 BB 随机生成私钥 b计算公钥Bgbmodp明文发送给 AA 使用自身私钥 a 与对方公钥 B 计算共享密钥 KBamodpB 使用自身私钥 b 与对方公钥 A 计算共享密钥 KAbmodp数学推导保证双方最终得到完全相同的会话密钥。中间人攻击原理与解决方案攻击原理攻击者拦截 A、B 互相传输的公钥替换为自己生成的伪造公钥攻击者分别与 A、B 建立两组独立密钥全程窃听、篡改双方通信内容通信双方无法识别攻击者身份。解决办法引入 PKI 数字证书对公钥持有者身份绑定认证使用 STS 带签名认证的改进 DH 协议通信双方预先配置静态共享密钥验证对方身份合法性。DH 速记要点DH 协议仅用于密钥协商不加密文件、不生成数字签名原生 DH 无身份认证机制无法抵御中间人攻击公共参数 p、g 全网公开私钥 a、b 本地保密。ElGamal 密码体制ElGamal 安全基础有限域离散对数难题 DLP底层数学难题与 DH 密钥交换协议完全一致。密文结构与长度变长原因ElGamal 加密输出密文为二元组(c1​,c2​)加密过程会生成一次性随机数 k两组密文计算公式c1​gkmodpc2​m⋅ykmodp一份原始明文会生成两段与模数长度相同的大数密文整体体积翻倍因此密文长度远大于原始明文。ElGamal 关键特性每次加密必须更换随机数 k若多次加密使用同一个 k会泄露明文完整信息属于非对称公钥密码同时支持数据加密、数字签名两种业务场景。ElGamal 速记要点ElGamal 密文是二元组 (c1,c2)密文长度大于明文安全基础为有限域离散对数 DLP。ECC 椭圆曲线密码ECC 安全数学基础椭圆曲线离散对数难题 ECDLP同等模数长度下ECDLP 破解难度远高于 RSA 大整数分解、普通有限域离散对数问题。ECC 对比 RSA 四大核心优势同等安全强度下密钥长度更短256bit ECC 安全强度等价 2048bit RSA加解密、签名验证计算开销更小整体运算速度更快密文、签名输出数据长度短网络传输带宽占用更低存储、硬件资源需求极低适配物联网设备、智能卡、移动端嵌入式设备。ECC 速记要点ECC 属于非对称公钥密码安全基础为 ECDLP安全等级对照256 位 ECC ≈ 2048 位 RSA。数字签名与 MAC 消息认证码数字签名三大核心安全服务身份认证验证消息发送者真实身份攻击者无法伪造合法签名数据完整性消息任意字节发生篡改签名验证直接失败可快速检测数据改动不可否认私钥仅签名人独自持有发送方无法否认自己发送过该消息。数字签名与 MAC 消息认证码根本区别密钥体系MAC 基于对称共享密钥收发双方密钥完全一致数字签名使用非对称密钥私钥签名、公钥验证公私钥相互分离不可否认能力MAC 无不可否认特性持有共享密钥的双方均可伪造消息数字签名私钥唯一归属签名人具备不可否认安全能力验证权限MAC 仅持有共享密钥的双方可校验数据数字签名公钥对外公开任何人都能完成签名合法性验证。签名与 MAC 速记要点MAC 不具备不可否认特性数字签名同时提供完整性、身份认证、不可否认数字签名使用私钥生成公钥仅用于校验签名。PKI 公钥基础设施与 X.509 数字证书X.509 数字证书核心字段版本号、证书序列号、签名算法标识、签发 CA 机构名称、证书有效期起止时间、证书持有者主体名称、持有者公钥、CA 机构数字签名、扩展字段密钥用途、CRL 吊销地址等。PKI 完整核心组件CA 证书颁发机构、RA 注册机构、证书存储库、CRL 证书吊销列表、终端用户实体。CA 机构核心职责签发合法数字证书、管理证书完整生命周期、生成可信根证书、对证书内容签名、处理证书吊销、维护全网信任链路。RA 机构核心职责核验用户真实身份、受理证书申请、接收证书注销请求并转发给 CARA 仅负责注册审核不具备签发证书的权限。证书链定义与浏览器信任网站完整流程证书链定义由站点业务证书、多级中间 CA 证书、根 CA 证书逐级串联组成每一级证书都由上级 CA 签名形成完整可信信任链路。浏览器信任网站完整流程网站服务器向浏览器返回完整证书链浏览器内置预装可信根证书库从站点证书向上逐级校验每一级 CA 的数字签名校验证书未过期、未被吊销、全部签名合法且链路终点匹配浏览器内置可信根证书则信任该网站。PKI 速记要点CA 负责签发证书RA 仅审核用户身份不能签发证书证书链逐级向上追溯最终匹配浏览器内置可信根证书才能完成信任校验。密钥管理与 Shamir 门限秘密共享密钥管理完整生命周期密钥生成、密钥分发、安全存储、密钥使用、密钥定期更新、密钥备份、密钥吊销、密钥销毁。密钥安全最佳实践私钥隔离存储使用硬件加密机、专用密钥管理器保管禁止明文存放定期轮换密钥长期主密钥拆分临时会话密钥使用密钥分发全程加密传输杜绝密钥以明文形式在网络传输。Shamir (t,n) 门限秘密共享基本思想将一段原始秘密拆分为 n 份子秘密分片分配给 n 个参与人员分别保管。(t,n) 门限含义集齐大于等于 t 份分片就可以完整还原原始秘密如果持有的分片数量少于 t 份无法获取任何和秘密相关的有效信息。底层数学原理基于有限域上的拉格朗日插值多项式构造 t-1 次多项式原始秘密作为多项式常数项每个参与者获得多项式上一组坐标点至少收集 t 个坐标点通过插值还原完整多项式提取常数项得到原始秘密。秘密共享速记要点(t,n) 门限规则最少集齐 t 份分片才能恢复完整秘密Shamir 秘密共享依托有限域拉格朗日插值多项式实现。