形式陈述
安全参数是一个自然数 公理库 自然数模型 Natural numbers · Peano system 由零元、后继和二阶归纳原则范畴性刻画的离散数系模型。 λ ∈ N ,用来共同索引密码算法、密钥空间、问题实例和攻击资源组成的族。密钥生成等算法通常写成
( s k , p k ) ← Gen ( 1 λ ) , 其中 1 λ 是长度为 λ 的一元字符串。这样,一个在输入长度上多项式时间的算法拥有 poly ( λ ) 的运行预算,而不是只有 poly ( log λ ) 。一元输入是一种复杂度记账约定,不提供随机性,也不是困难性假设。
实际系统参数可以是 λ 的函数:密钥长度 ℓ ( λ ) 、群或模数大小、格维数、噪声分布参数与重复次数都可能按构造分别增长。它们无须在数值上等于 λ 。关于概率与运行时间的结论用渐近记号 公理库 渐近记号 Asymptotic notation · Big O notation 忽略常数和低阶项,比较函数在输入趋于无穷时的增长速度。 随 λ 表达;概率多项式时间对手和可忽略优势的完整量词由下游安全定义给出。
直觉
固定一把密钥只能回答“这个实例目前有多难”,难以支持对所有规模统一成立的理论结论。安全参数把单个系统扩展为一列系统:尺度增大时,诚实算法花费多少资源、攻击者可使用多少资源、失败概率怎样下降,都沿同一根坐标轴比较。于是安全不再是某次测试中的经验判断,而可以成为算法族之间的渐近陈述。
这根坐标轴并不直接等于任何物理尺寸。一个方案可能让对称密钥长度近似线性增长,另一个方案同时调整模数位数和噪声维数;两者仍可用同一个 λ 编排证明。把“安全参数”保留为抽象索引,才能区分证明中的尺度与实现选择出的具体参数表。
例子与边界
设 Gen ( 1 λ ) 使用随机性输出长度为 ℓ ( λ ) 的密钥,其中 ℓ 是某个明确给出的函数。加密、解密与攻击实验都接收或隐含同一 λ ,所以运行时间与事件概率可以写成关于 λ 的函数。若方案后来为满足正确性把密文重复次数设为 t ( λ ) ,这是另一个派生参数,不会把 t 变成新的安全参数。
部署中写下“使用 128-bit 密钥”只是选择了算法族的一个固定实例。常数 128 本身不会趋向无穷,因而该实例的攻击成功率不是自动意义下“关于 λ 的可忽略函数”;工程安全还需估计具体成本与攻击面。反过来,把参数从 128 增到 256 也不自动意味着攻击成本精确平方或指数翻倍,增长规律取决于方案、已知算法和底层假设。
1 λ 只让输入长度与尺度一致。它没有声明密钥长度、没有保证生成器安全,也不能阻止算法忽略输入后输出固定常量。任何安全性质都必须在明确的实验和对手模型中另行陈述。
推论与应用
可忽略函数 公理库 可忽略函数 Negligible function 比任意逆多项式最终更小的非负函数。 以 λ 为自变量描述最终比任意逆多项式更小的概率;计算安全 公理库 计算安全 Computational security 仅要求任何资源受限攻击者的成功优势足够小的安全概念。 则把对手资源与优势都参数化后量化。单向函数、伪随机生成器、加密、认证码与数字签名都依赖同一结构:先定义随 λ 变化的对象族,再对所有足够大的参数讨论高效对手。
实现标准通常把抽象安全级别映射到若干具体参数组合。这种映射需要考虑算法进展、归约损失与平台成本,不能从 λ 的符号机械读出。安全参数提供统一语言,但不会替代具体安全估算、密钥生命周期或侧信道防护。
参考资料
Dan Boneh and Victor Shoup, A Graduate Course in Applied Cryptography , version 0.6, 2023,§2.3, security parameters and asymptotic security。
Oded Goldreich, Foundations of Cryptography, Volume 1: Basic Tools , Cambridge University Press, 2001,§1.2, computational difficulty and security parameters。