Title: Pairing-Based Cryptography
1Pairing-Based Cryptography
- Dan Boneh
- Stanford University
Tutorial FOCS 2007
2A new tool pairings (gt1200 papers)
- Encryption schemes with new properties
- Identity-based, Broadcast, Forward secure,
Homomorphic, Searchable, Proxiable, CCA,
- Signature systems with new properties
- Short, Aggregate, Append-only,VRF,
Short group sigs, e-cash, - Efficient non-interactive zero-knowledge (NIZK)
3Conferences PiC 2005
4Conferences Pairings 2007
5Commercial Interest
6Gemalto (formerly Gemplus)
7Part 1 What is a pairing?
8Recall Diffie-Hellman protocol
- G group of prime order q g ? G
generator - Security Decision Diffie-Hellman assumption
in G - (g, A, B, gab ) indist. from (g, A,
B, grand )
Alice a ? Zq
Bob b ? Zq
gab
gab
9Standard complexity assumptions
- G group of order q 1? g ? G
x,y,z ? Zq - Discrete-log problem g, gx ? x
- Computational Diffie-Hellman problem (CDH)
- g, gx , gy ? gxy
- Decision Diffie-Hellman problem (DDH)
- g, gx , gy , gz ?
10Groups used in cryptography
- Groups where Dlog, CDH, DDH believed hard
- (Z/pZ) for prime p
- Elliptic Curves E(Fp) y2 x3 ax b
11Pairings
- Additional structure on elliptic curves
pairings - Defined by A. Weil (1946)
- Miller 84 Algorithm for computing
- MOV 93 Used to attack certain EC systems
- Recently (2000-7) lots of crypto applications
- Joux ANTS00 , Sakai-Ohgishi-Kasahara
SCIS 00
12Pairings
GT
G
ga
e(g,g)ab
- G , GT finite cyclic groups of prime
order q. - Def A pairing e G?G ? GT is a map
- Bilinear e(ga, gb) e(g,g)ab ?a,b?Z,
g?G - Poly-time computable and non-degenerate g
generates G ? e(g,g) generates GT - Current examples G ? E(Fp) , GT ?
(Fp?) - ( ? 1, 2, 3, 4, 6, 10, 12 )
gb
e( gx , hy ) e( gy , hx )
13Consequences of pairing
- Decision Diffie-Hellman (DDH) in G is easy
J00, JN01 - input g, gx, gy , gz ? G
- to test if zxy do
-
- Dlog reduction from G to GT MOV 93
DLog in G
?
g, ga ? G
14Complexity assumptions in bilinear groups
?
- e G ? G ? GT 1? g ? G
x,y,z ? Zq - Discrete-log problem g, gx ? x
- Computational Diffie-Hellman problem (CDH)
- g, gx , gy ? gxy
- Bilinear Decision Diffie-Hellman problem (BDDH)
- g, gx , gy , g z ?
?
?
h, e(h, )
15Where pairings come from
E(Fp) G
Tate pairing e(P, Q) fP(Q) (p?-1)/q
, (fP) q?(P) - q?(O) V. Miller (84)
fP has a short straight line program but
? P,Q ? E(Fp) e(P,Q) 1
16Supersingular bilinear groups
- Supersingular curves ( e.g. y2 x3 x ,
p3 (mod 4) )
E(Fp) G
Possible ? ?2,3,4,6 or ?7.5 RS
02
17MNT and BN groups
G1
Open problem larger ? (prime order
E(Fp) ) e.g. ? 16,20,24,
E(Fp) G0
e G0 ? G1 ? GT
- MNT 01 Curves ?2,3,4,6
- BN 05, F05 Curves ?10, 12
not supersingular curves
18Part 2 Crypto Applications
19Recall Pub-Key Encryption (PKE)
- PKE Three algorithms (G, E, D)
- G(?) ? (PK,SK) outputs pub-key and secret-key
- E(PK, m) ? c encrypt m using pub-key PK
- D(SK, c) ? m decrypt c using SK
obtain PKalice
20Example ElGamal encryption
- G(?) (G, g, q) ? GenGroup(?)
- SK ( ? ? Zq ) PK ( h ?
g? ) - E(PK, m?G) s?Zq and do c ? ( gs ,
m ? hs ) - D(SK?, c(c1,c2) ) observe c1?
(gs)? hs - Security (IND-CPA) based on the DDH assumption
- (g, h, gs , hs ) indist. from
(g, h, gs , grand )
Note ElGamal is insecure in bilinear groups
21Identity Based Encryption Sha 84
- IBE PKE system where PK is an arbitrary
string - e.g. e-mail address, phone number, IP addr
CA/PKG
master-key
22Identity Based Encryption Sha 84
- Four algorithms (S,K,E,D)
- S(?) ? (PP,MK) output params, PP, and
master-key, MK - K(MK, ID) ? dID outputs private key, dID ,
for ID - E(PP, ID, m) ? c encrypt m using pub-key ID
(and PP) - D(dID, c) ? m decrypt c using dID
- IBE compresses exponentially many PKs into a
short PP
23Using IBE as a primitive
- IBE ?
- CCA-secure public key encryption CHK04,
BK04, BMW05 - Non-interactive CCA-secure threshold encryption
BBH05 - Searchable public key enc BDOP04, AB05
- Automatic trust negotiations LDB03
- Forward secure encryption CHK 03 (from
H-IBE)
24Can we build an IBE ??
- ElGamal is not an IBE
- SK ( ? ? Zq ) PK ( h ?
g? ) - PK can be any string h
alice_at_gmail.com ? G - but cannot compute secret key ?
- RSA is not an IBE
- Cannot map to an RSA public key (N, e)
25Pairings to the rescue BF-IBE BF01
- S(?) (G, GT, g, q) ? GenBilGroup(?) , ? ?
Zq - PP g, y?g? ?G MK ?
- K(MK, ID) d ? H(ID)?
- E(PP, ID, m) s?Zq and do
- C ? ( gs , m ? e(y, H(ID))s )
- D( d, (c1,c2) )
- observe e( c1 , d ) e( gs , H(ID)? )
H ID ? G
26Another IBE BB-IBE BB04
- S(?) (G, GT, g, q) ? GenBilGroup(?) , ? ?
Zq - PP g, y?g?, g1 , h ?G MK
g1? - K(MK, ID) dID ? ( MK ? (yID?h)r ,
gr ) - E(PP, ID, m) s?Zq and do
- C ? ( gs , (yID?h)s , m?e(y,g1)s
) - D( (d1,d2), (c1,c2,c3) )
- observe e(c1, d1) / e(c2, d2) e(y,
g1)s
r ?Zq
27IBE Security (IND-IDCPA) BF01
- Security when attacker can request several
private keys
Challenger
Attacker A
PP, MK ? S(?)
(S,K,E,D) is IND-IDCPA secure if ? PPT A
Prbb ½ lt neg(?)
28IBE Security (IND-sIDCPA) CHK04
- Security when attacker can request several
private keys
Challenger
Attacker A
PP, MK ? S(?)
ID
(S,K,E,D) is IND-sIDCPA secure if ? PPT A
Prbb ½ lt neg(?)
29IBE Security
- BB-IBE security theorem BB04
- BDDH ? BB-IBE is IND-sIDCPA secure
- Waters-IBE W05 generalizes BB-IBE
- BDDH ? Waters-IBE is IND-IDCPA secure
- Gentry-IBE G06 short PP
- q-BDHE ? Gentry-IBE is IND-IDCPA secure
30New Signature Systems
- CDH ? short and efficient sigs (!!)
31IBE ? Simple digital Signatures N01
- Sign(MK, m) sig ? K(MK, m)
- Verify(PP, m, sig) Test that sig decrypts
messages encrypted using m - Conversely which sig systems give an IBE?
- Rabin signatures Cocks01, BGH07
- Open problem IBE from GMR, GHR, CS,
- Blackbox Impossibility IBE from trapdoor perms
BPRVW07
32Simple bilinear signatures BLS 01
- H 0,1 ? G hash function. 1? g ? G
, Gq - G(?) ? ? Zq, PK y ? g? ? G ,
SK ? - Sign(SK, m) S ? H(m)? ? G
- Verify(PK,m,S) test e(S, g)
e(H(m), y) - Thm When H is modeled as a Random Oracle CDH
holds in G ? sig is existentially
unforgeable
?
Short signature single group element
33Properties
- Short
- Aggregatable BGLS02, Bol02
BLS RSA DSS
160 (bits) 1024 (bits) 320 (bits)
34Signatures w/o Random Oracles
- Signature system from BB-IBE
- G(?) ? ? Zq, g1, h ? G
- PK ( g, g1, y ? g? , h) ? G ,
SK g1? - Sign(SK, m) r ? Zq ,
- S ? ( SK ? (ymh)r , gr ) ? G2
- Verify(PK, m, S(s1,s2) ) e(s1, g) / e(ymh,
s2) e(g1, y)
?
35Selectively unforgeable sigs GMR88
- Sig is selectively unforgrable if
- ? PPT A PrVerify(PK,m,S) yes lt
neg(?)
Challenger
Attacker
(PK,SK) ?K(?)
36Security Theorem
- Thm CDH ? (sigs from BB-IBE) are selec.
unforgeable - Proof Intuition
Algorithm for CDH (us)
Sig Forger
SK g1?
37Waters Sigs existentially unforgeable Wat 05
- G(?) ? ? Zq , g1, h, y1,,yn ? G
- PK (g, g1, y ? g? , h, y1 , , yn) ? G ,
SK g1? - Sign(SK, M) r ? Zq , Mm1m2 mn ?
0,1n - S ? ( SK ? ( )r ,
gr ) ? G2 - Verify(PK, M, S(s1, s2) )
- e(s1 ,g) / e(y1m1 ynmn? h, s2 ) e(g1,
y)
yM?h
y1m1 ynmn ?h
38Existentially unforgeable
- Thm CDH ? Waters-sigs are unforgeable
(!!)
m
W
BB
1/(2n)
1/q
mm
a1m1 anmn v
39Summary thus far
- IBE from pairings
- BDDH ? efficient secure IBE
- and extensions H-IBE, anon-IBE ,
- Short signatures from pairings
- CDH ? existential unforgeablility
- with RO sig ? G , without RO
sig ? G2
40Part 3 Computing on Ciphertexts
41An old open problem RAD78
- Doubly homomorphic encryption (IND-CPA)
- (G,E,D) where messages live in Fp
- ? PPT algorithms A and A? s.t.
- A ( E(PK, m1) , E(PK, m2) ) ?
E(PK, m1m2 ) - A? ( E(PK, m1) , E(PK, m2) ) ?
E(PK, m1?m2 ) - Note ElGamal is multiplicative-homomorphic
- but not additive
? computing on ciphertexts
42Bilinear groups of order Npq BGN05
- G group of order Npq. (p, q)
secret - bilinear map e G ? G ? GT
- G Gp ? Gq . gp gq ? Gp
gq gp ? Gq - Facts e( gp , gq ) e(gq , gp) e(g,g)N 1
- e( gp , ? ) ? (GT)q
43BGN encryption (1?)-homomorphic
- G(?) generate bilinear group G of order
Np?q - PK ? (G, N, g, gp ) SK ? p
- E(PK,m) r ? ZN , C ? gm (gp)r ? G
- D(SK, C) Cp gmp ? gprp (gq)m ?
Gq - Output Dloggq( Cp )
- Note decryption time is O(?m )
- ? require small message space ( e.g.
0,1 )
44Homomorphic Properties
- C1 ? gm1 (gp)r1 , C2 ? gm2 (gp)r2
? G - Additive hom E(m1m2) C1 ? C2 ? (gp)s
- One mult hom E(m1?m2) e(C1,C2) ? e(gp,gp)s
- More generally E(m1), , E(mn) ?
E(F(m1,,mn)) - For any F?ZNX1,,Xn of total degree 2
- Example dot product on encrypted vectors
AW07
45Security the subgroup assumption
- Subgroup assumption G ? Gp
Distribution PG (?) (G,g,p,q) ?
GroupGen(?) N ? p?q s ? ZN Output (G,
N, g, gp, gs )
Distribution Pp (?) (G,g,p,q) ?
GroupGen(?) N ? p?q s ? ZN Output (G,
N, g, gp, (gp)s )
For any poly-time A PrA(X)
X?PG(?) ? PrA(X) X?Pp(?) lt neg(?)
Thm BGN is semantically secure under the
subgroup assumption
46Non-Interactive Zero Knowledge GOS06
- NIZK proof size O( gates ? ?)
- CRS size O(?)
47Goal NIZK for circuit SAT BFM88
z
AND
boolean circuit
OR
NOT
OR
AND
AND
NOT
AND
NOT
? 0,1
b1
b6
b2
b3
b4
b5
b7
b8
Goal prover wants to convince verifier that
circuit is satisfiable in zero knowledge and
without interaction
48Plan of attack
NAND(x1,,xn) 1-?xi
b17
NAND
boolean circuit
b15
b14
b16
NAND
NAND
NAND
b9
b10
b11
b12
b13
NAND
NAND
NAND
NAND
NAND
? 0,1
b1
b6
b2
b3
b4
b5
b7
b8
com(b1) , com(b2) , , com(bm) and for all
gates (i,j,k) proof that bi , bj , bk ?0,1
and bk bi NAND bj
Proof
49Composite order commitments
- Common Reference String (G, g, gp) ,
GNpq - com(m) r ? ZN , output C?gm?(gp)r
- note com(m1) ? com(m2) is commitment for
(m1m2) - Fact z x NAND y ? x, y, z,
xy2(z-1) ? 0,1 - For a C?G we need a (W.I.) proof for the
statement - Ccom(0) or Ccom(1)
- Then for each gate (i,j,k) generate proof of 0
or 1 for - com(bi) , com(bj) , com(bk), and
- com(bi) ? com(bj) ? com(bk) / com(1)2
50GOS (W.I.) Proof
- Common Reference String (G, g, gp) ,
GNpq - Let C gm ? (gp)r
- IF C g ? (gp)r or C (gp)r
- THEN L e(C , Cg-1) e(gp , ? ) ? (GT)q
- ?m?0,1, r e(C , Cg-1) e( gp ,
g2m-1? (gp)r ) - Proof that () is true ? g2m-1?
(gp)r ? G - To verify proof test if e(C, Cg-1) e(
gp , ?)
()
(order p)
?
51Why is the proof Zero Knowledge?
- Common Reference String (G, g, gp) ,
GNpq - Basic idea
- Simulator uses (G, g, grand ) as CRS
- Indistinguishable by subgroup assumption
- Commitment C gm ? (grand)r contains no
info on m - Summary multi-theorem NIZK
- NIZK proof size O( gates ? ?)
- CRS size O(?)
52Part 4 open problems
53Open problems
- n-linear maps?
- e Gn ? GT where Dlog in G is intractable
- Motivation
- Homomorphic encryption, broadcast enc, BS02
542. Verifiable Random Functions MRV99
- Verifiable Random Function (VRF)
- Setup(?) ? (PK,SK)
- PRF F(SK, x) ? y and proof ?
- verify(PK, x, y, ? ) ? yes/no
- Pairing-based constructions L02, DY05
- PK(g, g?) , SK?
- F(?, x) e(g,g)1/(?x) ?
g1/(?x) - but, security reduction takes exponential time
in x - Question simple construction with poly-time
reduction
55THE END
Pairings A powerful tool for building
cryptosystems