密码学中敌手自适应选择消息进行签名询问的“自适应”是什么意思?

您所在的位置:网站首页 复现性是什么意思 密码学中敌手自适应选择消息进行签名询问的“自适应”是什么意思?

密码学中敌手自适应选择消息进行签名询问的“自适应”是什么意思?

2023-04-17 14:57| 来源: 网络整理| 查看: 265

我推荐的翻译是“适应性”。所谓适应性,是指使坏者的选择基于先前收到的信息。与之相对的是所谓的“选择性”(selective)或者“静态”(static)。

————————————————

假设有一个选择性安全*、适用于任意消息的签名算法 {(\mathsf{Gen}',\mathsf{Sign}',\mathsf{Verify}')\text{,}}令安全参数是 {k\text{,}}可以定义新的算法:

\mathsf{Gen} 运行 \mathsf{Gen}' 得到 {(\mathsf{vk}',\mathsf{sk}')\text{,}}然后选择随机的 k 位串 {u\text{,}}输出 {\mathsf{vk}=\mathsf{vk}'} 和 {\mathsf{sk}=(\mathsf{sk'},u)\text{。}}\mathsf{Sign}(\mathsf{sk},m) 运行 \mathsf{Sign}'(\mathsf{sk}',m) 得到 {s'\text{,}}输出{\quad s=\begin{cases} (s',1,u),&\text{若 }m\neq u;\\ (s',2,\mathsf{sk}),&\text{若 }m=u. \end{cases}}\mathsf{Verify}(\mathsf{vk},m,s) 运行并输出 {\mathsf{Verify}'(\mathsf{vk}',m,s')\text{。}}

这里选择性安全定义为这样:使坏者先收到 {\mathsf{vk}\text{,}}然后一次性选择任意多条消息,然后收到所有这些消息的签名,然后就不再能询问签名了,此时使坏者需要伪造签名。也就是说,该定义里的“选择性”只适用于若干次签名询问之间,获得 {\mathsf{vk}\text{、}}询问、伪造三者之间依然是适应性。

你可以看出:如果旧的算法选择性安全,那么新的算法也是选择性安全。归约留作读者习题。

然而新的算法必定不是标准定义里 UF-CMA 安全的(即“适应性安全”),攻击方案如下:

拿到 \mathsf{vk} 后询问 0^{k+1} 的签名,此时必然收到 {(\dots,1,u)\text{。}}询问 u 的签名,此时必然收到 {(\dots,2,\mathsf{sk})\text{。}}使用 \mathsf{sk} 生成 1^{k+1} 的签名并提交。

攻击方案高效且优势为 1。这个攻击方案能够成功,非常依赖于第二次询问是根据第一次询问的结果选择的,即只有适应性使坏者能成功

这个构造说明:如果存在着选择性安全的签名,则存在着选择性安全且不是适应性安全的签名。(注意前置条件目前必不可少:如果 P = NP 则选择性安全和适应性安全都是不可达成的目标。)

一道无聊的读者习题:定义适应性“有 n 轮”(注意并不是说只能查询 n 条消息的签名)的安全性(叫它 n-适应性安全),并证明对任意多项式函数 n = n(k),如果存在着 n-适应性安全的签名,则存在着 n-适应性安全且不是适应性安全的签名。

另一道无聊习题:如果存在着选择性安全的签名,是否存在着适应性安全的签名?

————————————————

上面的构造非常刻意(contrived),没有任何正常的签名算法会这么做,而且我从来没有见过任何“自然”的构造已知是选择性安全且不是适应性安全。很多时候“自然”的方案被证明选择性安全之后,也会在实践中假定它适应性安全(或者在用于做其他构造的时候假定是适应性安全)。然而安全性是非常脆弱、高度非平凡的属性,因此在证明某个算法适应性安全之前,不应任意假设。

我博士入学的第一个研究项目就是适应性安全的属性加密。从理论角度,当然应该寻求适应性安全的方案和适应性安全性的证明。适应性安全也是很有趣的问题,这里我援引 abhi shelat 的话:研究适应性安全是因为炫技令人兴奋。

————————————————

另一个常见的说法是“选择性表明使坏者的选择和收到的信息独立”,这样说相当模糊,严格来说只对确定性使坏者成立。考虑如下的过程:使坏者收到随机矩阵 \mathbf{A} 之后选择随机的 0/1 向量 \mathbf{r} 并选择 {\mathbf{c}=\mathbf{A}\mathbf{r}\text{。}}合适的参数下(令剩余哈希引理成立),使坏者的选择(统计意义下)几乎和 \mathbf{A} 独立,然而这样的使坏者对 \mathbf{c} 的选择仍然是适应性的。这有两种理解:一是计算意义下的问题和知识的概念强烈相关,使坏者知道 \mathbf{r} 是一种巨大的优势;二是“选择性”的正确表述是使坏者的随机数与选择(两个东西在一起)和收到的信息独立。

读者习题:编造一个和上面例子有关的安全性定义,并证明在合适参数的 LWE 假设下,选择性安全成立,但适应性安全完全不成立。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3