Structure-Preserving Signatures from Type II Pairings

Structure-Preserving Signatures
from Type II Pairings
Masayuki Abe, NTT
Jens Groth, University College London
Miyako Ohkubo, NICT
Mehdi Tibouchi, NTT
Mathematical structures in cryptography
β€’ Cyclic prime order group G
– 𝐺 π‘₯ β‹… 𝐺 𝑦 = 𝐺 π‘₯+𝑦
β€’ Useful mathematical structure
–
–
–
–
ElGamal encryption
Pedersen commitments
Schnorr proofs
…
Pairing-based cryptography
β€’ Groups G1 , G2 , G 𝑇 with pairing 𝑒: G1 × G2 β†’ G 𝑇
– 𝐺 π‘₯ β‹… 𝐺 𝑦 = 𝐺 π‘₯+𝑦
– 𝑒 𝐺 π‘₯ , 𝐻 𝑦 = 𝑒 𝐺, 𝐻
π‘₯𝑦
β€’ Additional mathematical structure
–
–
–
–
–
One-round tripartite key exchange
Identity-based encryption
Short digital signatures
NIZK proofs
…
Structure-preserving cryptography
β€’ Preserve mathematical structure of pairing groups
– Communication consists of group elements in G1 , G2
– Use generic group operations
β€’ Multiplication, membership testing, pairing
– Avoid structure-destroying operations
β€’ No cryptographic hash-functions
β€’ Modular design
– Structure-preserving
building blocks easy to combine
Bilinear group setup
β€’ 𝑝, G1 , G2 , G 𝑇 , 𝑒, 𝐺, 𝐻 ← Gen(1π‘˜ )
– Groups G1 , G2 , G 𝑇 of prime order 𝑝
– Bilinear map 𝑒: G1 × G2 β†’ G 𝑇
β€’ 𝑒 𝐺 π‘₯ , 𝐻 𝑦 = 𝑒 𝐺, 𝐻 π‘₯𝑦
β€’ G1 = 〈𝐺βŒͺ , G2 = 〈𝐻βŒͺ , G 𝑇 = βŒ©π‘’ 𝐺, 𝐻 βŒͺ
β€’ Types
– Type I: G1 = G2 and 𝐺 = 𝐻
– Type II: G1 β‰  G2 but there is efficiently computable
homomorphism πœ“: G2 β†’ G1 (and 𝐺 = πœ“ 𝐻 )
– Type III: G1 β‰  G2 and no efficient homomorphism
Structure-preserving signatures
β€’ Setup describes bilinear group and group
elements in G1 , G2
β€’ Verification key adds group elements in G1 , G2
β€’ Messages consist of group elements in G1 , G2
β€’ Signatures consist of group elements in G1 , G2
β€’ Verifier uses pairing product equations to check
validity of signatures, e.g.,
𝑒 𝐺, 𝑆 = 𝑒 𝑉, 𝑀 𝑒 πœ“ 𝑅 , 𝑅 𝑒 π‘Š, 𝐻
Efficiency of structure-preserving signatures
Pairing type
Verification
equations
Signature
size
Verification
key size
Type I: G1 = G2
2
3
2 (1)
Type II: πœ“: G2 β†’ G1
1
2
2
Type III: G1 β‰  G2
2
3
2 (1)
Matching upper and lower bounds
for all types of bilinear groups
First lower bound on
verification key size
Type II: Holds when 𝑀 ∈ G2
Unknown for Type I and III
Constructions
β€’ Structure-preserving signatures in Type II groups
with efficiently computable linear map πœ“: G2 β†’ G1
β€’ Strongly existentially unforgeable signatures
– Infeasible to forge signature on new message
– Infeasible to forge new signature on old message
β€’ Randomizable signatures
– Infeasible to forge signature on new message
– Possible to randomize signature on old message such
that it looks like a fresh signature
Strongly unforgeable signatures
β€’ Setup 1π‘˜ : Return 𝑃𝑃 = 𝑝, G1 , G2 , G 𝑇 , 𝑒, 𝐺, 𝐻
𝑝, G1 , G2 , G 𝑇 , 𝑒, 𝐺, 𝐻 ← Gen(1π‘˜ )
β€’ KeyGen 𝑃𝑃 : Return 𝑉𝐾 = (𝑉, π‘Š) and 𝑆𝐾 = 𝑣, 𝑀
𝑣, 𝑀 ← 𝑍𝑝 ; 𝑉 = 𝐺 𝑣 ; π‘Š = 𝐺 𝑀
β€’ Sign𝑃𝑃,𝑆𝐾 (𝑀): Given 𝑀 ∈ G2 return Ξ£ = (𝑅, 𝑆)
𝑑 ← π‘π‘βˆ— ; 𝑅 = 𝐻 π‘‘βˆ’π‘€ ; 𝑆 =
𝑣 1
𝑀𝑑 𝐻𝑑
β€’ Verify𝑃𝑃,𝑉𝐾 𝑀, (𝑅, 𝑆) : Accept if and only if
𝑀, 𝑅, 𝑆 ∈ G2 and 𝑒 π‘Šπœ“ 𝑅 , 𝑆 = 𝑒 𝑉, 𝑀 𝑒 𝐺, 𝐻
Randomizable signatures
β€’ Setup 1π‘˜ : Return 𝑃𝑃 = 𝑝, G1 , G2 , G 𝑇 , 𝑒, 𝐺, 𝐻
𝑝, G1 , G2 , G 𝑇 , 𝑒, 𝐺, 𝐻 ← Gen(1π‘˜ )
β€’ KeyGen 𝑃𝑃 : Return 𝑉𝐾 = (𝑉, π‘Š) and 𝑆𝐾 = 𝑣, 𝑀
𝑣, 𝑀 ← 𝑍𝑝 ; 𝑉 = 𝐺 𝑣 ; π‘Š = 𝐺 𝑀
β€’ Sign𝑃𝑃,𝑆𝐾 (𝑀): Given 𝑀 ∈ G2 return Ξ£ = (𝑅, 𝑆)
π‘Ÿ ← 𝑍𝑝 ; 𝑅 =
π»π‘Ÿ
; 𝑆=
2 +𝑀
𝑣
π‘Ÿ
𝑀 𝐻
β€’ Verify𝑃𝑃,𝑉𝐾 𝑀, (𝑅, 𝑆) : Accept if and only if
𝑀, 𝑅, 𝑆 ∈ G2 and 𝑒 𝐺, 𝑆 = 𝑒 𝑉, 𝑀 𝑒 πœ“ 𝑅 , 𝑅 𝑒 π‘Š, 𝐻
β€’ Randomize𝑃𝑃,𝑉𝐾 (𝑀, Ξ£): Return Ξ£β€² = (𝑅′ , 𝑆′)
𝛼 ← 𝑍𝑝 ; 𝑅′ =
𝑅𝐻 𝛼
; 𝑆′ =
2
2𝛼
𝛼
𝑆𝑅 𝐻
Efficiency
Beats lower bounds in
Type I and III groups
β€’ Signature size
– 2 group elements in G2
Unilateral signature
β€’ Verification key size
– 2 group elements in G1
Provably minimal
β€’ Less efficient than signatures in Type III groups
– In current Type II instantiations we have larger G2
elements than Type III. So even though we have fewer
group elements, Type III signatures are smaller
– Also, currently membership testing in G2 is expensive,
so verification is slower than comparable Type III
signatures [Chatterjee and Menezes, ePrint 2014]
Security
β€’ The signature schemes are provably secure in the
generic bilinear group model
β€’ We conjecture that for a minimal size signature
scheme it is necessary to use an interactive
assumption (it is the case for Type III signatures)
β€’ Can tweak the randomizable signature scheme to
become secure under a non-interactive
assumption by adding a group element to
verification key and signature
β€’ Verify signature Ξ£ = (𝑅, 𝑆, 𝑇) on 𝑀 by checking
𝑒 𝐺, 𝑆 = 𝑒(π‘ˆ, 𝑇)𝑒 𝑉, 𝑀 𝑒 πœ“ 𝑅 , 𝑅 𝑒 π‘Š, 𝐻
Lower bounds for 𝑀 ∈ G1
Matches lower bounds in
Type I and Type III settings
β€’ Theorem
A structure-preserving signature scheme in the
Type II setting on messages 𝑀 ∈ G1 must have at
least 2 verification equations
– Even for one-time signatures under random message attack
β€’ Theorem
A structure-preserving signature scheme in the
Type II setting on messages 𝑀 ∈ G1 must have at
least 3 group elements in the signatures
– Generic signer, even for random message attack
Lower bounds for 𝑀 ∈ G𝟐
Theorems show our
constructions are optimal
β€’ Theorem
A structure-preserving signature scheme in the
Type II setting with a single verification equation
must have at least 2 group elements in the
verification key
One-time signatures can be smaller
𝑒 𝐺, 𝑆 = 𝑒 𝑉, 𝑀 𝑒(π‘Š, 𝐻)
– Even for one-time signatures under random message attack
β€’ Theorem
A structure-preserving signature scheme in the
Type II setting on messages 𝑀 ∈ G2 must have at
least 2 group elements in the signatures
– Generic signer, even for random message attack
Summary
β€’ Complete classification
Pairing type
Verification
equations
Signature
size
Verification
key size
Type I: G1 = G2
2
3
2 (1)
Type II: πœ“: G2 β†’ G1
1
2
2
Type III: G1 β‰  G2
2
3
2 (1)
β€’ Constructions
– Strong
𝑒 π‘Šπœ“ 𝑅 , 𝑆 = 𝑒 𝑉, 𝑀 𝑒 𝐺, 𝐻
– Randomizable 𝑒 𝐺, 𝑆 = 𝑒 𝑉, 𝑀 𝑒 πœ“ 𝑅 , 𝑅 𝑒 π‘Š, 𝐻