The Memory-Tightness of Authenticated Encryption
Ashrujit Ghoshal
Stefano Tessaro
CRYPTO 2020
Joseph Jaeger
University of Washington
The Memory-Tightness of Authenticated Encryption Stefano Tessaro - - PowerPoint PPT Presentation
The Memory-Tightness of Authenticated Encryption Stefano Tessaro Ashrujit Ghoshal Joseph Jaeger University of Washington CRYPTO 2020 Concrete security theorems: resources 1 0 resources Traditionally: time
University of Washington
๐๐๐ฐ 1 Traditionally: time ๐ข, data complexity/queries ๐ ๐๐๐ฐ ๐ข, ๐ โค ๐ This work: time ๐ข, data complexity/queries ๐, memory ๐ ๐๐๐ฐ ๐ข, ๐, ๐ โค ๐
Time-memory tradeoffs for symmetric encryption [TT18, JT19, Dinur20, SS20]
Prior work
F
u s : c
f i d e n t i a l i t y
Tl;dr:
Memory-tight reductions [ACFK17, WMHT18, GT20, Bhattacharya20]
F
u s : p u b l i c
e y c r y p t
Negative results
NE=(NE.Kg, NE.Enc, NE.Dec)
NE.Kg ๐ฟ
๐ฟ NE.Enc ๐ ๐ ๐ท NE.Dec ๐ฟ ๐ ๐ท ๐/โฅ
[BR00, RBBK01, R02, RS06 โฆ]
Ad AdvNE indr ๐ข, ๐, ๐ โค ๐ โ ๐ log ๐ 2! + Ad AdvE prp ๐ข, ๐, ๐
indr = indistinguishability from random ciphertexts
E = ๐-bit block cipher
๐ข = time, ๐ = # encryptions, ๐ = memory
๐ ๐ secure insecure
e.g. beyond-birthday security for ๐ < 2
! "
AdvNE ae ๐ข, ๐ โค Ad AdvNE indr ๐ข, ๐ + Ad AdvNE ctxt ๐ข, ๐
indistinguishability from random ciphertexts ciphertext integrity
Target: combined AE security notion (confidentiality + integrity) Usual proof approach: INDR + CTXT โ AE
AdvNE ae ๐ข, ๐, ๐ โค Ad AdvNE indr ๐ข, ๐, ๐" + Ad AdvNE ctxt ๐ข, ๐, ๐# Wanted: memory-tight reduction [ACFK17] ๐" = ๐# = ๐
๐ฟ โ
$ NE.Kg
๐ท โ NE.Enc(๐ฟ, ๐, ๐) Return ๐ท
Return NE.Dec(๐ฟ, ๐, ๐ท)
Return L ๐, ๐ท
๐ท โ NE.Enc(๐ฟ, ๐, ๐) L ๐, ๐ท โ ๐ Return ๐ท
Return L ๐, ๐ท
NE=(NE.Kg, NE.Enc, NE.Dec) Ad AdvNE ctxt(๐ข, ๐, ๐) ๐ Ad AdvNE indr ๐ข, ๐, ๐ + ๐(๐) ๐
๐ฟ โ
$ NE.Kg
๐ท โ L ๐, ๐ท โ ๐ Return ๐ท
Ad AdvNE ae ๐ข, ๐, ๐ ?
Return L ๐, ๐ท
๐ท โ NE.Enc(๐ฟ, ๐, ๐) L ๐, ๐ท โ ๐ Return ๐ท
Return L ๐, ๐ท
๐ท โ L ๐, ๐ท โ ๐ Return ๐ท
๐ท โ NE.Enc(๐ฟ, ๐, ๐) Return ๐ท
๐ท โ Return ๐ท
indr security Requires memory proportional to #
CH.Sg ๐% ๐& ๐ CH.S ๐ท ๐% CH.R ๐ทโฒ ๐โฒ/โฅ ๐& CH=(CH.Sg, CH.S, CH.R)
CH.Sg ๐% ๐& ๐" CH.S ๐ท" ๐% CH.S ๐# ๐ท# ๐% CH.S ๐' ๐ท' ๐% CH.R ๐ท" ๐" ๐& CH.R ๐ท# ๐# ๐& CH.R ๐ท' ๐' ๐& CH=(CH.Sg, CH.S, CH.R)
CH.Sg ๐% ๐& ๐" CH.S ๐ท" ๐% CH.S ๐# ๐ท# ๐% CH.S ๐' ๐ท' ๐% CH.R ๐ท" ๐" ๐& CH.R ๐ท' ๐& CH.R ๐ท# โฅ ๐& CH=(CH.Sg, CH.S, CH.R) โฅ
(๐", ๐#) โ
$ CH.Sg
(๐", ๐ท) โ CH.S(๐", ๐) Return ๐ท
(๐#, ๐) โ CH.R(๐#, ๐ท) Return ๐
CH=(CH.Sg, CH.S, CH.R)
(๐$, ๐ท$) โ Dequeue() If sync then If ๐ท = ๐ท$ then return ๐โฒ sync โ false Return โฅ
๐ท โ Enqueue(๐, ๐ท) Return ๐ท sync โ true Ad AdvNE chโae ๐ข, ๐, ๐
Ad AdvCH ch%ae ๐ข, ๐, ๐ โค Ad AdvCH ch%ctxt ๐ข, ๐, ๐ + 2 โ Ad AdvCH ch%indr ๐ข, ๐, 3๐ + ๐(log๐ + ๐) + 1 2&
ae security for channels indistinguishability from random ciphertexts for channels ciphertext integrity for channels
DEC1
Ad AdvCH ch(ctxt(๐ข, ๐, ๐) easy 2 โ Ad AdvCH ch(indr ๐ข, ๐, 3๐ + ๐ log ๐ + ๐ + 1 2) next up!
ENC1 DEC0 ENC0 ENC1 DEC0
(๐!, ๐ท!)
(๐", ๐ท") (๐#, ๐ท#)
ENC*(๐"), ENC* ๐# , ENC* ๐' ๐ท", ๐ท#, ๐ท' Queue ๐ โ
$ {0,1}
DEC$ ๐ท" ๐"
Key idea: bounding queue size does not change behavior DEC$ ๐ท" , DEC$ ๐ท# , DEC$(๐ท') Adversary had to remember ๐ท", ๐ท#, ๐ท' to cause this! Example: only store โค 2 pairs
(๐!, ๐ท!) (๐", ๐ท")
ENC*(๐"), ENC* ๐# , ENC* ๐' ๐ท", ๐ท#, ๐ท' Queue ๐ โ
$ {0,1}
๐", ๐#, โฅ Bound queue size to ฮ = 2๐ + log ๐ + ๐ bits
๐ต" ๐ต# ๐ โ
$ 0,1 ,
(๐, ๐) ๐ โค ๐ โ ฮ ๐ โค ๐ ๐, ฮ โ โ, ฮ โค ๐
Pr[ ๐ต", ๐ต# wins] โค 1 2) =
?
๐ ฮ ฮ
๐-bit block cipher AXU
inefficient
ENC'(๐, ๐)
ENC'(๐, ๐) ๐ท ๐ท
$ 0,1 โ
๐ท
, โ ENC'( ๐, ๐ , ๐ ,)
$ [๐ฃ]
๐ โ DEC'( ๐, ๐โ , ๐ท,โ)
Intuition: reduction w/ memory ๐ โ โ bits succeeds in each round w/ probability โค .
*
Time-memory tradeoffs for the AE security of a TLS like channel instantiated with GCM
Evidence that restricting AE security to specific settings is inherent for memory-tight reductions