原文链接
<<< 第二部分
在本系列文章的第二部分中,我们看到Alice如何能够对自己的 d d d次多项式 P P P在属于Bob的点 s s s上的隐藏 E ( P ( s ) ) E(P(s)) E(P(s)) 做盲求值。我们把这个称为“盲”求值的原因是,Alice在整个过程中不知道 s s s是多少。
然而,这个协议里还缺了点什么。事实上Alice能够计算出 E ( P ( s ) ) E(P(s)) E(P(s)) ,并不保证她会真的把 E ( P ( s ) ) E(P(s)) E(P(s)) 送给Bob,而不送一个完全无关的值。
于是我们需要一个方法来“迫使”Alice正确地遵循协议。我们将在第四部分准确地讲解我们如何做到这一点。在本文中,我们专注讲解为达到这个目标而需要的基本工具。我们称这个工具为系数知识(KC)测试。
之前我们用 g g g表示一个群 G G G的生成器。这个群的阶数为 ∣ G ∣ = p |G| = p ∣G∣=p,并且该群的离散对数解很难。从本文往后,用加法而不是用乘法来表示我们的群会更方便。也就是,对于 a ∈ F p a \in \textbf F_p a∈Fp, a ⋅ g a \cdot g a⋅g 表示把 a a a份 g g g相加的结果。
对于 α ∈ F p ∗ \alpha \in \textbf F_p^* α∈Fp∗ 1,我们把 G G G中的一对元素 ( a , b ) (a,b) (a,b)称为一个 α α α-对,如果 a , b    ≠ 0 a, b \: \: \neq 0 a,b̸=0 并且 b = α ⋅ a b=α \cdot a b=α⋅a。
KC测试过程如下:
现在我们想一下Alice如何才能成功地响应这个挑战。让我们假设她知道 α α α 。在这个情况下,她可以简单地在 G G G 中选择任何 a ′ a' a′,计算 b ′ = α ⋅ a ′ b' = α \cdot a' b′=α⋅a′,然后把 ( a ′ , b ′ ) (a',b') (a′,b′)作为她的新 α α α-对返回。
然而Alice拥有的关于 α α α 的唯一信息就是 α ⋅ a α \cdot a α⋅a 以及G有一个困难的离散对数问题。我们预期Alice无法找到 α α α。
那么她如何才能在不知道 α α α 的情况下成功地响应挑战呢 ?
下面是做这件事的自然方式:Alice简单地挑选某个 γ ∈ F p ∗ \gamma \in \textbf F_p^* γ∈Fp∗,然后用 ( a ′ , b ′ ) = ( γ ⋅ a , γ ⋅ b ) (a',b')=(\gamma \cdot a, \gamma \cdot b) (a′,b′)=(γ⋅a,γ⋅b) 来响应。这里我们有 b ′ = γ ⋅ b = γ α ⋅ a = α ( γ ⋅ a ) = α ⋅ a ′ b'=\gamma \cdot b=\gamma \alpha \cdot a=\alpha(\gamma \cdot a)=\alpha \cdot a' b′=γ⋅b=γα⋅a=α(γ⋅a)=α⋅a′,如此 ( a ′ , b ′ ) (a',b') (a′,b′) 就是所要求的一个 α \alpha α-对。
注意,如果Alice用这个策略来响应,她就知道 a a a 和 a ′ a' a′ 之间的比例,也就是系数 γ \gamma γ,使得 a ′ = γ ⋅ a a'=\gamma \cdot a a′=γ⋅a。
系数知识假设2(KCA)规定了这个情况总是发生,也就是说:
KCA:如果Alice能以一个不小的概率返回一个针对从Bob来的挑战 ( a , b ) (a,b) (a,b) 的有效响应 ( a ′ , b ′ ) (a',b') (a′,b′),那么 她知道 γ \gamma γ ,使得 a ′ = γ ⋅ a a'=\gamma \cdot a a′=γ⋅a。
KC测试和假设将会是第四部分中的重要工具。
你可能想知道我们如何能够用精准的数学术语来表达KCA,具体地说,我们如何把“Alice知道 γ \gamma γ“这个概念用数学定义来正式表达?
可以粗略地这样做:除开Alice,我们还有另一方,称作Alice的提取器。Alice的提取器可以访问Alice的内部状态。
我们然后这样规划KCA:当Alice用一个 α \alpha α-对 ( a ′ , b ′ ) (a',b') (a′,b′) 来成功响应挑战的时候,Alice的提取器输出 γ \gamma γ,使得 a ′ = γ ⋅ a a'=\gamma \cdot a a′=γ⋅a。3
>>> 第四部分
F p ∗ \textbf F_p^* Fp∗ 表示 F p \textbf F_p Fp 的非零元素集。这跟第一部分中 F p ∗ \textbf F_p^* Fp∗ 的描述相同。 ↩︎
在文献中,这被典型地称为指数知识假设,因为传统上这被用在用乘法表达的群中。 ↩︎
完整的正式定义需要给提取器“一点点松弛",它规定Alice成功响应而提取器不输出 γ \gamma γ 的概率可忽略不计。 ↩︎