The Methodology of Provable Security
Marc Joye
Thomson Security Labs marc.joye@thomson.net
The Methodology of Provable Security Marc Joye Thomson Security - - PDF document
The Methodology of Provable Security Marc Joye Thomson Security Labs marc.joye@thomson.net DIWALL Seminar March 20, 2008 Contents Part I Introduction Part II Signature Schemes Part III Encryption Schemes Part IV Conclusion Part I
Thomson Security Labs marc.joye@thomson.net
Input: keylength k and e Output: N = pq such that |N|2 = k and gcd(e, φ(N)) = 1 d = e−1 mod φ(N) pk = {e, N} and sk = {d}
Input: private key sk and message m Output: signature σ = md mod N
Input: public key pk, signature σ, and message m Output: σe
?
≡ m (mod N)
Idem with m1 = r e mod N for a random r (Note that σ1 = r)
= ⇒ textbook RSA signatures are unforgeable (provided that the RSA problem is hard)
= ⇒ textbook RSA signatures are (universally) forgeable under chosen-message attacks
Reduction to a hard problem Definition of a security model Definition of the adversary’s resources
Signature schemes Encryption schemes
Input: security parameter κ Output: key pair (pk, sk)
Input: signing key sk, message m [and random r] Output: σ = S (sk, m [, r])
Input: verification key pk, signature σ [and message m] Output: V (pk, σ [, m]) = 0 or 1
some instance I of an ‘intractable’ problem
pk given to A simulation of Ssk(·) to answer qS queries of A
resolution of I from (m∗, σ∗)
φ(N) and random
N, compute x = ye−1 mod φ(N) mod N
N, find a pair (x, e) s.t.
N
choose m′ ∈R M define E =
m∈M m=m′ H(m) and u = y E mod N
if m = m′ then return σ = uE/H(m) mod N if m = m′ then abort
∗ yb mod N and e = H(m′)
qs #M
1 #M−qs = ǫA #M
Challenge: RSA(ˆ N, ˆ e, ˆ y) Find ˆ x ∈ Z/NZ s.t. ˆ y ≡ ˆ xˆ
e (mod ˆ
N) Find ˆ y ≡
qH: number of hash queries that are not followed later by a signature query on the same message qS: number of signature queries
if i = j, add (m, σi, hi) to Hist[H] with hi = σi e mod N for a random σi ∈R (Z/NZ)∗, and return hi if i = j then add (m, ⊥, hj) to Hist[H] with hj = ˆ y, and return hj
sk(m)
if σi = ⊥ then fail and stop
ǫ = 2−120 if ǫA = 2−80 ǫA = 2−40 if ǫ = 2−80
qS
Probabilistic Signature Scheme µ(m) = µPSS(m, r) for a random r highest security level (EUF-CMA) in the ROM tight security proof and can be with message recovery
N,
y ∈R g ⊆ Z∗
P
g of prime order Q | (P − 1)
P of order Q
x
where x = DLg(y)
where D = E −1 mod φ(N)
keep a tight reduction without relying on the division-intractability assumption
choose a random prime exponent c use a chameleon function to tighten the security reduction
n = (2p′ + 1)(2q′ + 1) and N = (2P′ + 1)(2Q′ + 1) u ∈R Z∗
n and g ∈R Z∗ N
E is an (ℓm + 1)-bit prime (and gcd(E, P′Q′) = 1)
Notes: 1) For sEUF-CMA, also check that (r, s) ∈ [0, N[ × [0, n[ 2) No need to check the primality of c′
Security
Typical
Bitsizes
Tight. Ass.
values
σ pk sk GHR (II) O(1) Div + DL ℓn = ℓp = 1024 ℓn + ℓq 2ℓn + 3ℓp
1 2 ℓn
+ SRSA ℓq = 160 Twin-GHR O(1) SRSA ℓn = 1024 2ℓn + 2ℓm 4ℓn ℓn ℓm = 160 CS O 1
qs
ℓn ≫ 1024 2ℓn + ℓh 3ℓn + ℓh
1 2 ℓn
ℓh = 160 Fischlin O 1
qs
ℓn ≫ 1024 ℓn + 2ℓh 4ℓn
1 2 ℓn
ℓh = 160 TSS O(1) SRSA ℓn = 1024 2ℓn 4ℓn + ℓm ℓn ℓm = 160
meets the highest security notion is proven secure in the standard model is tightly and solely related to SRSA does not require additional properties on a hash function
comes with a companion on-line/off-line variant
Use it!
Input: security parameter κ Output: key pair (pk, sk)
Input: encryption key pk, message m [and random r] Output: C = E (pk, m [, r])
Input: decryption key sk, ciphertext C Output: m = D(sk, C)
security goal, adversarial resources (black-box adversaries) standard vs. idealized model
e.g., RSA problem, DL problem, . . .