Simulatable Channels:
Extended Security that is Universally Composable and Easier to Prove.
ASIACRYPT 2018
- M. Fischlin
- J. P. Degabriele
1
Simulatable Channels: Extended Security that is Universally - - PowerPoint PPT Presentation
Simulatable Channels: Extended Security that is Universally Composable and Easier to Prove. ASIACRYPT 2018 J. P. Degabriele M. Fischlin 1 What this talk is about We propose and explore new security definitions for symmetric encryption
Extended Security that is Universally Composable and Easier to Prove.
ASIACRYPT 2018
1
encryption based on simulation.
encryption but it could be adapted to the latter.
interesting, non-trivial to formalise, allow simpler proofs, and imply universal composability.
2
3
4
ciphertexts [BKN02, KPB03, BHMS16].
errors, release of unverified plaintext, and other forms of leakage [BDPS13, ABLMMY14, HKR14, BPS15].
fashion [PW10, BDPS12, FGMP15, ADHP16].
5
6
notions of choice.
multiple errors, and don’t support fragmentation.
7
IND$-CPA nAE
8
! ← ℰ$(&) ; ((, &) ← *$(!)
leakage string.
! ← ℰ$(&) ; (0, &0 … ((2, &2) ← *$(3)
9
in this case the simulator is of a specific type.
simulator ! such that "[$ℰ& ⋅ ⇒ 1] − "[$, ⋅ ⇒ 1] ≤ . .
and still be simulatable!
10
IND$-CPA ⟹ ES ⟺ IND-CPA
((*ℓ) for a key '
, sampled independently (simulator is stateful).
ES-CCA ⟸ IND-CCA
ES ∧ Stateless(#) ⟹ KP-CPA
11
be simulatable.
"[$ℰ& ⋅ ,)& ⋅ ⇒ 1] − "[$ℰ& ⋅ ,. ⋅ ⇒ 1] ≤ 0 .
ℰ1 ⋅ to . ⋅ .
transcript of the encryption queries.
12
adversary and should not degrade security.
IND-CPA ⋀ DS ⟹ IND-CCA.
13
transcript to answer queries not in the transcript!
access to the transcript via a fixed wrapper algorithm $.
plaintext security: IND-CPA ∧ DS ⟹ IND-CCA where an ES version also holds.
IND-CCA ⟹ DS but ES-CCA ⟹ DS thereby establishing a relation between encryption simulatability and decryption simulatability.
14
simulatability by imposing an extra requirement on the simulator.
simulator ! always returns outputs "# $%& #"'( (⊥, ,).
simply from the design of the simulator.
DS-I ⟹ INT-CTXT
15
simulatability into a single notion (ES ∧ DS-I).
additional computational abilities to the adversary.
16
17
Encrypt PRF-MAC
Payload Ciphertext MAC tag Sequence Number
4
Packet Length
4
Pad Len 1 Padding
≥4
(b) wait until that many bytes are received, (c) resume decrypting the rest of the ciphertext.
boundaries in order to determine when to return an output.
length field should remain hidden (if the encryption is good).
(with an encryption interface and a decryption interface).
18
∃"∀$ such that +[$ℰ. ⋅ ,1. ⋅ ⇒ 1]−+[$" 6,|⋅| ,8["] 9,⋅ ⇒ 1] ≤ ; .
nice properties of ES ∧ DS-I. CS-I ⟹ IND-CCA, INT-CTXT
hops, into an algorithm devoid of the secret key and the message.
19
20
parse K as (Ke, Km, IV )
2 :if e-seqnr = 0
3 :e-ctr Ω IV / / initialise on first call
4 :mlen Ω |m|B
5 :/ / calculate padding length
6 :padlen Ω blocksize ≠ (5 + mlen)%blocksize
7 :if padlen < 4
8 :padlen Ω padlen + blocksize
9 :/ / encode the message
10 :pad ⌘ {0, 1}padlen·8
11 :len Ω 1 + mlen + padlen
12 :ptxt Ω ÈlenÍ32 Î ÈpadlenÍ8 Î m Î pad
13 :/ / encrypt and mac
14 :τ Ω MAC(Km, Èe-seqnrÍ32 Î ptxt)
15 :z Ω ε
16 :while |z| < |ptxt|
17 :z Ω z Î BC(Ke, e-ctr)
18 :e-ctr Ω e-ctr + 1
19 :c Ω (ptxt ü z) Î τ
20 :e-seqnr Ω e-seqnr + 1
21 :return c
parse K as (Ke, Km, IV )
2 :if d-seqnr = 0 · α = ε
3 :d-ctr Ω IV / / initialise on first call
4 :if closed
5 :α Ω α Î f; out Ω ε / / update buffer and reset output
7 :while (true) / / process buffer (α)
8 :if |α|B < blocksize
9 :break / / first ciphertext block is incomplete
10 :/ / decrypt first ciphertext block
11 :ptxtÕ Ω α[1, blocksize] ü BC(Ke, d-ctr)
12 :d-ctr Ω d-ctr + 1
13 :clen Ω ÈptxtÕ[1, 32]Í≠1 + 4 + macsize
14 :inRange Ω (16 + macsize Æ clen Æ 35000)
15 :isMult Ω ((clen ≠ macsize)%blocksize ”= 0)
16 :if ¬ inRange ‚ isMult / / validate length
17 :closed Ω true; break
19 :if |α|B < clen
20 :break / / wait to complete ciphertext
21 :z Ω ε / / decrypt and verify mac
22 :while |z| < (clen ≠ blocksize ≠ macsize)
23 :z Ω z Î BC(Ke, e-ctr)
24 :d-ctr Ω d-ctr + 1
25 :ptxtÕ Ω ptxtÕ Î z ü α[blocksize + 1, clen ≠ macsize]B
26 :τ Õ Ω α[clen ≠ macsize + 1, clen]B
27 :α Ω α[clen + 1, ú]B / / remove decrypted ciphertext
28 :if τ Õ ”= MAC(Km, Èd-seqnrÍ32 Î ptxtÕ)
29 :closed Ω true; break
31 :padlen Ω ÈptxtÕ[5, 5]BÍ≠1 / / validate padding length
32 :mlenÕ Ω clen ≠ padlen ≠ 4 ≠ 1 ≠ macsize
33 :if (mlenÕ > 32789) ‚ (mlenÕ < 1)
34 :closed Ω true; break
36 :mÕ Ω ptxtÕ[6, clen ≠ macsize ≠ padlen]B
37 :d-seqnr Ω d-seqnr + 1
39 :return out
36
analysed in [PW10] using a different security model supporting fragmentation.
simpler proof showing that SSH-CTR is CS-I secure.
universally composable.
22
[Channel] P1 P2 m m |m| deliver Sim Env ℱSC [CE] ℱSC (EstCh,sid,P1,P2) Ideal World (without corruptions)
23
CS-I Simulated World
simulated world in CS-I corresponds quite closely to the ideal world in the UC setting.
( ⟶ Env + P1 + P2 )(+/-,⋅) ⟶ Sim
very close to a UC secure channel (Channel Simulatability).
prohibited queries. 24