Dual System Encryption: Concept, History and Recent works Jongkil Kim Introduction • Strategy of Security Proof • Partitioning Technique • Dual System Encryption – Semi-functionality – Nominally Semi-functionality • Encodings • References Strategy of Security Proof • Claim: Mathematical problem is hard Our Construction is secure under a security model • Proof by contradiction Assume that Our Construction is not secure under a security model Mathematical Problem is not hard Strategy of Security Proof Assume that Our Construction is not secure under a security model Assume there exists an adversary to harm our security model Mathematical Problem is not hard Show that our security model equals to mathematical hard problem. We can break mathematical hard problem using the adversary Strategy of Security Proof • “Harms the security model”? – An adversary having non-negligible advantage to win security games. • Notation and Definition – X: a decryption, Y: a predicate , R: Function Between X and Y • R(X,Y) = 1, then a key can decrypt the ciphertext. Otherwise (R(X,Y) = 0), it does not. • Example, in IBE, R(IDA, IDA) = 1, but R(IDA, IDB) = 0 – Public key encryption system consists of four radnomized algorithms: Setup, KeyGen, Enc, Dec Adaptive security model (CPA Security) Selective Simulator Adversary Y Public key query Setup Phase I Run Setup Public key Private key query (Xi; 𝑖 ∈ [1, 𝑞1 ] ) Run KeyGen(MSK,PP, Xi) Private key Challenge query (M0, M1, Y) Challenge B ← {0,1} 𝑠. 𝑡. 𝑌 ∉ {X i ; 𝑖 ∈ [1, 𝑞1 ]} Run Enc(PP, MB ,Y) Phase II Challenge Cipehrtext Private key query (Xi; 𝑖 ∈ [𝑞1 + 1, 𝑞]) Run KeyGen(MSK, PP, Xi) Guess Private key Guess? 0 or 1 𝑠. 𝑡. 𝑌 ∉ {X i ; 𝑖 ∈ [𝑞1 + 1, 𝑞]} Partitioning Technique Key Space Key Space X1 X8 X2 X1 Phase I Phase II X8 X2 X9 X5 … Y X4 Xq X7 X6 X10 X9 Challenge X5 … Y X4 Xq X7 X6 X10 • Partitioning the key space => Only Selective Security if functionality of Public key scheme become complecate. (such as ABE, IPE, Spatial Encryption ,…) Dual System Encryption • Introduced by Waters [Crypto 2009] • It uses semi-functional ciphertext and semifunctional keys which are only used in the security proof. • In Dual System Encryption, the security of an encryption scheme is proved by showing following – Semi-functional ciphertext invariance – Semi-functional key invariance – Semi-functional security Semi-functionality Decrypt? Normal Key Semi-functional Key Normal Ciphertext Yes! Yes! Semi-functional Ciphertext Yes! No… • We must show that two security games are invariant – GameReal: All keys and the challenge ciphertext are normal – GameFinal: All keys and the challenge ciphertext are semifunctional. Additionally, the message are replaced by the random message. – Between both, Game0, Game1, Game2,… Gameq Semi-functional Ciphertext Invariance • Invariance between GameReal and Game0 Adversary Simulator Public key query Setup Public key Private key query (X) Phase I Private key Challenge query (M0, M1, Y) B ← {0,1} Semi-functional Challenge Cipehrtext (MB) Challenge Phase II Private key query (X) Private key Guess Guess? 0 or 1 GameReal ≈ (Invariant) Game0 Invariance of two games Mathematical Problem is hard Assume that two games are indistinguishable Assume there exists an adversary who distinguishes two games We can break mathematical hard problem using the adversary Show that distinguishing two games equals to mathematical hard problem. Semi-functional Ciphertext Invariance • Invariance between Game0 and Gameq Adversary Simulator Phase I Game0 ≈ Private key query (X1) Semi-functional Private key 1 Game1 Private key query (X2) Semi-functional Private key 2 Game2 ≈ … Challenge query (M0, M1, Y) B ← {0,1} Semi-functional Challenge Cipehrtext (MB) Challenge … … Phase II Private key query (Xq) Semi-functional Private key q ≈ Gameq Semi-functional Key Invariance • Semi-functional Key Invariance – Mathematical Induction • We already showed Game0 is invariant with GameReal • We now show Gamek is invariant with Gamek-1 – This is a critical part of the security proof because the relation between kth key and challenge ciphertext is changed. – We must proof the normal key which can decrypt the normal CT is indistinguishable from the semifunction key which cannot. Semi-functional Key Invariance • Invaraiace between Gamek-1 and Gamek Assume there exists an adversary who distinguishes two games Show that distinguishing two games equals to mathematical hard problem. We can break mathematical hard problem using the adversary No limitation for the simulator in the security model! + The simulator can distinguish the kth key by generating valid semifunctional ciphertext for kth key and trying to decrypt it with the kth key. Dual System Encryption • How to prevent this paradox – In Waters’ construction, – If the simulator generate the semi-functional ciphertext to distinguish Tagc must be equal to Tagk. • Tagc = F(IDY) = A·IDY + B • Tagk = F(IDX) = A·IDX + B – But, this is hidden by pair wise independent argument because IDX does not equal to IDY if A and B are initially information theoretically hidden. Nominally Semi-functionality • Introduced by Lewko and Waters[TCC 2010] • Similar with Water’s Construction – If the simulator generates a semi-functional ciphertext for testing whether kth key is semifunctional or normal, semi-functional part is going to be cancel out. • So, kth key is nominally semi-functional because it can decrypt the semi-functional challenge ciphertext. How to hide the Nominality • We also must show that this nominally semi-functional key is invariant with Semi-functional key. • In other words, we must show that the correlation between semi-functional parts in the nominally semifunctional key and the challenge ciphertext is hidden. • By using following – Pair wise independent – n-wise independent – Linearly independent – Information Theoretically Hidden Maybe there are some more but not so many! Hidden Lemma • General Lemma for semi-functional key invariance Assume there exists an adversary who distinguishes Gamek-1 and Gamek We can break mathematical hard problem(SD) using the adversary • But, this is the abstract of two lemmas Nominally Semi-functionality • IBE in composite order – KeyGen(PP, MSK, ID) -> SKID = {K1, K2} • K1:= g1α + r(A ID + B) Z1, K2:= g1 r Z2 – Enc(PP, ID) -> CTID = {C, C1, C2} • C:= M · e(g1, g1)αs, C1:= g1 s, C2:= g1 s(A ID +B) – SFKeyGen(PP, MSK, ID) -> SKID = {K1, K2} • K1:= g1α + r(A ID + B) g2r’a Z1, K2:= g1 r g2 r’ Z2 – SFEnc(PP, ID) -> CTID = {C, C1, C2} • C:= M · e(g1, g1)αs, C1:= g1 s g2 s’, C2:= g1 s(A ID +B) g2 s’ b Hidden Lemmas • Let Gamek’ is the game identical with Gamek-1 , but the kth key is nominally semi functional. Assume there exists an adversary who distinguishes Gamek-1 and Gamek‘ We can break mathematical hard problem using the adversary NSFKeyGen(PP, MSK, ID) -> SKID = {K1, K2} K1:= g1α + r(A ID + B) g2r’(A’ ID + B’) Z1, K2:= g1 r g2 r’ Z2 SFEnc(PP,ID) -> CTID = {C, C1, C2} C:= M · e(g1, g1)αs, C1:= g1 s g2 s’, C2:= g1 s(A ID +B) g2 s’ (A’ ID +B’) Hidden Lemmas • Let Gamek’ is the game identical with Gamek-1 , but the kth key is nominally semi functional. Assume there exists an adversary who distinguishes Gamek‘ and Gamek We can break information theoretically hidden argument using the adversary NSFKeyGen(PP, MSK, ID) -> SKID = {K1, K2} K1:= g1α + r(A ID + B) g2r’(A’ IDa +B’)Z1, K2:= g1 r g2 r’ Z2 SFEnc(PP, ID) -> CTID = {C, C1, C2} C:= M · e(g1, g1)αs, C1:= g1 s g2 s’, C2:= g1 s(A ID +B) g2 s’ (A’ IDb+ B’) Why this is possible? • The semi-functional parts of private key and ciphertext are just twins of their normal parts • But, why is applying information hidden argument possible? Public key and other semifunctional keys does not reveal any information about the semifunctional parts! Semi-functional Security • Invariance between Gameq and GameFinal Adversary Simulator Setup Phase I Public key query Public key Private key query (X) Semi-functionalPrivate key Challenge query (M0, M1, Y) R: RandBmessage ← {0,1} Semi-functional Challenge Cipehrtext (MRB) Challenge Phase II Guess Private key query (X) Semi-functional Private key Guess? 0 or 1 Gameq ≈ (Invariant) GameFinal DSE via Encodings • Pair Encoding [Eurocrypto 2014] and Predicate Encoding [TCC 2014] – Many public key schemes proved by Dual System Encryption share a same proof strategy. – It means it can be formalized! => New direction of the security proof! • We only need our new scheme satisfy following properties – Linearity – Parameter Vanishing – Perfect Master key hiding DSE via Encoding • Linearity – K(α’;x,h,r’) + K(α’’;x,h,r’’) = K(α’ +α’’;x,h,r’+r’’) • Parameter vanishing – K(α;x,h,0) = K(α;x,h’,0) • Perfect master key hiding – Given c(s;y,h), for all α, α’, If R(x,y)=0, K(α;x,h,r) and K(α’;x,h,r) are statistically invariant. Encoding example (IBE) • Construction – Setup(λ) -> N = p1p2p3, PP = { g1A, g1B }, MSK = {α, X3} – KeyGen(PP, MSK, ID) -> SKID = {K1, K2} • K1:= g1α + r(A ID + B) Z1, K2:= g1 r Z2 – Enc(PP, ID) -> CTID = {C, C1, C2} • C:= M · e(g1, g1)αs, C1:= g1 s, C2:= g1 s(A ID +B) – Dec(SKID, CTID) • M = C · e(K2, C2)/e(K1, C1) Encoding example • Encoding – K(α;ID,(A,B),r) = (α + r(A ID + B), r) – c(s;ID,(A,B)) = (s, s(A ID + B)) • Linearity – (α+ r(A ID + B), r) + (α’ + r’(A ID + B), r’) =(α + α’ + (r+r’) (A ID + B), r+r’) • Parameter vanishing – (α+ 0 (A ID + B), 0) + (α + 0(A’ ID + B’), 0) Encoding example • Encoding – K(α;ID,(A,B),r) = (α + r(A ID + B), r) – c(s;ID,(A,B)) = (s, s(A ID + B)) • Perfect Master key hiding – Given (s, s(A ID* + B)) – For ID which does not equal to ID*, A ID + B is randomly distributed (pairwise independent). – Hence, (α + r(A ID + B),r) is statistically invariant with (α’ + r(A ID + B),r) to the adversary References • [Eurocrypto 2014] N. Attrapadung. Dual system encryption via doubly selective security: Framework, fully secure functional encryption for regular languages, and more. In P. Q. Nguyen and E. Oswald, editors, EUROCRYPT, volume 8441 of Lecture Notes in Computer Science, pages 557{577. Springer, 2014. • [Crypto 2009] B. Waters. Dual system encryption: Realizing fully secure ibe and hibe under simple assumptions. In S. Halevi, editor, CRYPTO, volume 5677 of Lecture Notes in Computer Science, pages 619{636. Springer, 2009. • [TCC 2014] H. Wee. Dual system encryption via predicate encodings. In Y. Lindell, editor, TCC, volume 8349 of Lecture Notes in Computer Science, pages 616{637. Springer, 2014. • [TCC 2010] A. Lewko and B. Waters. New techniques for dual system encryption and fully secure hibe with short ciphertexts. In TCC, 2010.