(Hierarchical) Identity-Based Encryption from Affine Message Authentication Crypto 2014 , Olivier Blazy Eike Kiltz Jiaxin Pan Horst Görtz Institute for IT Security Ruhr-University Bochum
1 Introduction 2 Affine MAC 3 From Affine MAC to IBE 4 Conclusion (H)IBE from Affine MAC | HGI | Crypto 2014 2/24
Outline 1 Introduction 2 Affine MAC 3 From Affine MAC to IBE 4 Conclusion
Identity-Based Encryption IBE Alice Bob C = Encrypt ( ’Bob’ , M ) − − − − − − − − − − − − − − − − → M M = Decrypt ( usk Bob , C ) (H)IBE from Affine MAC | HGI | Crypto 2014 4/24
History of IBE ◮ Shamir 84 (H)IBE from Affine MAC | HGI | Crypto 2014 5/24
History of IBE ◮ Shamir 84 ◮ Boneh-Franklin, Cocks (H)IBE from Affine MAC | HGI | Crypto 2014 5/24
History of IBE ◮ Shamir 84 ◮ Boneh-Franklin, Cocks ◮ Boneh-Boyen, Waters 05 (H)IBE from Affine MAC | HGI | Crypto 2014 5/24
History of IBE ◮ Shamir 84 ◮ Boneh-Franklin, Cocks ◮ Boneh-Boyen, Waters 05 ◮ Waters 09, Chen-Wee (H)IBE from Affine MAC | HGI | Crypto 2014 5/24
History of IBE ◮ Shamir 84 ◮ Boneh-Franklin, Cocks ◮ Boneh-Boyen, Waters 05 ◮ Waters 09, Chen-Wee ◮ . . . (H)IBE from Affine MAC | HGI | Crypto 2014 5/24
History of IBE ◮ Shamir 84 ◮ Boneh-Franklin, Cocks ◮ Boneh-Boyen, Waters 05 ◮ Waters 09, Chen-Wee ◮ . . . Open Problem Generic ???? − − − − − − − − − − − − − − − → IBE (H)IBE from Affine MAC | HGI | Crypto 2014 5/24
More about History Signature IBE MAC (H)IBE from Affine MAC | HGI | Crypto 2014 6/24
More about History Signature Naor IBE MAC (H)IBE from Affine MAC | HGI | Crypto 2014 6/24
More about History Signature + NIZK ([BelGol89]) Naor IBE MAC (H)IBE from Affine MAC | HGI | Crypto 2014 6/24
More about History Signature + NIZK ([BelGol89]) Naor [DKPW12] IBE MAC (H)IBE from Affine MAC | HGI | Crypto 2014 6/24
More about History Signature + NIZK ([BelGol89]) Naor [DKPW12] IBE MAC ???? (H)IBE from Affine MAC | HGI | Crypto 2014 6/24
MAC + NIZK → Signature Signature ◮ sk := ( sk MAC , y ) ; pk := Commit ( sk MAC ; y ) ◮ Sig ( sk , m ) : $ $ τ ← Tag ( sk MAC , m ) , π ← Prove ( ’ τ is valid’ ) ◮ Ver := Ver NIZK NIZK Proof NIZK := ( Prove , Ver NIZK ) for L : { ( τ, m , pk ) : ∃ sk , y s.t. Ver ( sk , τ, m ) = 1 ∧ pk = Commit ( sk ; y ) } (H)IBE from Affine MAC | HGI | Crypto 2014 7/24
? MAC + NIZK → IBE IBE ◮ sk := ( sk MAC , y ) ; pk := Commit ( sk MAC ; y ) ◮ Sig ( sk , m ) : $ $ τ ← Tag ( sk MAC , m ) , π ← Prove ( ’ τ is valid’ ) ◮ Ver := Ver NIZK NIZK Proof NIZK := ( Prove , Ver NIZK ) for L : { ( τ, m , pk ) : ∃ sk , y s.t. Ver ( sk , τ, m ) = 1 ∧ pk = Commit ( sk ; y ) } (H)IBE from Affine MAC | HGI | Crypto 2014 7/24
? MAC + NIZK → IBE IBE ◮ sk := ( sk MAC , y ) ; pk := Commit ( sk MAC ; y ) USKGen : ◮ $ $ τ ← Tag ( sk MAC , m ) , π ← Prove ( ’ τ is valid’ ) ◮ Ver := Ver NIZK NIZK Proof NIZK := ( Prove , Ver NIZK ) for L : { ( τ, m , pk ) : ∃ sk , y s.t. Ver ( sk , τ, m ) = 1 ∧ pk = Commit ( sk ; y ) } (H)IBE from Affine MAC | HGI | Crypto 2014 7/24
? MAC + NIZK → IBE IBE ◮ sk := ( sk MAC , y ) ; pk := Commit ( sk MAC ; y ) USKGen : ◮ $ $ τ ← Tag ( sk MAC , m ) , π ← Prove ( ’ τ is valid’ ) ◮ Enc := ???? � Ver NIZK ◮ Dec := ???? NIZK Proof NIZK := ( Prove , Ver NIZK ) for L : { ( τ, m , pk ) : ∃ sk , y s.t. Ver ( sk , τ, m ) = 1 ∧ pk = Commit ( sk ; y ) } (H)IBE from Affine MAC | HGI | Crypto 2014 7/24
? MAC + NIZK → IBE IBE ◮ sk := ( sk MAC , y ) ; pk := Commit ( sk MAC ; y ) USKGen : ◮ $ $ τ ← Tag ( sk MAC , m ) , π ← Prove ( ’ τ is valid’ ) ◮ Enc := ???? � Ver NIZK ◮ Dec := ???? Our Work ◮ Use the verification algorithm to define Enc and Dec (H)IBE from Affine MAC | HGI | Crypto 2014 7/24
? MAC + NIZK → IBE IBE ◮ sk := ( sk MAC , y ) ; pk := Commit ( sk MAC ; y ) USKGen : ◮ $ $ τ ← Tag ( sk MAC , m ) , π ← Prove ( ’ τ is valid’ ) ◮ Enc := ???? � Ver NIZK ◮ Dec := ???? Our Work ◮ Use the verification algorithm to define Enc and Dec ◮ Exploit the underlying structure of the MAC + NIZK (H)IBE from Affine MAC | HGI | Crypto 2014 7/24
Our Contributions (H)IBE = Affine MAC + Pairings ◮ Affine MAC: Affine Equations ◮ Pairings: Groth-Sahai Proofs, Affine Verification (H)IBE from Affine MAC | HGI | Crypto 2014 8/24
Our Contributions (H)IBE = Affine MAC + Pairings ◮ Affine MAC: Affine Equations ◮ Pairings: Groth-Sahai Proofs, Affine Verification The affine properties allow to define Enc and Dec . (H)IBE from Affine MAC | HGI | Crypto 2014 8/24
Outline 1 Introduction 2 Affine MAC 3 From Affine MAC to IBE 4 Conclusion
Matrix Notation a 11 . . . a 1 m ... ∈ Z n × m ◮ Considering ( G , g, q ) and A = q a n 1 . . . a nm Implicit Representation g a 11 g a 1 m . . . ... ∈ G n × m . [ A ] := g a n 1 g a nm . . . (H)IBE from Affine MAC | HGI | Crypto 2014 10/24
Affine MAC – Intuition MAC := ( Gen MAC , Tag , Ver ) . . . . t Tag ( sk , m ) → ( , [ u ]) . . . Affine MAC ◮ t : Random Part ◮ u : Message-depending Affine Part (H)IBE from Affine MAC | HGI | Crypto 2014 11/24
Affine MAC – Formal Definition ◮ Gen MAC ( par ) : , . . . , , x ′ 0 , . . . , x ′ sk := ( x 0 x ℓ ℓ ′ ) (H)IBE from Affine MAC | HGI | Crypto 2014 12/24
$ ◮ Tag ( sk , m ) → τ := ([ t ] , [ u ]) t � f i ( m ) x ⊤ i � f ′ u t i ( m ) x ′ = + i ∈ Z q ( ∗ ) Public functions, f i , f ′ i : M → Z q , define different implementations. ◮ Ver ( sk , m , ([ t ] , [ u ])) → 0 / 1 : Check if ([ t ] , [ u ]) satisfies Eq. ( ∗ ) (H)IBE from Affine MAC | HGI | Crypto 2014 13/24
PR-CMA Security PR-CMA ◮ Decisional Variant of EUF-CMA. (H)IBE from Affine MAC | HGI | Crypto 2014 14/24
Construction I: Naor-Reingold Approach Ideas Randomized and affine version of Naor-Reingold PRF. ◮ ◮ Security from standard assumption: k -Lin. ◮ Generalized to any Matrix DH assumption [EHKRV13]. (H)IBE from Affine MAC | HGI | Crypto 2014 15/24
Construction I: Naor-Reingold Approach Ideas Randomized and affine version of Naor-Reingold PRF. ◮ ◮ Security from standard assumption: k -Lin. ◮ Generalized to any Matrix DH assumption [EHKRV13]. $ Tag ( sk , m ) → τ := ([ t ] , [ u ]) t $ q , u = ( � | m | i =1 x ⊤ i, m i ) t + x ′ ← Z k 0 ∈ Z q (H)IBE from Affine MAC | HGI | Crypto 2014 15/24
Construction I: Naor-Reingold Approach Ideas Randomized and affine version of Naor-Reingold PRF. ◮ ◮ Security from standard assumption: k -Lin. ◮ Generalized to any Matrix DH assumption [EHKRV13]. $ Tag ( sk , m ) → τ := ([ t ] , [ u ]) t $ q , u = ( � | m | i =1 x ⊤ i, m i ) t + x ′ ← Z k 0 ∈ Z q ◮ Implicit in Chen-Wee13 ✓ Tight Reduction ✗ Linear Size Parameters (H)IBE from Affine MAC | HGI | Crypto 2014 15/24
Construction II: Hash Proof System Approach Ideas ◮ [DKPW12] shows HPS implies EUF-CMA MAC. (H)IBE from Affine MAC | HGI | Crypto 2014 16/24
Construction II: Hash Proof System Approach Ideas ◮ This work shows k -Lin based HPS implies PR-CMA Affine MAC. (H)IBE from Affine MAC | HGI | Crypto 2014 16/24
Construction II: Hash Proof System Approach Ideas ◮ This work shows k -Lin based HPS implies PR-CMA Affine MAC. ◮ Security from standard assumption: k -Lin. ◮ Generalized to any Matrix DH assumption. (H)IBE from Affine MAC | HGI | Crypto 2014 16/24
Construction II: Hash Proof System Approach Ideas ◮ This work shows k -Lin based HPS implies PR-CMA Affine MAC. ◮ Security from standard assumption: k -Lin. ◮ Generalized to any Matrix DH assumption. $ Tag ( sk , m ) → τ := ([ t ] , [ u ]) t $ Z k +1 , u = ( x ⊤ 0 + m · x ⊤ 1 ) t + x ′ 0 ∈ Z q � q (H)IBE from Affine MAC | HGI | Crypto 2014 16/24
Construction II: Hash Proof System Approach Ideas ◮ This work shows k -Lin based HPS implies PR-CMA Affine MAC. ◮ Security from standard assumption: k -Lin. ◮ Generalized to any Matrix DH assumption. $ Tag ( sk , m ) → τ := ([ t ] , [ u ]) t $ Z k +1 , u = ( x ⊤ 0 + m · x ⊤ 1 ) t + x ′ 0 ∈ Z q � q ✗ Loose Reduction ✓ Constant Parameters. (H)IBE from Affine MAC | HGI | Crypto 2014 16/24
Outline 1 Introduction 2 Affine MAC 3 From Affine MAC to IBE 4 Conclusion
Overview of Transformation to IBE ◮ Gen IBE ( par ) : x ′ x ′ sk MAC = , . . . , , , . . . , x 0 x ℓ 0 ℓ ′ y ′ y ′ Rand = , . . . , , , . . . , y 0 y ℓ 0 ℓ ′ (H)IBE from Affine MAC | HGI | Crypto 2014 18/24
Overview of Transformation to IBE ◮ Gen IBE ( par ) : x ′ x ′ sk MAC = , . . . , , , . . . , x ℓ x 0 0 ℓ ′ y ′ y ′ Rand = , . . . , y ℓ , , . . . , y 0 0 ℓ ′ z 0 = Commit ( x 0 ; y 0 ) (H)IBE from Affine MAC | HGI | Crypto 2014 18/24
Overview of Transformation to IBE ◮ Gen IBE ( par ) : sk MAC = , . . . , , , . . . , x ′ 0 x ′ ℓ ′ x 0 x ℓ Rand = , . . . , , , . . . , y ′ y ′ y 0 y ℓ 0 ℓ ′ pk := ([ z i ] 1 , [ z ′ i ] 1 ) (H)IBE from Affine MAC | HGI | Crypto 2014 18/24
Recommend
More recommend