[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fORLodtro-CQjv16_SMDiAwAvGvyIP_M5b8txbqO4RVg":3},{"item":4,"related":44},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":35,"sourceName":35,"sourceUrl":36,"status":37,"seoTitle":7,"seoDescription":9,"canonicalUrl":38,"isFeatured":39,"sno":40,"sortOrder":41,"publishedAt":42,"updatedAt":43,"createdAt":43},"c1e186c2-b727-4b08-8840-185a633d2279","article","HPKE：公开密钥怎样和高速对称加密搭配工作？","hpke-hybrid-public-key-encryption","HPKE 把密钥封装机制、密钥派生函数和认证加密算法组合起来，让发送者能面向接收者公钥加密一段消息。本文拆解三块组件各自做什么，并说明 HPKE 是加密构件而非一整套传输协议。","用公开密钥加密一条很长的消息，听上去像是把数学难题直接应用在每个字节上。但现代密码系统常用组合思路：非对称密码负责让发送者和接收者建立共享密钥，对称密码负责高效加密大量数据。HPKE（Hybrid Public Key Encryption）把这套组合整理成可复用的标准框架。\n\n## 三块组件，各司其职\n\nHPKE 通常由三部分构成。KEM（密钥封装机制）让发送者利用接收方公钥生成一个共享秘密，并产生对应的封装信息；KDF（密钥派生函数）把这个秘密加工成后续使用的密钥；AEAD（带认证的加密算法）则用派生密钥加密消息，同时检测密文是否被篡改。\n\n发件人可以把它想象成寄送一只上锁的信封。KEM 像是只给收件人准备一把双方能算出的临时钥匙，并把“如何得到钥匙”的封装件附在包裹上；KDF 把原材料导出为合适的钥匙；AEAD 再用这把钥匙封住实际内容，并附上防拆校验。接收人凭私钥恢复共享秘密，执行相同派生过程，便能验证并解开消息。\n\nHPKE 还定义不同使用模式，例如面向接收者公钥的基础模式，以及带发送者认证、预共享密钥等扩展模式。应用可以通过附加上下文绑定消息用途或会话信息，避免把同一段密文错误地搬到另一个协议场景中。\n\n## 有框架，不等于有完整协议\n\nHPKE 负责提供加密构件，但不会替应用定义网络握手、用户身份、证书信任、重放防护、密钥轮换或错误处理。开发者仍要选定兼容的算法套件并遵循协议上下文。若同一密钥被错误复用、身份绑定被忽略，底层加密算法正确也无法挽救上层设计。\n\n“混合”在这里主要指公钥机制与高效对称加密协作，不代表它天然是后量子安全。具体安全属性要看所选 KEM、KDF 和 AEAD，以及密钥长度、实现质量与威胁模型。HPKE 也不是 TLS 或 VPN 的替代品，而是可以嵌入更大协议的消息加密方案。\n\n它的意义，是把常见的公钥封装、密钥派生和认证加密流程标准化，减少每个项目自行拼装密码组件的风险。使用时仍应让成熟协议库处理细节，并把认证、上下文和密钥生命周期一并设计好。\n\n来源：[IETF RFC 9180：Hybrid Public Key Encryption](https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc9180.html)","\u002Fuploads\u002F2026-10-17\u002F5d4838c2-f5ad-41be-bc27-6dbfc3020dfc.jpg",[],[],"Foundit","https:\u002F\u002Ffoundit.cn","foundit-ai-editorial",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31],{"id":24,"name":25,"slug":26},"7c76bfc2-f80f-4ee0-a95d-27bd8708b434","技术","slug",{"id":28,"name":29,"slug":30},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse",{"id":32,"name":33,"slug":34},"a202d639-99a6-488a-a712-4d4c6ffd7e15","开发","dev","IETF RFC 9180","https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc9180.html","published",null,false,60,0,"2026-10-17T00:00:00.000Z","2026-10-17T03:08:48.789Z",[45,54,62],{"id":46,"type":6,"title":47,"slug":48,"summary":49,"coverUrl":50,"authorName":14,"sno":51,"publishedAt":52,"createdAt":53},"9ccde95c-d754-4808-91f7-488f392e3eeb","你的品牌在AI眼里到底存不存在？这套系统说了算","automated-geo-monitoring-system","靠手动抽查来验证GEO效果，本质上是在跟概率玩游戏。赢一次，不代表能一直赢。","\u002Fuploads\u002F2026-08-07\u002Fdf111c0d-f14a-4b2a-8347-141e96b71654.jpg",1,"2026-08-07T00:00:00.000Z","2026-08-07T04:31:30.843Z",{"id":55,"type":6,"title":56,"slug":57,"summary":58,"coverUrl":59,"authorName":14,"sno":60,"publishedAt":42,"createdAt":61},"9865c835-21fc-4f74-b154-19c054173557","fscrypt：只给手机里的某个文件夹加密，系统怎么做到？","linux-fscrypt-file-based-encryption","Linux fscrypt 在支持的文件系统中为目录树、文件内容和文件名提供文件级加密。它与整盘加密保护的范围不同，也不会隐藏所有文件系统元数据；本文从解锁密钥说到备份与恢复的边界。","\u002Fuploads\u002F2026-10-17\u002Fdec803fe-0da3-4a9e-8ffc-47427cf599d6.jpg",41,"2026-10-17T03:08:37.641Z",{"id":63,"type":6,"title":64,"slug":65,"summary":66,"coverUrl":67,"authorName":14,"sno":68,"publishedAt":69,"createdAt":70},"56d3ebcb-170a-4f96-9134-ae85fb65542b","DANE\u002FTLSA：DNSSEC 能否帮助验证网站的 TLS 证书？","dane-tlsa-dnssec-tls-authentication","DANE 使用 DNS 中的 TLSA 记录发布与 TLS 服务证书或公钥相关的约束，并依赖 DNSSEC 验证记录来源。本文解释它如何补充信任路径，以及为什么它不等于所有网站都能抛弃 CA。","\u002Fuploads\u002F2026-10-13\u002F8c7d9bf5-62c6-47d4-b8eb-c4db7a21fa61.jpg",42,"2026-10-13T00:00:00.000Z","2026-10-13T02:13:55.563Z"]