Skip to content

一次一密

One-time pad · Vernam cipher

使用与消息等长的均匀随机密钥并只使用一次的异或加密方案。

条目类型
模型

形式陈述

一次一密是对称加密方案中达到完美保密的基本实例。令消息空间、密钥空间和密文空间均为有限 G;其底层载体因而是有限集合。密钥 KG 上均匀选择且只使用一次,加密与解密为

C=MK,M=CK1.

对任意 m,cG,恰有一个密钥 k=m1cm 映到 c;因此每个固定明文诱导同一均匀密文分布。任意两条固定消息的密文分布总变差距离为 0,即达到完美统计不可区分。位串版本取 G=({0,1}n,),此时加密写作 C=MK

直觉

一次一密用与消息等长的均匀独立密钥逐位异或。对同一密文,每个候选明文都恰好配有一个唯一且等可能的密钥,因此给定任意明文时密文均匀分布,观察密文不会改变候选明文之间的相对概率。安全来自密钥熵和一次性使用,而不是 XOR 运算本身;同一密钥复用会让两个密文异或消去密钥,暴露明文间关系。它达到信息论完美保密,却把困难转移到密钥生成、分发与存储。

一次一密的异或加密与恢复
例子与边界

密钥必须均匀、秘密、覆盖整个消息群且绝不复用。Vernam 异或只是运算形式,缺少一次性均匀密钥时不构成一次一密。

加密 c=mk,解密 m=ck。对固定密文 c 和任意候选明文 m,都存在唯一密钥 k=cm,且均匀密钥下概率相同,因此密文不改变明文后验。

若两条位串消息复用密钥,就会泄露 c1c2=m1m2,自然语言冗余常可被利用恢复内容。密钥有偏、长度不足、重复或可预测都会破坏完美保密;OTP 也没有完整性,攻击者翻转密文中的 bit 会翻转对应明文 bit。

推论与应用

一次一密是 完美保密 的典型实现,并达到 Shannon 密钥下界 的密钥长度极限;代价是必须预先安全分发并存储与消息等量的独立密钥材料。流密码 可视为用短密钥生成伪随机长密钥流的计算安全替代,但不再具有无条件安全;认证还需 MAC 或 AEAD。

参考资料
  • Dan Boneh and Victor Shoup, A Graduate Course in Applied Cryptography, version 0.6, 2023, Chapter 2.
  • Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, 3rd ed., CRC Press, 2020, Chapter 2.
关系图谱10 个相邻概念 · 1 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组