Cryptographic Reverse Firewall via Malleable Smooth Projective Hash Functions
Rongmao Chen, Yi Mu, Guomin Yang, Willy Susilo, Fuchun Guo and Mingwu Zhang
Cryptographic Reverse Firewall via Malleable Smooth Projective Hash - - PowerPoint PPT Presentation
Cryptographic Reverse Firewall via Malleable Smooth Projective Hash Functions Rongmao Chen, Yi Mu, Guomin Yang , Willy Susilo, Fuchun Guo and Mingwu Zhang Asiacrypt 2016, Hanoi Outline n Background n Cryptographic Reverse Firewall n Part
Rongmao Chen, Yi Mu, Guomin Yang, Willy Susilo, Fuchun Guo and Mingwu Zhang
π1 π1 * ππ ππ *
β¦ β¦
π1 π1 * ππ ππ *
β¦ β¦
ππ
β¦
π1
π1 π1 * ππ ππ *
β¦ β¦
ππ
β¦
π1
π1 π1 * ππ ππ *
β¦ β¦
ππ
β¦
π1
π1 π1 * ππ ππ *
β¦ β¦
Strong vs Weak Security-Preserving Eavesdropper vs Peer Party
π1 π1 * ππ ππ *
β¦ β¦
π1 π1 * ππ ππ *
β¦ β¦
Strong vs Weak Exfiltration-Resistance Eavesdropper vs Peer Party
$ Y ;
if exists
hp 8
β hp0 8 β π· hp1 8
8 = h
hp 8
hk 8
β hp0 8 β π· hp1 8
8 = h
hp 8
hk 8
hv 8 β hp0 8 β π· hp1 8
8 = hvβ
8 = h
hv 8
8 = hvβ
hv 8
8 = hvβ
β π, π β π¬π, πβ¨π = π + π, πβ¨π = π L π
β π£1, π€1 β πΏ, π£1β¨π€1 = π£1 L π€1, π£1 β π€1 = π£1 L π€1
PQοΌβ π β π¬π,
πβ¨π£1 = π£1
π
β π£1, π€1 β πΏ, π£1β¨π€1 = π π£1, π€1 β πΏπ (π: πΏΓπΏ βΆ πΏπ)
π₯: π΄ βΌ πΏ[Γ\ , πͺ: π΄ βΌ πΏQΓ\
π· β β βΊ βπ β π¬π
QΓ[ s. t. , πͺ π· = πβ¨π₯ π·
hk: = π· = (π½1, β¦ , π½π)Ξ€ $ β π¬π
\ , hp βΆ= πΏ π· = π₯ π· β¨π· β πΏπ
πβ¨ πΏ π·
*)οΌ hp 8 = πΏ π· β¨π₯ π· β¨ π *
*,C)οΌ hv 8 = πͺ π· β¨ π *
*)οΌ π· 8 = πͺ π· β¨ π 8β¨π₯ π·
*)οΌ hv 8 = π 8 β¨ πΏ π·
q, qr
(C, w)
$
β SampYes(pp) V = ProjHash(pp,hp,C,w) CT = V β¨ M hk
$
β HashKG(pp) hp β ProjKG(pp,hk) Input: pp, M Input: pp Mβ = CT β Hash(pp,hk,C) Hash(pp,hk,C)= ProjHash(pp,hp,C,w)
Mβ= M
q, qr
(C, w)
$
β SampYes(pp) V = ProjHash(pp,hp,C,w) CT = V β¨ M hk
$
β HashKG(pp) hp β ProjKG(pp,hk) Mβ = CT β Hash(pp,hk,C)
Input: pp, M Input: pp Input: pp Bobβs output message
π Μ
$
β SampR(pp)
hp 8 βMaulK(pp,hp, π
%) (C, w)
$
β SampYes(pp) V = ProjHash(pp,hp
8,C,w)
CT = V β¨ M hk
$
β HashKG(pp) hp β ProjKG(pp,hk) Mβ = CT βHash(pp,hk,C)
q, qr
Input: pp, M Input: pp Input: pp
*
Input: pp, M Input: pp π Μ
$
β SampR(pp)
hp 8 βMaulK(pp,hp, π
%)
*
(C, w)
$
β SampYes(pp) V = ProjHash(pp,hp
8,C,w)
CT = V β¨ M hk
$
β HashKG(pp) hp β ProjKG(pp,hk) Mβ = π·π
8 βHash(pp,hk,C)
q, qr 8 q, qr βπ=MaulH(pp,hp,C,π Μ)
π·π 8 = CT β βπ
π·π 8 = CT β βπ = V β βπβ¨ M=Hash(pp,hk,C) β¨ M
Mβ = M
Input: pp
Input: pp, M Input: pp π Μ
$
β SampR(pp)
hp 8 βMaulK(pp,hp, π
%)
*
(C, w)
$
β SampYes(pp) V = ProjHash(pp,hp
8,C,w)
CT = V β¨ M hk
$
β HashKG(pp) hp β ProjKG(pp,hk) Mβ = π·π
8 βHash(pp,hk,C)
q, qr 8 q, qr βπ=MaulH(pp,hp,C,π Μ)
π·π 8 = CT β βπ
π·π 8 = CT β βπ = V β βπβ¨ M=Hash(pp,hk,C) β¨ M
Mβ = M
Input: pp
Strong Exfiltration-Resistance
Aliceβs output message
(C, w)
$
β SampYes(pp) V = ProjHash(pp,hp,C,w) CT = V β¨ M hk
$
β HashKG(pp) hp β ProjKG(pp,hk) Input: pp, M Input: pp Mβ = CT βHash(pp,hk,C)
q, qr
Input: pp
hk
$
β HashKG(pp) hp β ProjKG(pp,hk) Input: pp, M Input: pp Mβ = π·π
8 βHash(pp,hk,π· v)
q v , qr 8 q, qr
π₯ %
$
β SampW(pp)
π· v =ReranE(pp,C,π₯
%)
βπ=ReranH(pp,hp,C,π₯
% )
π·π 8 = CT β¨ βπ
Input: pp π·π 8 = CT β¨ βπ= V β¨βπβ¨ M=Hash(pp,hk,π· v) β¨ M
Mβ = M
(C, w)
$
β SampYes(pp) V = ProjHash(pp,hp,C,w) CT = V β¨ M
hk
$
β HashKG(pp) hp β ProjKG(pp,hk) Input: pp, M Input: pp Mβ = π·π
8 βHash(pp,hk,π· v)
q v , qr 8 q, qr
π₯ %
$
β SampW(pp)
π· v =ReranE(pp,C,π₯
%)
βπ=ReranH(pp,hp,C,π₯
% )
π·π 8 = CT β¨ βπ
Input: pp π·π 8 = CT β¨ βπ= V β¨βπβ¨ M=Hash(pp,hk,π· v) β¨ M
Mβ = M
Weak Exfiltration-Resistance (against Bob)
(C, w)
$
β SampYes(pp) V = ProjHash(pp,hp,C,w) CT = V β¨ M
qw
hk
$
β HashKG(pp) hp β ProjKG(pp,hk) V = Hash(pp,hk,π·y) Q = V β¨ P π·y
$
β Encrypt(pp, π; π ) Input: pp, P, M Input: pp, π, M Vβ=ProjHash(pp,hp,π·y,r) Pβ = Q β Vβ Pβ = P iff π is a valid signature of predefined message M
qw
hk
$
β HashKG(pp) hp β ProjKG(pp,hk) V = Hash(pp,hk,π·y
8)
Q = V β¨ P π·y
$
β Encrypt(pp, π; π ) Input: pp, P, M Input: pp, π, M Vβ=ProjHash(pp,hp,π·y ,r) Pβ = π β¬ β Vβ
π₯ %
$
β SampW(pp)
π·y
8 =ReranE(pp,π·y,π₯
%)
βπ=ReranH(pp,hp,π·y,π₯
%)
π β¬ = Q β βπ
Input: pp, M
qw
*
β¬
qw
hk
$
β HashKG(pp) hp β ProjKG(pp,hk) V = Hash(pp,hk,π·y) Q = V β¨ P π·y
$
β Encrypt(pp, π; π ) Input: pp, P, M Input: pp, π, M Vβ=ProjHash(pp, hp 8,π·y,r) Pβ = π β¬ β Vβ
π Μ
$
β SampR(pp)
hp 8 β ProjMaul(pp,hp,π Μ) βπ=MaulH(pp,hp,π·y,π Μ) π β¬ = π β¨ βπ
Input: pp, M
8 , x v
(π, qβ)
(Ζβ, qrβ)β¦β β‘
Λ
π
$
β SampB(pp)
(π·π, π)
$
β SampI(π,b) Input: pp, M1, M2 Input: pp, π
ππ = Ξ»(π)β¨πΏπ ππ = π·ππ β ππ
Input: pp
π = (π₯1, β¦ , π₯π) β πΏ[Γ\ : Element Basis
1 β π= PairG(π, π·π)
hk0= π·0
$
β π¬π\, hp0=πΏ0 = πβ¨π·0 hk1= π·1
$
β π¬π\, hp1=πΏ1 = πβ¨π·1 (ππ)βΕ½β’
Q
β (π·πβ¨π·π)βΕ½β’
Q
(π·ππ)βΕ½β’
Q
β (ππβ¨ππ)βΕ½β’
Q
π·
(π, qβ’)
(Ζβ, qrβ)β¦β β‘
Λ
π·1 8= PairG( π 8, π·0 8) hk0= π·0
$
β π¬π\, hp0=πΏ0 = π 8β¨π·0 hk1= π·1
$
β π¬π\, hp1=πΏ1 = π 8β¨π·1 (ππ)βΕ½β’
Q
β (π·π v β¨π·π)βΕ½β’
Q
(π·ππ)βΕ½β’
Q
β (ππβ¨ππ)βΕ½β’
Q
π
$
β SampB(pp)
(π·0, π)
$
β SampI(π,b) Input: pp, M1, M2 Input: pp, π
ππ = Ξ»(π)β¨πΏπ ππ = π·ππ 8 β ππ π» v $ β SampS(pp) π v β π β¨π» v, π·β’
β β π·0 β¨π»
v π %
$
β SampW(pp) π· β Ξ» π % β¨π v π·0 8 β π·β’
β β¨π· ( π 8 , qβ’ 8)
Input: pp
(βππ)βΕ½β’
Q
β (Ξ»(π %)β¨πΏπ)βΕ½β’
Q
(π·ππ 8 )βΕ½β’
Q
β (π·ππβ¨βππ)βΕ½β’
Q (Ζβ, qrβ 8 )β¦β β‘
Λ
π» v : Basis Transformation Matrix
(π, qβ’)
π
$
β SampB(pp)
(π·0, π)
$
β SampI(π,b) Input: pp, M1, M2 Input: pp, π
ππ = Ξ» π β¨ πΏπ * ππ = π·ππ 8 β ππ
Input: pp
π·1= PairG(π, π·0) hk0= π·0
$
β π¬π\, hp0=πΏ0 = πβ¨π·0 hk1= π·1
$
β π¬π\, hp1=πΏ1 = πβ¨π·1 (ππ)βΕ½β’
Q
β (π·πβ¨π·π)βΕ½β’
Q
(π·ππ)βΕ½β’
Q
β (ππβ¨ππ)βΕ½β’
Q (Ζβ, qrβ)β¦β β‘
Λ
( Ζπ *, qrβ 8 )β¦β β‘
Λ
ππ *
$
β SampR(pp) ππ *
$
β SampR(pp) ( πΏπ *)βΕ½β’
Q
β (πΏπ β¨(πβ¨ ππ *))βΕ½β’
Q
(βππ)βΕ½β’
Q
β (π·πβ¨ ππ *)βΕ½β’
Q
(π·ππ 8 )βΕ½β’
Q
β (π·ππβ¨βππ)βΕ½β’
Q
+ CRFs + CRFs
+ CRFs SPHF Malleable SPHF Graded Rings Oblivious Transfer MTP, OSBE β¦
MPCβ¦
Other Structures