安全性归约(一些反例)

听课和做题时遇到的一些反例,这里随意记录下。

OWF

  1. 有硬核谓词的函数不一定是单向的。令函数 f ( x ′ ∥ x ′ ′ ) = x ′ ′ f(x'\|x'')=x'' f(xx′′)=x′′,易知 b ( x ′ ∥ x ′ ′ ) = x ′ b(x'\|x'')=x' b(xx′′)=x 是其硬核谓词,但是 f f f 不是单向函数。但如果 f f f1-1 的,那么 f f f 是弱单向的。

  2. f ( x ) f(x) f(x) 是 OWF,则它的迭代 f ( f ( x ) ) f(f(x)) f(f(x)) 不一定是 OWF

    例如 f ( x ′ ∥ x ′ ′ ) = g ( x ′ ′ ) ∥ 0 n f(x'\|x'') = g(x'')\|0^n f(xx′′)=g(x′′)0n,其中 g ( x ′ ′ ) g(x'') g(x′′) 是保长 OWF。此时,
    f ( f ( x ′ ∥ x ′ ′ ) ) = f ( g ( x ′ ′ ) ∥ 0 n ) = g ( 0 n ) ∥ 0 n f(f(x'\|x'')) = f(g(x'')\|0^n) = g(0^n)\|0^n f(f(xx′′))=f(g(x′′)0n)=g(0n)0n
    于是任意的 x x x 都是 g ( 0 n ) ∥ 0 n g(0^n)\|0^n g(0n)0n 的原像。

  3. f f f 是保长单向函数,定义函数 g ( x ) = f ( x ) ⊕ x g(x) = f(x) \oplus x g(x)=f(x)x,则 g g g 不一定是单向函数

    如果强行归约,会发现概率损失因子是指数级。

    h : h: h: 是保长单向函数,构造
    f ( x ) = f ( x ′ ∥ x ′ ′ ) = h ( x ′ ′ ) ∥ 0 n f(x) = f(x'\|x'') = h(x'')\|0^n f(x)=f(xx′′)=h(x′′)0n
    其中 x ′ , x ′ ′ ∈ { 0 , 1 } n x',x'' \in \{0,1\}^n x,x′′{0,1}n,可以证明 f f f 是保长单向函数(归约)。

    此时,
    g ( x ) = f ( x ′ ∥ x ′ ′ ) ⊕ x ′ ∥ x ′ ′ = h ( x ′ ′ ) ⊕ x ′ ∥ x ′ ′ g(x) = f(x'\|x'') \oplus x'\|x'' = h(x'') \oplus x' \|x'' g(x)=f(xx′′)xx′′=h(x′′)xx′′
    容易看出存在 PPT 求逆算法:

    1. 输入 y = y ′ ∥ y ′ ′ y=y'\|y'' y=yy′′
    2. 先提取 x ′ ′ = y ′ ′ x''=y'' x′′=y′′,计算 h ( x ′ ′ ) h(x'') h(x′′)
    3. 再提取 x ’ = y ′ ⊕ h ( x ′ ′ ) x’ = y' \oplus h(x'') x=yh(x′′)
    4. 输出 x = x ′ ∥ x ′ ′ x=x'\|x'' x=xx′′

    成功概率为 P r x ← U 2 n [ A ( g ( x ) , 1 n ) ∈ g − 1 ( g ( x ) ) ] = 1 \underset{x \leftarrow U_{2n}}{Pr}[A(g(x),1^n) \in g^{-1}(g(x))]=1 xU2nPr[A(g(x),1n)g1(g(x))]=1

  4. f f f 是保长单向函数,定义函数 g ( x , y ) = f ( x ) ⊕ f ( y ) g(x,y) = f(x) \oplus f(y) g(x,y)=f(x)f(y),则 g g g 不一定是单向函数

    如果强行归约,会发现概率损失因子是指数级。

    h : h: h: 是保长单向函数,构造
    f ( x ) = { h ( x ′ ′ ) ∥ x ′ , x ′ ≠ 0 n h ( x ′ ′ ) ⊕ x ′ ′ ∥ 0 n , x ′ = 0 n f(x) = \left\{ \begin{aligned} h(x'') &\| x', && x' \neq 0^n\\ h(x'')\oplus x'' &\| 0^n, && x' = 0^n\\ \end{aligned} \right. f(x)={h(x′′)h(x′′)x′′x,0n,x=0nx=0n
    其中 x ′ , x ′ ′ ∈ { 0 , 1 } n x',x'' \in \{0,1\}^n x,x′′{0,1}n,可以证明 f f f 是保长单向函数:对于 x x x x ′ = 0 n x'=0^n x=0n x ′ ≠ 0 n x' \neq 0^n x=0n 时的像不相交,而当 x ′ ≠ 0 n x' \neq 0^n x=0n 时(占比为 1 − n e g l ( n ) 1-negl(n) 1negl(n))它是保长单向的(归约)。

    此时,
    g ( x , y ) = f ( x ′ ∥ x ′ ′ ) ⊕ f ( y ′ ∥ y ′ ′ ) g(x,y) = f(x'\|x'') \oplus f(y'\|y'') g(x,y)=f(xx′′)f(yy′′)
    存在 PPT 求逆算法:

    1. 输入 z = z ′ ∥ z ′ ′ z=z'\|z'' z=zz′′
    2. 如果 z ′ ′ ≠ 0 n z'' \neq 0^n z′′=0n
      1. x ′ = z ′ ′ , x ′ ′ = z ′ x'=z'',x''=z' x=z′′,x′′=z,于是 x = z ′ ′ ∥ z ′ x = z''\|z' x=z′′z
      2. y ′ = 0 n , y ′ ′ = x ′ ′ y'=0^n,y''=x'' y=0n,y′′=x′′,于是 y = 0 n ∥ z ′ y=0^n\|z' y=0nz
    3. 如果 z ′ ′ = 0 n z'' = 0^n z′′=0n,且 z ′ = 0 n z'=0^n z=0n,那么任取 x x x,令 y = x y=x y=x
    4. 如果 z ′ ′ = 0 n z'' = 0^n z′′=0n,且 z ′ ≠ 0 n z'\neq0^n z=0n,此时必然 x ′ = y ′ = 0 n x'=y'=0^n x=y=0n(需要寻找 h ( x ′ ′ ) ⊕ x ′ ′ ⊕ h ( y ′ ′ ) ⊕ y ′ ′ = z ′ h(x'')\oplus x'' \oplus h(y'') \oplus y'' = z' h(x′′)x′′h(y′′)y′′=z),直接 abort
    5. 输出 ( x , y ) (x,y) (x,y)

    成功概率为 P r x , y ← U 2 n [ A ( g ( x , y ) , 1 n ) ∈ g − 1 ( g ( x , y ) ) ] = 1 − n e g l ( n ) \underset{x,y \leftarrow U_{2n}}{Pr}[A(g(x,y),1^n) \in g^{-1}(g(x,y))] = 1-negl(n) x,yU2nPr[A(g(x,y),1n)g1(g(x,y))]=1negl(n)

PRG

  1. f f f 是 OWF, b b b 是其硬核,令 G 1 ( x ) = b ( x ) ∥ f ( x ) G_1(x) = b(x)\|f(x) G1(x)=b(x)f(x),那么其迭代 G p ( x ) G_p(x) Gp(x) 不一定是伪随机生成器

    f f f 是保长 OWF,构造 g ( x ′ ∥ x ′ ′ ) = 1 n ∥ f ( x ′ ) g(x'\|x'') = 1^n\|f(x') g(xx′′)=1nf(x),那么
    G 1 ( x ) = b ( x ) ∥ ( 1 n ∥ f ( x ′ ) ) G 2 ( x ) = b ( x ) ∥ b ( 1 n ∥ f ( x ′ ) ) ∥ ( 1 n ∥ f ( 1 n ) ) G 3 ( x ) = b ( x ) ∥ b ( 1 n ∥ f ( x ′ ) ) ∥ b ( 1 n ∥ f ( 1 n ) ) ∥ ( 1 n ∥ f ( 1 n ) ) ⋯ \begin{aligned} G_1(x) &= b(x)\|(1^n\|f(x'))\\ G_2(x) &= b(x)\|b(1^n\|f(x'))\|(1^n\|f(1^n))\\ G_3(x) &= b(x)\|b(1^n\|f(x'))\|b(1^n\|f(1^n))\|(1^n\|f(1^n))\\ \cdots \end{aligned} G1(x)G2(x)G3(x)=b(x)(1nf(x))=b(x)b(1nf(x))(1nf(1n))=b(x)b(1nf(x))b(1nf(1n))(1nf(1n))
    明显 G p ( x ) G_p(x) Gp(x) 不是 PRG,因为 f f f 迭代退化了。

  2. G : { 0 , 1 } 2 n → { 0 , 1 } ∗ G:\{0,1\}^{2n} \to \{0,1\}^* G:{0,1}2n{0,1} 是 PRG,但是 G ′ ( x ′ ∥ x ′ ′ ) = G ( x ′ ∥ 0 n ) G'(x'\|x'') = G(x'\|0^n) G(xx′′)=G(x0n) 不一定是 PRG

    f ( x ′ ∥ x ′ ′ ) = x ′ ∥ p ( x ′ ′ ) f(x'\|x'') = x'\|p(x'') f(xx′′)=xp(x′′),其中 p ( x ′ ′ ) p(x'') p(x′′) 是 OWP,且它满足 p ( 0 n ) → 0 n p(0^n) \to 0^n p(0n)0n,易知 f f f 是 OWP。

    此时, f f f 仅对于形式为 x ′ ∥ 0 n x'\|0^n x0n 的输入,它迭代退化,
    f ( f ( x ′ ∥ 0 n ) ) = f ( x ′ ∥ 0 n ) = x ′ ∥ 0 n f(f(x'\|0^n)) = f(x'\|0^n) = x'\|0^n f(f(x0n))=f(x0n)=x0n
    于是,使用 OWP 和 Hardcore 迭代的那种 PRG 构造下, G ( U 2 n ) G(U_{2n}) G(U2n) 依旧是 PRG,但 G ′ ( U n ∥ 0 n ) G'(U_n\|0^n) G(Un0n) 的状态 s i s_i si 总会收敛到同一值,从而后续的序列 σ i = b ( s i ) \sigma_i = b(s_i) σi=b(si) 都相同。

PRF

  1. f : K × X → Y f:K \times X \to Y f:K×XY 是伪随机函数,定义函数 g ( k , ( x , y ) ) = f ( k , x ) ⊕ f ( k , y ) g(k,(x,y))=f(k,x) \oplus f(k,y) g(k,(x,y))=f(k,x)f(k,y),则 g g g 不一定是伪随机函数

    如果强行归约,会发现无论 A A A 的区分优势有多大, A ′ A' A 的区分优势总是为零。

    存在 PPT 区分器:

    1. 询问 ( x , y ) , ( y , z ) , ( x , z ) (x,y),(y,z),(x,z) (x,y),(y,z),(x,z) 的函数值 r 1 , r 2 , r 3 r_1,r_2,r_3 r1,r2,r3
    2. 如果 r 1 ⊕ r 2 = r 3 r_1 \oplus r_2 = r_3 r1r2=r3,输出 b ′ = 1 b'=1 b=1
    3. 否则,输出 b ′ = 0 b'=0 b=0

    区分优势为 A d v D = ∣ P r [ E x p t D G n ,   R F n ( 1 n , b = 0 ) = 1 ] − P r [ E x p t D G n ,   R F n ( 1 n , b = 1 ) = 1 ] ∣ = 1 − n e g l ( n ) Adv_D = \left| Pr[Expt_D^{G_n,\, RF_n}(1^n,b=0)=1] - Pr[Expt_D^{G_n,\, RF_n}(1^n,b=1)=1] \right| = 1-negl(n) AdvD= Pr[ExptDGn,RFn(1n,b=0)=1]Pr[ExptDGn,RFn(1n,b=1)=1] =1negl(n)

Hash

  1. 一个 Hash 抗碰撞,但不一定是抗原像的。即:存在找一个原像容易,但找到两个原像困难的 Hash 函数。(这俩不等价吧?)

    H 1 H_1 H1 是 OWHF,令 H 2 : { 0 , 1 } n + 1 → { 0 , 1 } n H_2:\{0,1\}^{n+1} \to \{0,1\}^n H2:{0,1}n+1{0,1}n
    H 2 ( b ∥ x ) = { x , b = 0 H 1 ( x ) , b = 1 H_2(b\|x) = \left\{ \begin{aligned} x,&& b=0\\ H_1(x),&& b=1 \end{aligned} \right. H2(bx)={x,H1(x),b=0b=1
    H 2 H_2 H2 不抗原像。任给像 y y y,找到一个原像 0 ∥ y 0\|y 0∥y 是容易的。

    但找另一个原像 1 ∥ x 1\|x 1∥x,使得 H 1 ( x ) = y H_1(x)=y H1(x)=y 是困难的,因为 OWHF。

  2. 另一种更好的构造。假如 f f f 是可逆置换, g g g 是抗碰撞函数,它们的值域、像空间的关系为:不交、互补

    f : S 1 → S 1 ′ g : S 2 → S 2 ′ S 1 ∩ S 2 = ∅ ,    S 1 ′ ∩ S 2 ′ = ∅ S 1 ∪ S 2 = { 0 , 1 } l ( n ) ,    S 1 ′ ∪ S 2 ′ = { 0 , 1 } n 2 l ( n ) − n = O ( p o l y ( n ) ) f:S_1 \to S_1'\\ g:S_2 \to S_2'\\ S_1 \cap S_2 = \empty,\,\, S_1' \cap S_2' = \empty\\ S_1 \cup S_2 = \{0,1\}^{l(n)},\,\, S_1' \cup S_2' = \{0,1\}^n\\ 2^{l(n) - n} = O(poly(n)) f:S1S1g:S2S2S1S2=,S1S2=S1S2={0,1}l(n),S1S2={0,1}n2l(n)n=O(poly(n))

    定义如下 Hash 函数

    h ( x ) = { f ( x ) , x ∈ S 1 g ( x ) , x ∈ S 2 h(x) = \left\{ \begin{aligned} f(x), && x \in S_1\\ g(x), && x \in S_2 \end{aligned} \right. h(x)={f(x),g(x),xS1xS2

    S 1 , S 2 S_1,S_2 S1,S2 的占比都不可忽略时, h ( x ) h(x) h(x) 是一个不抗原像的抗碰撞(抗第二原像) Hash 函数!

  3. MD 迭代不保持 UOW 性

    F k : { 0 , 1 } l + t → { 0 , 1 } l F_k:\{0,1\}^{l+t} \to \{0,1\}^l Fk:{0,1}l+t{0,1}l 是 UOWHF,定义 H s : { 0 , 1 } l + t → { 0 , 1 } l + k H_s:\{0,1\}^{l+t} \to \{0,1\}^{l+k} Hs:{0,1}l+t{0,1}l+k
    H s ( x 1 ∥ x 2 ∥ x 3 ) = { F s ( x 1 ∥ x 2 ∥ x 3 ) ∥ s , x 2 ≠ s 1 l ∥ 1 k , x 2 = s H_s(x_1\|x_2\|x_3) = \left\{ \begin{aligned} F_s(x_1\|x_2\|x_3)\|s,&& x_2 \neq s\\ 1^l\|1^k,&& x_2 = s \end{aligned} \right. Hs(x1x2x3)={Fs(x1x2x3)s,1l1k,x2=sx2=s
    那么 H s H_s Hs 是 UOWHF,但是 M D 2 ( H s , m ) = H s ( H s ( I V ∥ m 0 ) ∥ m 1 ) MD_2(H_s,m) = H_s(H_s(IV\|m_0)\|m_1) MD2(Hs,m)=Hs(Hs(IVm0)m1) 不满足 UOW:选取挑战 I V = I V 1 ∥ I V 2 ,   m = 0 t − k ∥ 0 t − k IV=IV_1\|IV_2,\, m=0^{t-k}\|0^{t-k} IV=IV1IV2,m=0tk0tk,收到 s s s,如果 s ≠ I V 2 s \neq IV_2 s=IV2 则选取 m ′ = 1 t − k ∥ 0 t − k m'=1^{t-k}\|0^{t-k} m=1tk0tk,那么 m ′ m' m 就是第二原像。

  4. 一个收缩的 OWF,不一定是 OWHF。即:存在抗原像,但不抗第二原像的 Hash 函数。

    H 1 H_1 H1 是 OWHF,令 H 2 ( x ′ ∥ x ′ ′ ) = H 1 ( x ′ ′ ) H_2(x'\|x'') = H_1(x'') H2(xx′′)=H1(x′′),明显 H 2 H_2 H2 是抗原像的。

    给定 x ′ ∥ x ′ ′ x'\|x'' xx′′,输出 H 2 ( x ′ ∥ x ′ ′ ) H_2(x'\|x'') H2(xx′′) 的第二原像是容易的: x ′ ′ ′ ∥ x ′ ′ x'''\|x'' x′′′x′′,其中任取 x ′ ′ ′ ≠ x ′ x''' \neq x' x′′′=x 即可。

Encryption

Signature

MAC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值