PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto

参考文献;

  1. [NY90] Naor M, Yung M. Public-key cryptosystems provably secure against chosen ciphertext attacks[C]//Proceedings of the twenty-second annual ACM symposium on Theory of computing. 1990: 427-437.
  2. [RS91] Rackoff C, Simon D R. Non-interactive zero-knowledge proof of knowledge and chosen ciphertext attack[C]//Annual international cryptology conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 1991: 433-444.
  3. [GO94] Goldreich O, Oren Y. Definitions and properties of zero-knowledge proof systems[J]. Journal of Cryptology, 1994, 7(1): 1-32.
  4. [Sahai99] Sahai A. Non-malleable non-interactive zero knowledge and adaptive chosen-ciphertext security[C]//40th Annual Symposium on Foundations of Computer Science (Cat. No. 99CB37039). IEEE, 1999: 543-553.
  5. [BN06] Mihir Bellare and Gregory Neven. Multi-signatures in the plain public-key model and a general forking lemma. In ACM Conference on Computer and Communications Security, pages 390–399, 2006.
  6. [FKMV12] Faust S, Kohlweiss M, Marson G A, et al. On the non-malleability of the Fiat-Shamir transform[C]//Progress in Cryptology-INDOCRYPT 2012: 13th International Conference on Cryptology in India, Kolkata, India, December 9-12, 2012. Proceedings 13. Springer Berlin Heidelberg, 2012: 60-79.
  7. [BMV16] Biagioni S, Masny D, Venturi D. Naor–Yung paradigm with shared randomness and applications[J]. Theoretical Computer Science, 2017, 692: 90-113.
  8. [Fischlin05] Fischlin M. Communication-efficient non-interactive proofs of knowledge with online extractors[C]//Annual International Cryptology Conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 2005: 152-168.
  9. [FO99] Fujisaki, Eiichiro, and Tatsuaki Okamoto. “Secure integration of asymmetric and symmetric encryption schemes.” Annual international cryptology conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 1999.
  10. [FO13] Fujisaki E, Okamoto T. Secure integration of asymmetric and symmetric encryption schemes[J]. Journal of cryptology, 2013, 26: 80-101.
  11. [KMHT16] Kitagawa F, Matsuda T, Hanaoka G, et al. On the key dependent message security of the Fujisaki-Okamoto constructions[C]//Public-Key Cryptography–PKC 2016: 19th IACR International Conference on Practice and Theory in Public-Key Cryptography, Taipei, Taiwan, March 6-9, 2016, Proceedings, Part I. Berlin, Heidelberg: Springer Berlin Heidelberg, 2016: 99-129.

文章目录

  • NY Transform
    • CRS model
    • RO model
      • Simulation Soundness
      • Simulation Extractability
    • Shared Randomness
    • Applications
  • Fischlin Transform
    • Definition
    • Construction
  • FO Transform
    • FO99
    • FO13

NY Transform

[NY90] 提出了 Naor-Yung Paradigm,它利用 NIZK 证明两个密文的一致性,从而将 CPA 归约到 CCA。但是,由于 CCA 安全中敌手会先询问一些解密神谕(包括 NIZK),然后才选择一对明文,这就需要 NIZK 拥有更多的性质:strong soundness 、valid distributions、recognizability。

[NY90] 提出了 IND-CCA1 的概念,并证明了 NY 转换是 IND-CCA1 安全的。之后 [RS91] 提出了 IND-CCA2 的概念。其实 NY 转换也是 IND-CCA2 安全的。

CRS model

[Sahai99] 定义了 non-malleable、simulation-soundness 的概念。使用 non-malleable NIZK,就可以实现安全的 Naor-Yung 转换。

所谓不可延展是说:如果敌手在看到一些 proof 之后,可以给出可接受的 NIZK 证明,那么它不需要看到这些 proof,就可以直接给出可接受的 NIZK 证明。加强为自适应:敌手可以自由选择某声明,请求获得对应的证明。由于挑战者不可能存储全部的 ( x , w ) ∈ R L (x,w) \in R_L (x,w)RL,因此我们让此定义是对于某个特定 Simulator 来说的。即,给定一个 NIZK 系统 ( P , V ) (P,V) (P,V),证明它的 ZK 性质时所构造的那个 S S S,我们用 S S S 模拟出任意 x ∈ L x \in L xL 的证明,不必存储全部的 witness。

对于 CRS 模型,我们令 f f f 表示公共参考串 σ ∈ { 0 , 1 } f ( k ) \sigma \in \{0,1\}^{f(k)} σ{0,1}f(k) 的长度,模拟器 S = ( S 1 , S 2 ) S=(S_1,S_2) S=(S1,S2) 分为两阶段: S 1 ( 1 k ) S_1(1^k) S1(1k) 产生参考串 σ \sigma σ A 1 ( σ ) A_1(\sigma) A1(σ) 产生 ( x , w ) (x,w) (x,w),对于 S 2 ( x ) S_2(x) S2(x) 产生的证明 p p p,或者 P ( x , w ) P(x,w) P(x,w) 产生的证明 p ′ p' p A 2 ( p ) A_2(p) A2(p) 无法区分两者。我们令 κ , τ \kappa,\tau κ,τ 分别记录了模拟器和敌手的状态,以连接两阶段算法。

自适应的不可扩展性:看到一些模拟的 ( x , p ) (x,p) (x,p) 之后,输出一个满足多项式时间关系 R R R 的声明 x x x 的可接受证明,与没看到这些模拟的证明之前一样困难。

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第1张图片

注意,[Sahai99] 上述定义中 A A A 仅仅从 S S S 那里获得了一个模拟证明(其实可以让 A S A^S AS 获得多项式数量的模拟证明)。特别地,我们设置多项式时间的关系为 R = { x ∉ L } R=\{x \not\in L\} R={xL},可以定义模拟可靠性:根据 soundness,此时 E x p ′ Exp' Exp 的成功率为 n e g l ( k ) negl(k) negl(k),于是我们要求 E x p Exp Exp 的成功率为 n e g l ( k ) negl(k) negl(k)

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第2张图片

[Sahai99] 使用 Strong EUF One-Times Signature 给出了通用构造:任何的 NIZK for L L L,都可以转化为一个 adaptively non-malleable、unpredictable simulated proofs、uniquely applicable proofs 的 NIZK for L L L。大概的思路是,利用 Strong OT Sign 的性质, P P P 给出 ( x , p ˉ ) (x,\bar p) (x,pˉ) 后对它签名,其中 p ˉ \bar p pˉ 是一个原始证明的数组,由 V K VK VK 唯一指定 p ˉ \bar p pˉ 的哪些位置是有效的证明。如果敌手使用同一个 V K VK VK,那么它将不得不伪造签名;如果敌手使用不同的 V K VK VK,那么它就给出了关于某个新位置上 CRS 的可接受证明。

使用上述的 adaptively non-malleable NIZK,那么 Naor-Yung Paradigm 可以将 IND-CPA PKE 转化为 IND-CCA2 PKE。

RO model

[GO94] 证明了,非凡的 ZKP 的必要条件是随机性和交互。在标准模型下,不存在非凡的 NIZK。为了绕过不可能性,我们可以在 CRS 模型、RO 模型下构造 NIZK。一般来说,RO 模型下的 FS 转换是最高效的 NIZK,而其他的 NIZK 基本仅仅是理论意义的。

[FKMV12] 考虑了 RO 模型下的 Fiat-Shamir transform,证明了任何的 Sigma ZKP(需额外满足 unique responses)经过转换后,FS-NIZK 可以满足 simulation soundness,也满足更强的 weak simulation extractability。

[FKMV12] 首先形式化了 RO 模型下的一些安全性定义。本文使用了可显式编程的 ROM(explicitly programmable),即模拟器可以根据需要模拟 RO 的动作。令 ZK 模拟器拥有两个动作: ( h , s t ) ← S ( 1 , s t , q ) (h,st) \leftarrow S(1,st,q) (h,st)S(1,st,q) 模拟查询 RO 的回应, ( π , s t ) ← S ( 2 , s t , x ) (\pi,st) \leftarrow S(2,st,x) (π,st)S(2,st,x) 模拟查询 proof 的回应。

Simulation Soundness

首先,我们定义 ROM 下的零知识性质

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第3张图片

接着关联上述的 ZK Simulator,我们定义 ROM 下的模拟可靠性

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第4张图片

在证明 FS-NIZK 的归约过程中,我们额外需要 Sigma 协议是唯一响应的

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第5张图片

如果没有 unique responses 性质,那么 proof 是可延展的:如果模拟器 S ′ S' S 给出 x ∉ L x \not\in L xL 的一个可接受证明 p p p,那么存在敌手 A A A 可以给出另一个可接受证明 p ′ ≠ p p' \neq p p=p,导致 ( x , p ′ ) ∉ T (x,p') \not\in T (x,p)T 是一个伪造,这打破了 simulation soundness 性质。

可以证明:给定非凡语言 L L L 的一个 three-round public-coin HVZK IPS ( P , V , S ) (P,V,S) (P,V,S)​,它满足 quasi unique responses 性质,那么在 RO 模型下由 FS 转换获得的 ( P H , V H ) (P^H,V^H) (PH,VH) 是一个关联到 S S Ssimulation-sound NIZK

Simulation Extractability

类似于 soundness 可以增强为 PoK,我们也可以把 simulation soundness 增强为 simulation knowledge extraction。[FKMV12] 首先给出了较弱的定义:

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第6张图片

在更强的定义中,提取是在线的(online-extraction),

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第7张图片

可以证明:给定非凡语言 L L L 的一个 three-round public-coin HVZK IPS ( P , V , S ) (P,V,S) (P,V,S),它满足 quasi unique responses 性质,那么在 RO 模型下由 FS 转换获得的 ( P H , V H ) (P^H,V^H) (PH,VH) 是一个关联到 S S Sweak simulation-extractable NIZK,它的 extraction error 为 v = Q / h v=Q/h v=Q/h,其中 Q Q Q 是 RO 查询的次数, h h h 是值域 H H H 的大小。

在证明过程中,需要使用分叉引理 [BN06],

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第8张图片

证明思路是:将敌手 A A A 包装到程序 P P P 中(每当 A A A 做出 RO 查询, P P P 就使用自身输入 h 1 , ⋯   , h Q h_1,\cdots,h_Q h1,,hQ 为它模拟),使得它的输出形式符合 fork lemma 的要求(整数 I I I 标记了 A A A 伪造的 proof 所关联的 RO 查询)。然后利用分叉程序 F P F_P FP 尝试对 P P P 分叉(相同的随机带,前缀相同的 RO 输入带),获得两个可接受的 ( x , p ) , ( x , p ′ ) (x,p),(x,p') (x,p),(x,p),而底层的 Sigma 协议是 Special soundness 的,从而提取出对应的证据 w ∈ R L ( x ) w \in R_L(x) wRL(x)

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第9张图片

Shared Randomness

有一些负面证据表明,FS-NIZK 似乎不是 simulation extractable 的,因此构造 IND-CCA PKE 时总是需要两个原始的 IND-CPA PKE 密文。为了缩小密文规模,并且提高计算效率,[BMV16] 将 NY 转换的语言修改为:使用相同的随机带计算两个密文,
L N Y Π : = { ( p k , p k ′ , c , c ′ ) : ∃ m , r ,    s . t .    c = E n c ( p k , m ; r ) , c ′ = E n c ( p k ′ , m ; r ) } L_{NY}^\Pi := \{ (pk,pk',c,c'): \exists m,r,\,\, s.t.\,\, c=Enc(pk,m;r), c'=Enc(pk',m;r)\} LNYΠ:={(pk,pk,c,c):m,r,s.t.c=Enc(pk,m;r),c=Enc(pk,m;r)}

这可以有效缩小密文的大小。比如 ElGamal 密文 ( g r , m ⋅ h r ) (g^r,m\cdot h^r) (gr,mhr),第一分量与公钥 h h h 无关(公开参数 g g g 可复用),使用相同随机数时可以省略一个分量;相应的 NIZK proof 也可以省略一些承诺和响应。

为了可证明安全,我们还需要 IND-CPA PKE 有一个特殊的性质:随机性融合。幸运的是,大多数自然的密码协议本身就满足这个性质。

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第10张图片

那么,修改后的 NY 范式为:

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第11张图片

Applications

simulation-sound 或者 simulation-extractable 的 NIZK,可用于构造 LKG-CCA 安全、KDM-CCA 安全的 PKE。

KDM 安全性定义为:

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第12张图片

侧信道攻击,可以建模为有界的秘钥信息泄露。LKG 安全性定义为:

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第13张图片

为了实现 LKG 安全的 IND-CPA PKE,或者 LKG 安全的 EUF-CMA 安全的 Signature,我们需要依赖于一些特殊的困难假设:泄露弹性的困难关系

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第14张图片

[BMV16] 证明了:NY 范式保持 LKG、KDM 安全性

  1. 给定一个 F F F-KDM-CPA 安全的、满足随机性融合性质的 PKE,使用 simulation-sound NIZK for L N Y Π L_{NY}^\Pi LNYΠ,Naor-Yung Paradigm with Shared Randomness 获得的 PKE 满足 F F F-KDM-CCA2 安全性。
  2. 给定一个 Λ \Lambda Λ-LKG-CPA 安全的、满足随机性融合性质的 PKE,使用 simulation-sound NIZK for L N Y Π L_{NY}^\Pi LNYΠ,Naor-Yung Paradigm with Shared Randomness 获得的 PKE 满足 Λ \Lambda Λ-LKG-CPA 安全性。

Fischlin Transform

在 [RS91] 中提出了不同于 [NY90] 的另一种转换方式:一个 PKE 密文,附加上一个 NIZK PoK 去证明自己知道对应的明文。但是 FS-NIZK 似乎不满足 simulation-extractable,而其他的 PoK 的效率相对较低。

一般来说,证明 IP 系统的 PoK 需要 rewinding 技术,而证明 NIP 系统的 PoK 则需要 forking 技术。但是 IND-CCA 的归约过程中,解密查询需要 Extrator 的帮助,而 rewind 破坏了它们。[Fis05] 提出了一种 NIZK with Online Extractors,它生成的 proof 相对于 Hash-Tree 短得多。

Definition

对于关系 W = { W k } k W=\{W_k\}_k W={Wk}k,我们要求它独立于 RO,避免 “self-referencing” 问题,从而使用 Hash 函数实例化之后依然保持启发式的安全。[Fis05] 使用一个带有好多附加性质的 ZKP,使得后续的转换是安全的。 Fiat-Shamir PoK 定义如下:

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第15张图片

现在,我们定义 NIZK with Online Extractor,它的提取器是 online 工作的(能力十分受限),

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第16张图片

Construction

[Fis05] 的构造思路为:使得初始的 PoK 的挑战空间很小(可有效穷举),并行若干个初始 PoK,将它们的承诺合并为向量 c o m → \overrightarrow{com} com 作为 RO 查询的输入前缀,我们要求每个 PoK 给出的挑战-响应满足一定的条件 H ( c o m → , . . . ) = 0 b H(\overrightarrow{com},...)=0^b H(com ,...)=0b(大量的可接受的挑战-响应不满足此条件,但被记录在了 RO 查询的表格内)。证明者拥有 witness,因此可以通过分别穷搜各个 PoK 的挑战空间,分区地找出各个满足条件的 ( c o m i , c h i , r e s p i ) (com_i,ch_i,resp_i) (comi,chi,respi) 证明;而伪造者没有 witness,一旦它修改了某个 c o m i com_i comi,那么所有的条件 H ( c o m → . . . ) = 0 b H(\overrightarrow{com}...)=0^b H(com ...)=0b 都被破坏,它必须同时穷举整个空间(而非分区穷搜)。

[Fis05] 构造如下:

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第17张图片

可以证明,上述的构造是一个 NIZK PoK with Online Extractor。在证明 Online Extraction 时,一旦敌手 A A A 给出了一个可接受的证明,它包含可接受的 π i = ( c o m i , c h i , r e s p i ) \pi_i=(com_i,ch_i,resp_i) πi=(comi,chi,respi),那么提取器 K K K 以压倒性概率可以从表格 Q H ( A ) \mathcal Q_H(A) QH(A) 中找到另一个可接受证明 π i = ( c o m i , c h i ′ , r e s p i ′ ) , c h i ≠ c h i ′ \pi_i=(com_i,ch_i',resp_i'), ch_i \neq ch_i' πi=(comi,chi,respi),chi=chi,从而使用 FS PoK 的 Special Soundness 提取器,可以获得对应的 witness。注意,真实世界中的敌手 V ∗ V^* V 无法看到 P P P 的 RO 查询,因此这与零知识性质不冲突。

FO Transform

FO99

[FO99] 提出了著名的 Fujisaki-Okamoto Transform,它效率极高,基本上就是原始 IND-CPA PKE 的效率。不过,它会破坏原始 PKE 的结构(比如,同态性质)。

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第18张图片

在 [FO13] 中,证明了 [FO99] 满足 IND-CCA2,同时也满足 PA-2

FO13

[FO13] 修正了 [FO99] 的一个 BUG:安全性归约中,要求底层的对称加密是确定性的双射

修正后的结构为:公钥加密的随机带,RO 查询的输入是密文 c c c 而非消息 m m m

PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto_第19张图片

[FO13] 证明了上述构造满足 IND-CCA2,但是它不满足 PA-1(说明 PA-1 是个很强的定义,对于 CCA 是充分但不必要的)

[KMHT16] 证明了,[FO13] 可以保持 KDM 安全性,而 [FO99] 不能保持 KDM 安全性

你可能感兴趣的:(基础密码学,#,零知识证明,密码学,零知识证明,信息安全,人工智能)