Public-seed Pseudorandom Permutations Pratik Soni Stefano Tessaro - - PowerPoint PPT Presentation
Public-seed Pseudorandom Permutations Pratik Soni Stefano Tessaro - - PowerPoint PPT Presentation
Public-seed Pseudorandom Permutations Pratik Soni Stefano Tessaro UC Santa Barbara UC Santa Barbara EUROCRYPT 2017 Cryptographic schemes often built from generic building blocks Cryptographic schemes often built from generic building
Cryptographic schemes often built from generic building blocks
Cryptographic schemes often built from generic building blocks
Typically: Block ciphers, hash/compression functions!
πΌ πΏ β ππππ || π πΏ β ππππ πΌ
hash function (e.g., SHA-3)
πΉπΏ π1 π½π π2 πΉπΏ πβ
block cipher (e.g., AES)
Cryptographic schemes often built from generic building blocks
Typically: Block ciphers, hash/compression functions!
Is there a universal and simple building block for efficient symmetric cryptography?
πΌ πΏ β ππππ || π πΏ β ππππ πΌ
hash function (e.g., SHA-3)
πΉπΏ π1 π½π π2 πΉπΏ πβ
block cipher (e.g., AES)
Recent trend: Start from seedless permutation
Recent trend: Start from seedless permutation
Recent trend: Start from seedless permutation
Sponge paradigm
Recent trend: Start from seedless permutation
Sponge paradigm
Recent trend: Start from seedless permutation
β¦
Sponge paradigm
Here: π is an efficiently computable and invertible
- ne-to-one function
Recent trend: Start from seedless permutation
β¦
Sponge paradigm
Permutations
ββ¦ it would be nice, now, if permutations can be called the Swiss Army Knife [of cryptography]β β Joan Daemen, Passwords^12
Hashing Garbling PRNGs Authenticated Encryption MACs KDFs
Typical instantiations
Typical instantiations
Ad-hoc construction e.g., in KECCAK, NORX, β¦ Designed to withstand cryptanalysis
Typical instantiations
Fixed-key block ciphers Ad-hoc construction e.g., in KECCAK, NORX, β¦ Designed to withstand cryptanalysis e.g., π βΆ π¦ β AES(0128, π¦)
π΅πΉπ 0128
Typical instantiations
Fixed-key block ciphers Ad-hoc construction e.g., in KECCAK, NORX, β¦ Designed to withstand cryptanalysis e.g., π βΆ π¦ β AES(0128, π¦) Faster, no re-keying costs!
π΅πΉπ 0128
Faster Hash functions [RS08], fast garbling [BHKR13]
Permutations assumptions
Permutations are great in practice, but what about theory?
Permutations assumptions
Goal: Standard-model reduction: βIf π satisfies π then π·[π] satisfies π.β Permutations are great in practice, but what about theory?
π0
π π π
Permutations assumptions
Goal: Standard-model reduction: βIf π satisfies π then π·[π] satisfies π.β
e.g., π· = KECCAK;
π = Anything non-trivial π = ? ? ? Permutations are great in practice, but what about theory?
π0
π π π
Permutations assumptions
Goal: Standard-model reduction: βIf π satisfies π then π·[π] satisfies π.β
e.g., π· = KECCAK;
π = Anything non-trivial π = ? ? ? Common approach: Use random permutation (RP) model π is random + adversary given oracle access to π and πβ1 Permutations are great in practice, but what about theory? Observation: No standard-model proofs known for permutation- based constructions!
π0
π π π
But: random permutations do not exist [CGH98]
But: random permutations do not exist [CGH98]
RP model proofs only yield security for generic attacks
But: random permutations do not exist [CGH98]
RP model proofs only yield security for generic attacks Quite different state of affairs than for hash functions: Hash functions ideal model random oracle
But: random permutations do not exist [CGH98]
RP model proofs only yield security for generic attacks Quite different state of affairs than for hash functions: Hash functions ideal model standard model random oracle
CRHF, OWFs, UOWHFs, CI, UCEsβ¦
But: random permutations do not exist [CGH98]
RP model proofs only yield security for generic attacks Quite different state of affairs than for hash functions: Hash functions Permutations ideal model standard model random oracle RP
CRHF, OWFs, UOWHFs, CI, UCEs⦠????
But: random permutations do not exist [CGH98]
RP model proofs only yield security for generic attacks Quite different state of affairs than for hash functions: Hash functions Permutations ideal model standard model random oracle RP
CRHF, OWFs, UOWHFs, CI, UCEs⦠????
What cryptographic hardness can we expect from a permutation?
No one-wayness, no compression, no pseudorandomness β¦
This work, in a nutshell
First plausible and useful standard-model security assumption for permutations.
This work, in a nutshell
First plausible and useful standard-model security assumption for permutations.
βPublic-seed Pseudorandom Permutationsβ (psPRPs)
This work, in a nutshell
First plausible and useful standard-model security assumption for permutations.
βPublic-seed Pseudorandom Permutationsβ (psPRPs)
We address two main questions:
This work, in a nutshell
First plausible and useful standard-model security assumption for permutations.
βPublic-seed Pseudorandom Permutationsβ (psPRPs)
We address two main questions:
Can we get psPRPs at all?
This work, in a nutshell
First plausible and useful standard-model security assumption for permutations.
βPublic-seed Pseudorandom Permutationsβ (psPRPs)
We address two main questions:
Can we get psPRPs at all? Are psPRPs useful?
This work, in a nutshell
inspired by the UCE framework [BHK13] First plausible and useful standard-model security assumption for permutations.
βPublic-seed Pseudorandom Permutationsβ (psPRPs)
We address two main questions:
Can we get psPRPs at all? Are psPRPs useful?
This work, in a nutshell
inspired by the UCE framework [BHK13] First plausible and useful standard-model security assumption for permutations.
βPublic-seed Pseudorandom Permutationsβ (psPRPs)
We address two main questions:
Can we get psPRPs at all? Are psPRPs useful?
Yes! Yes!
psPRPs have many applications
psPRPs have many applications
Deterministic & Hedged PKE Immunizing backdoored PRGs CCA-secure Enc. (CCA) β¦ Hardcore functions (HC) KDM-secure symmetric key Enc. (KDM) Point function Obfuscation (PFOB) Efficient garbling from fixed-key block-ciphers Message-locked Encryption (MLE)
πππΈπΊπΈ
psPRPs have many applications
Deterministic & Hedged PKE Immunizing backdoored PRGs CCA-secure Enc. (CCA) β¦ Hardcore functions (HC) KDM-secure symmetric key Enc. (KDM) Point function Obfuscation (PFOB) Efficient garbling from fixed-key block-ciphers Message-locked Encryption (MLE)
πππΈπΊπΈ π½π«π
psPRPs have many applications
Deterministic & Hedged PKE Immunizing backdoored PRGs CCA-secure Enc. (CCA) β¦ Hardcore functions (HC) KDM-secure symmetric key Enc. (KDM) Point function Obfuscation (PFOB) Efficient garbling from fixed-key block-ciphers Message-locked Encryption (MLE)
πππΈπΊπΈ π½π«π
Sponges
psPRPs have many applications
Deterministic & Hedged PKE Immunizing backdoored PRGs CCA-secure Enc. (CCA) β¦ Hardcore functions (HC) KDM-secure symmetric key Enc. (KDM) Point function Obfuscation (PFOB) Message-locked Encryption (MLE)
πππΈπΊπΈ π½π«π
Efficient garbling from fixed-key block-ciphers Sponges
psPRPs have many applications
Deterministic & Hedged PKE Immunizing backdoored PRGs CCA-secure Enc. (CCA) β¦ Hardcore functions (HC) KDM-secure symmetric key Enc. (KDM) Point function Obfuscation (PFOB) Message-locked Encryption (MLE)
πππΈπΊπΈ π½π«π
Efficient garbling from fixed-key block-ciphers Sponges Feistel
Roadmap
1.Definitions 2.Constructions & Applications 3.Conclusions
π = (π»ππ, π, πβ1)
π βΆ 0,1 π β 0,1 π
We consider seeded permutations
π = (π»ππ, π, πβ1)
π»ππ π¦ ππ‘ π¦ π βΆ 0,1 π β 0,1 π
ππ‘
1π π‘
Seed generation
π§ ππ‘
β1 π§
ππ‘
β1
Forward evaluation Backward evaluation
Efficient (poly-time) algorithms
(2) βπ¦ βΆ ππ‘
β1 ππ‘ π¦
= π¦ (1) ππ‘ βΆ 0,1 π β 0,1 π
We consider seeded permutations
Traditional security notion if seed is secret: Pseudorandom Permutation
πΈ π‘ β Gen(1π) πs / ππ‘
β1
π β Perms(π) π/πβ1
β
Traditional security notion if seed is secret: Pseudorandom Permutation
0/1
πΈ π‘ β Gen(1π) πs / ππ‘
β1
π β Perms(π) π/πβ1
β
Traditional security notion if seed is secret: Pseudorandom Permutation
0/1
πΈ π‘ β Gen(1π) πs / ππ‘
β1 5
π β Perms(π) π/πβ1
β
Stage 1:
- Oracle access
- Secret seed
Stage 2:
- Learns seed
- No oracle access
Traditional security notion if seed is secret: Pseudorandom Permutation
0/1
πΈ π‘ β Gen(1π) πs / ππ‘
β1 5
π β Perms(π) π/πβ1
β
Stage 1:
- Oracle access
- Secret seed
Stage 2:
- Learns seed
- No oracle access
Traditional security notion if seed is secret: Pseudorandom Permutation Limited information flow
0/1
UCE security
πΌ = (π»ππ, β)
Bellare Hoang Keelveedhi
π β Funcs(π, π) π π‘ β Gen(1π) βπ‘
UCE security
π source
πΌ = (π»ππ, β)
Bellare Hoang Keelveedhi
π β Funcs(π, π) π π‘ β Gen(1π) βπ‘
UCE security
π source
πΌ = (π»ππ, β)
Bellare Hoang Keelveedhi
π β Funcs(π, π) π π‘ β Gen(1π) βπ‘
UCE security
π source π
πΌ = (π»ππ, β)
distinguisher πΈ
Bellare Hoang Keelveedhi
π β Funcs(π, π) π π‘ β Gen(1π) βπ‘
UCE security
π source π
πΌ = (π»ππ, β)
distinguisher πΈ
Bellare Hoang Keelveedhi
π π‘ β Gen(1π)
π β Funcs(π, π) π π‘ β Gen(1π) βπ‘
UCE security
π source π
πΌ = (π»ππ, β)
distinguisher πΈ
Bellare Hoang Keelveedhi
0/1 π
π β Funcs(π, π) π π‘ β Gen(1π) βπ‘
UCE security
π source π
πΌ = (π»ππ, β)
distinguisher πΈ
Bellare Hoang Keelveedhi
0/1 π
β
π πΈ π‘ β Gen(1π)
psPRP security
ππ/ππ
βπ
π β πππ¬π§π(π)
π = (π»ππ, π, πβ1)
π/πβπ
π πΈ Makes forward and backward queries! π‘ β Gen(1π)
psPRP security
ππ/ππ
βπ
π β πππ¬π§π(π)
π = (π»ππ, π, πβ1)
π/πβπ
π π πΈ π Makes forward and backward queries! π‘ β Gen(1π)
psPRP security
ππ/ππ
βπ
π β πππ¬π§π(π)
π = (π»ππ, π, πβ1)
π/πβπ
π π πΈ 0/1 π Makes forward and backward queries! π‘ β Gen(1π)
psPRP security
ππ/ππ
βπ
π β πππ¬π§π(π)
π = (π»ππ, π, πβ1)
π/πβπ
π is ππ‘πππ-secure if β PPT π, πΈ , left and right are indistinguishable.
π π πΈ 0/1 π Makes forward and backward queries! π‘ β Gen(1π)
psPRP security
ππ/ππ
βπ
π β πππ¬π§π(π)
π = (π»ππ, π, πβ1)
π/πβπ
π is ππ‘πππ-secure if β PPT π, πΈ , left and right are indistinguishable.
π π πΈ 0/1 π Makes forward and backward queries! π‘ β Gen(1π)
psPRP security
ππ/ππ
βπ
π β πππ¬π§π(π)
π = (π»ππ, π, πβ1)
π/πβπ
π is ππ‘πππ-secure if β PPT π, πΈ , β¦
π‘ β Gen(1π) ππ‘/ππ‘
β1
π β Perms(π) π/πβ1 π
π is ππ‘πππ-secure if β PPT π, πΈ , β¦
(+, 0π) (+, 0π)
π‘ β Gen(1π) ππ‘/ππ‘
β1
π β Perms(π) π/πβ1 π
π is ππ‘πππ-secure if β PPT π, πΈ , β¦
(+, 0π) (+, 0π)
π‘ β Gen(1π) ππ‘/ππ‘
β1
π β Perms(π) π/πβ1 π
π is ππ‘πππ-secure if β PPT π, πΈ , β¦
π§ π§
(+, 0π) (+, 0π)
π‘ β Gen(1π) ππ‘/ππ‘
β1
π β Perms(π) π/πβ1 π π = π§ πΈ π
π is ππ‘πππ-secure if β PPT π, πΈ , β¦
π§ π§
(+, 0π) (+, 0π)
π‘ β Gen(1π) ππ‘/ππ‘
β1
π β Perms(π) π/πβ1 π π = π§ πΈ π
π is ππ‘πππ-secure if β PPT π, πΈ , β¦
π§
Outputs 1 iff π§ = ππ‘ 0π
π§
(+, 0π) (+, 0π)
π‘ β Gen(1π) ππ‘/ππ‘
β1
π β Perms(π) π/πβ1 π π = π§ πΈ π
π is ππ‘πππ-secure if β PPT π, πΈ , β¦
π§
Outputs 1 iff π§ = ππ‘ 0π
1
with prob. 1
π§
(+, 0π) (+, 0π)
π‘ β Gen(1π) ππ‘/ππ‘
β1
π β Perms(π) π/πβ1 π π = π§ πΈ π
π is ππ‘πππ-secure if β PPT π, πΈ , β¦
π§
Outputs 1 iff π§ = ππ‘ 0π
1 1
with prob. 1 with prob. 1/2π
π§
(+, 0π) (+, 0π)
π‘ β Gen(1π) ππ‘/ππ‘
β1
π β Perms(π) π/πβ1 π π = π§ πΈ π
π is ππ‘πππ-secure if β PPT π, πΈ , β¦
π§
Outputs 1 iff π§ = ππ‘ 0π
1 1
with prob. 1 with prob. 1/2π
π§
ππ‘πππ-security is impossible against all sources!
β
Sources need to be restricted
all sources
π = (Gen, π, πβ1)
Sources need to be restricted
all sources
π―
π = (Gen, π, πβ1)
Sources need to be restricted
π is ππ‘πππ[π―]-secure if β π β π― and β PPT πΈ, left and right are indistinguishable.
all sources
π―
π = (Gen, π, πβ1)
π
π
πΈ
0/1 π π‘ β Gen(1π) ππ‘/ππ‘
β1
π β Perms(π) π/πβ1
all sources
This talk β unpredictable and reset-secure sources
all sources
π―π‘π£π
unpredictable
This talk β unpredictable and reset-secure sources
all sources
π―π‘π π‘ π―π‘π£π
unpredictable reset-secure
This talk β unpredictable and reset-secure sources
all sources
π―π‘π π‘ π―π‘π£π
unpredictable reset-secure
This talk β unpredictable and reset-secure sources
Both restrictions model that πΈ cannot predict the queries made by the sources!
all sources
π―π‘π π‘ π―π‘π£π
unpredictable reset-secure
This talk β unpredictable and reset-secure sources
Both restrictions model that πΈ cannot predict the queries made by the sources!
π―π‘π£π β π―π‘π π‘
all sources
π―π‘π π‘ π―π‘π£π
unpredictable reset-secure
This talk β unpredictable and reset-secure sources
Both restrictions model that πΈ cannot predict the queries made by the sources!
π―π‘π£π β π―π‘π π‘
ππ‘πππ π―π‘π π‘ is a stronger assumption than ππ‘πππ π―π‘π£π
βΉ
Source restrictions β unpredictability
π π/πβ1 π΅
π β Perms(π)
Source restrictions β unpredictability
π π/πβ1 (π, π¦π) π΅
π β Perms(π)
π β {+, β}
Source restrictions β unpredictability
π π/πβ1 (π, π¦π) π΅ π β π βͺ { π, π¦π , (π , π§π)}
π β Perms(π)
π β {+, β}
Source restrictions β unpredictability
π π/πβ1 (π, π¦π) π§π π΅ π β π βͺ { π, π¦π , (π , π§π)}
π β Perms(π)
π β {+, β}
Source restrictions β unpredictability
π π/πβ1 (π, π¦π) π§π π΅ π π β π βͺ { π, π¦π , (π , π§π)}
π β Perms(π)
π β {+, β}
Source restrictions β unpredictability
π π/πβ1 (π, π¦π) π§π π΅ π π β² π β π βͺ { π, π¦π , (π , π§π)} Pr [ π β² β© π β π] = negl(π)
π β Perms(π)
π β {+, β} It should be hard for π΅ to predict any of πβs queries or its inverse
Source restrictions β unpredictability
π π/πβ1 (π, π¦π) π§π π΅ π π β² π β π βͺ { π, π¦π , (π , π§π)} Pr [ π β² β© π β π] = negl(π)
β π―π‘π£π: π΅ is computationally unbounded π―ππ£π: π΅ is PPT
π β Perms(π)
π β {+, β} It should be hard for π΅ to predict any of πβs queries or its inverse
Source restrictions β unpredictability
π π/πβ1 (π, π¦π) π§π π΅ π π β² π β π βͺ { π, π¦π , (π , π§π)} Pr [ π β² β© π β π] = negl(π)
β π―π‘π£π: π΅ is computationally unbounded π―ππ£π: π΅ is PPT ππ‘πππ[π―ππ£π] impossible if iO exists [BFM14]
π β Perms(π)
π β {+, β} It should be hard for π΅ to predict any of πβs queries or its inverse
Source restrictions β reset-security
Source restrictions β reset-security
π π/πβ1 π
π β Perms(π)
Source restrictions β reset-security
π π/πβ1 π
π β Perms(π)
Source restrictions β reset-security
π π/πβ1 π
π
π/πβ1
π β Perms(π)
Source restrictions β reset-security
π π/πβ1 π
π
π/πβ1
0/1 π β Perms(π)
Source restrictions β reset-security
π π/πβ1 π
π
π/πβ1
0/1
π π/πβ1 π
π 0/1
π1/π1
β1
π β Perms(π) π β Perms(π) π1 β Perms(π)
β
Source restrictions β reset-security
π π/πβ1 π
π
π/πβ1
0/1
π π/πβ1 π
π 0/1
π1/π1
β1
π β Perms(π) π β Perms(π) π1 β Perms(π)
β
Source restrictions β reset-security
β π―π‘π π‘: π is computationally unbounded π―ππ π‘: π is PPT
π π/πβ1 π
π
π/πβ1
0/1
π π/πβ1 π
π 0/1
π1/π1
β1
π β Perms(π) π β Perms(π) π1 β Perms(π)
β
Source restrictions β reset-security
β π―π‘π π‘: π is computationally unbounded π―ππ π‘: π is PPT
π π/πβ1 π
π
π/πβ1
0/1
π π/πβ1 π
π 0/1
π1/π1
β1
π β Perms(π) π β Perms(π) π1 β Perms(π)
π―ππ£π β π―ππ π‘
ππ‘πππ[π―π‘π π‘] ππ‘πππ[π―π‘π£π]
Recap
ππ‘πππ[π―π‘π π‘] ππ‘πππ[π―π‘π£π]
Recap
Recap
Recap
Central assumption in UCE theory
Recap
Central assumption in UCE theory
Roadmap
1.Definitions 2.Constructions & Applications 3.Conclusions
Next
Can we get psPRPs at all? Are psPRPs useful?
Next
Can we get psPRPs at all? Are psPRPs useful?
Constructions from UCEs Heuristic Instantiations
Next
Can we get psPRPs at all? Are psPRPs useful?
Constructions from UCEs Heuristic Instantiations Constructions of UCEs Direct applications
Garbling from fixed-key block ciphers
Next
Can we get psPRPs at all? Are psPRPs useful?
Constructions from UCEs Heuristic Instantiations Constructions of UCEs Direct applications
Garbling from fixed-key block ciphers
Next
Can we get psPRPs at all? Are psPRPs useful?
Constructions from UCEs Heuristic Instantiations Constructions of UCEs Direct applications
Garbling from fixed-key block ciphers
Next
Can we get psPRPs at all? Are psPRPs useful?
Constructions from UCEs Heuristic Instantiations Constructions of UCEs Direct applications
Garbling from fixed-key block ciphers Common denominator: A new, restricted notion of indifferentiability!
Next
Can we get psPRPs at all? Are psPRPs useful?
Constructions from UCEs Heuristic Instantiations Constructions of UCEs Direct applications
Garbling from fixed-key block ciphers Common denominator: A new, restricted notion of indifferentiability! CP-sequential indifferentiability
π· ππ
π/πβ1
ππ
π π β Perms(π) π β Funcs(β, π)
Indifferentiability[MRH04]
π΅ π΅ π· ππ
π/πβ1
ππ
π π β Perms(π) π β Funcs(β, π)
Indifferentiability[MRH04]
π΅ π΅ π·
?
ππ
π/πβ1
ππ
π π β Perms(π) π β Funcs(β, π)
Indifferentiability[MRH04]
π΅ π΅ π· πππ ππ
π/πβ1
ππ
π π β Perms(π) π β Funcs(β, π)
Indifferentiability[MRH04]
π΅ π΅
β
π· 0/1 πππ 0/1 ππ
π/πβ1
ππ
π π β Perms(π) π β Funcs(β, π)
Indifferentiability[MRH04]
β
π΅1 π· π΅2 π‘π’ 0/1 π΅1 π΅2 π‘π’ πππ 0/1
CP-sequential indifferentiability
ππ
π/πβ1
ππ
π π β Perms(π) π β Funcs(β, π)
β
π΅1 π· π΅2 π‘π’ 0/1 π΅1 π΅2 π‘π’ πππ 0/1
CP-sequential indifferentiability
π· ππ βΌπππ ππ β β PPT πππ β PPT (π΅1, π΅2): left and right are indistinguishable. ππ
π/πβ1
ππ
π π β Perms(π) π β Funcs(β, π)
β
Remarks:
π΅1 π· π΅2 π‘π’ 0/1 π΅1 π΅2 π‘π’ πππ 0/1
CP-sequential indifferentiability
π· ππ βΌπππ ππ β β PPT πππ β PPT (π΅1, π΅2): left and right are indistinguishable. ππ
π/πβ1
ππ
π π β Perms(π) π β Funcs(β, π)
β
- 1. Full indifferentiability βΉ CP-seq indiff.
- 2. Reverse ordering: seq. indifferentiability [MPS12]
Remarks:
π΅1 π· π΅2 π‘π’ 0/1 π΅1 π΅2 π‘π’ πππ 0/1
CP-sequential indifferentiability
π· ππ βΌπππ ππ β β PPT πππ β PPT (π΅1, π΅2): left and right are indistinguishable. ππ
π/πβ1
ππ
π π β Perms(π) π β Funcs(β, π)
From psPRPs to UCEs
Theorem:
From psPRPs to UCEs
π· ππ βΌcpi ππ
π·
Theorem:
ππ
π/πβ1
From psPRPs to UCEs
π· ππ βΌcpi ππ + π ππ‘πππ[π―π‘π π‘]-secure
π·
Theorem:
ππ
π/πβ1
From psPRPs to UCEs
π· ππ βΌcpi ππ βΉ + π ππ‘πππ[π―π‘π π‘]-secure π·[π]
π·
Theorem:
ππ
π/πβ1 ππ‘/ππ‘
β1
From psPRPs to UCEs
π· ππ βΌcpi ππ βΉ + π ππ‘πππ[π―π‘π π‘]-secure ππ·πΉ[π―π‘π π‘]-secure. π·[π]
π·
Theorem:
ππ
π/πβ1 ππ‘/ππ‘
β1
From psPRPs to UCEs
π· ππ βΌcpi ππ βΉ + π ππ‘πππ[π―π‘π π‘]-secure ππ·πΉ[π―π‘π π‘]-secure. π·[π]
Similar result proved in [BHK14], but:
- Need full indifferentiability
- Only stated for UCE domain extension
π·
Theorem:
ππ
π/πβ1 ππ‘/ππ‘
β1
From psPRPs to UCEs
π· ππ βΌcpi ππ βΉ + π ππ‘πππ[π―π‘π π‘]-secure ππ·πΉ[π―π‘π π‘]-secure. π·[π]
Similar result proved in [BHK14], but:
- Need full indifferentiability
- Only stated for UCE domain extension
π·
Theorem:
ππ
π/πβ1
Corollary: Every perm-based indiff. hash-function transforms a psPRP into a UCE!
ππ‘/ππ‘
β1
From psPRPs to UCEs β Sponges
π§ β {0,1}π π β {0,1}β
π0
π n β π π π π π π1 π2 ππ
From psPRPs to UCEs β Sponges
π§ β {0,1}π
Theorem [BDVP08]: Sponge[ππ] βΌcpi ππ.
π β {0,1}β
π0
π n β π π π π π π1 π2 ππ
From psPRPs to UCEs β Sponges
π§ β {0,1}π
Theorem [BDVP08]: Sponge[ππ] βΌcpi ππ.
π β {0,1}β
π0
π n β π π π π π π1 π2 ππ
ππ‘ ππ‘ ππ‘
From psPRPs to UCEs β Sponges
π§ β {0,1}π
Corollary: π ππ‘πππ π―π‘π π‘ -secure βΉ Sponge[π] ππ·πΉ π―π‘π π‘ -secure. Theorem [BDVP08]: Sponge[ππ] βΌcpi ππ.
π β {0,1}β
π0
π n β π π π π π π1 π2 ππ
ππ‘ ππ‘ ππ‘
From psPRPs to UCEs β Sponges
π§ β {0,1}π
Corollary: π ππ‘πππ π―π‘π π‘ -secure βΉ Sponge[π] ππ·πΉ π―π‘π π‘ -secure. Theorem [BDVP08]: Sponge[ππ] βΌcpi ππ.
π β {0,1}β
π0
π n β π π π π π π1 π2 ππ
ππ‘ ππ‘ ππ‘
Validates the Sponge paradigm for UCE applications!
CP-sequentially indiff. constructions that are not fully indiff.?
From psPRPs to UCEs β Chop
CP-sequentially indiff. constructions that are not fully indiff.?
From psPRPs to UCEs β Chop
π
CP-sequentially indiff. constructions that are not fully indiff.?
From psPRPs to UCEs β Chop
π¦ β {0,1}π
π
CP-sequentially indiff. constructions that are not fully indiff.?
From psPRPs to UCEs β Chop
π¦ β {0,1}π
π
π π
CP-sequentially indiff. constructions that are not fully indiff.?
From psPRPs to UCEs β Chop
π¦ β {0,1}π truncates π-bits to π -bits
π
π π π
CP-sequentially indiff. constructions that are not fully indiff.?
From psPRPs to UCEs β Chop
π¦ β {0,1}π π§ β {0,1}π truncates π-bits to π -bits
π
π π π
CP-sequentially indiff. constructions that are not fully indiff.?
From psPRPs to UCEs β Chop
Theorem: Chop[ππ] βΌcpi ππΊ when π β π β π(log π).
π¦ β {0,1}π π§ β {0,1}π truncates π-bits to π -bits
π
π π π
CP-sequentially indiff. constructions that are not fully indiff.?
From psPRPs to UCEs β Chop
Theorem: Chop[ππ] βΌcpi ππΊ when π β π β π(log π).
Chop ππ is not indifferentiable
π¦ β {0,1}π π§ β {0,1}π truncates π-bits to π -bits
π
π π π
CP-sequentially indiff. constructions that are not fully indiff.?
From psPRPs to UCEs β Chop
Theorem: Chop[ππ] βΌcpi ππΊ when π β π β π(log π).
Chop ππ is not indifferentiable
π¦ β {0,1}π π§ β {0,1}π truncates π-bits to π -bits
π ππ‘
π π π
CP-sequentially indiff. constructions that are not fully indiff.?
From psPRPs to UCEs β Chop
Theorem: Chop[ππ] βΌcpi ππΊ when π β π β π(log π). Corollary: π ππ‘πππ π―π‘π π‘ -secure βΉ Chop[π] ππ·πΉ[π―π‘π π‘]- secure.
Chop ππ is not indifferentiable
π¦ β {0,1}π π§ β {0,1}π truncates π-bits to π -bits
π ππ‘
π π π
CP-sequentially indiff. constructions that are not fully indiff.?
From psPRPs to UCEs β Chop
Theorem: Chop[ππ] βΌcpi ππΊ when π β π β π(log π). Corollary: π ππ‘πππ π―π‘π π‘ -secure βΉ Chop[π] ππ·πΉ[π―π‘π π‘]- secure.
Chop ππ is not indifferentiable
ππ·πΉ π―π‘π£π ππ‘πππ π―π‘π£π
π¦ β {0,1}π π§ β {0,1}π truncates π-bits to π -bits
π ππ‘
π π π
CP-sequentially indiff. constructions that are not fully indiff.?
From psPRPs to UCEs β Chop
Theorem: Chop[ππ] βΌcpi ππΊ when π β π β π(log π). Corollary: π ππ‘πππ π―π‘π π‘ -secure βΉ Chop[π] ππ·πΉ[π―π‘π π‘]- secure.
Chop ππ is not indifferentiable
ππ·πΉ π―π‘π£π ππ‘πππ π―π‘π£π
π¦ β {0,1}π π§ β {0,1}π truncates π-bits to π -bits
π ππ‘
π π π
From Chop π to VIL UCE: Domain extension techniques [BHK14] CP-sequentially indiff. constructions that are not fully indiff.?
psPRPs from UCEs
Theorem:
psPRPs from UCEs
β
π΅1 π· π΅2 π‘π’ πβ² π΅1 π΅2 π‘π’ πππ πβ² ππ ππ
π· ππ βΌcpi ππ Theorem:
psPRPs from UCEs
β
π΅1 π· π΅2 π‘π’ πβ² π΅1 π΅2 π‘π’ πππ πβ² ππ ππ
π· ππ βΌcpi ππ
βΉ +
πΌ ππ·πΉ[π―π‘π π‘]-secure π· πΌ ππ‘πππ[π―π‘π π‘]-secure. Theorem:
psPRPs from UCEs
β
π΅1 π· π΅2 π‘π’ πβ² π΅1 π΅2 π‘π’ πππ πβ² ππ ππ
Corollary: Every hash-function-based indiff. permutation transforms a UCE into a psPRP. π· ππ βΌcpi ππ
βΉ +
πΌ ππ·πΉ[π―π‘π π‘]-secure π· πΌ ππ‘πππ[π―π‘π π‘]-secure. Theorem:
From UCEs to psPRPs β Feistel
π π π
1
π
2
π
3
π
4
π
5
π1 π2 π3 π4 π5 π6 π0 π5
π β {0,1}2π
π5[π]
π β {0,1}2π
π π π π
From UCEs to psPRPs β Feistel
impossible [CPS08] [HKT11] [DS16] [DSKT16] #rounds for indifferentiability
???
π π π
1
π
2
π
3
π
4
π
5
π1 π2 π3 π4 π5 π6 π0 π5
π β {0,1}2π
π5[π]
π β {0,1}2π
π π π π
From UCEs to psPRPs β Feistel
impossible [CPS08] [HKT11] [DS16] [DSKT16] #rounds for indifferentiability
???
π π π
1
π
2
π
3
π
4
π
5
π1 π2 π3 π4 π5 π6 π0 π5
π β {0,1}2π
π5[π]
π β {0,1}2π
π π π π
psPRPs exist in the standard model if UCEs exist!!!
Can we reduce the round-complexity of Feistel for UCE to psPRP transformation?
[HKT11] [DS16] [DSKT16] #rounds for CP-sequential indifferentiability
Can we reduce the round-complexity of Feistel for UCE to psPRP transformation?
Theorem: 5-round Feistel (π5[π]) βΌcpi ππ.
[HKT11] [DS16] [DSKT16] #rounds for CP-sequential indifferentiability This work!!!
Can we reduce the round-complexity of Feistel for UCE to psPRP transformation?
Corollary: π° ππ·πΉ π―π‘π π‘ -secure βΉ π5[π°] ππ‘πππ[π―π‘π π‘]- secure. Theorem: 5-round Feistel (π5[π]) βΌcpi ππ.
[HKT11] [DS16] [DSKT16] #rounds for CP-sequential indifferentiability This work!!!
Can we reduce the round-complexity of Feistel for UCE to psPRP transformation?
5-round proof is technically involved
5-round proof is technically involved
Our 5-round Sim:
- Relies on chain completion
techniques
- Heavily exploits query ordering
- Very different chain-completion
strategy from previous works, no recursion needed
π
1
π
2
π
3
π
4
π
5
π1 π2 π3 π4 π5 π6 π0 π5 Set uniform Set uniform forceVal forceVal detect detect
5-round proof is technically involved
Our 5-round Sim:
impossible [LR88] [HKT11] [DS16] [DSKT16] #rounds of Feistel for psPRP-security This work!!!
Open: Do 4-rounds suffice?
- Relies on chain completion
techniques
- Heavily exploits query ordering
- Very different chain-completion
strategy from previous works, no recursion needed
π
1
π
2
π
3
π
4
π
5
π1 π2 π3 π4 π5 π6 π0 π5 Set uniform Set uniform forceVal forceVal detect detect
???
Heuristic Instantiations
Heuristic Instantiations
πΉ π‘ β {0,1}π
π = (π»ππ, π, πβ1)
From Block-ciphers e.g. AES
π»ππ: π:
Heuristic Instantiations
πΉ π‘ β {0,1}π
π = (π»ππ, π, πβ1)
psPRP π―π‘π π‘ -secure From Block-ciphers e.g. AES Ideal-Cipher model
π»ππ: π:
Heuristic Instantiations
πΉ π‘ β {0,1}π
π = (π»ππ, π, πβ1)
psPRP π―π‘π π‘ -secure π π‘ β {0,1}π From Permutations e.g. the Keccak permutation From Block-ciphers e.g. AES
π = (π»ππ, π, πβ1)
Ideal-Cipher model
π»ππ: π: π: π»ππ:
Heuristic Instantiations
πΉ π‘ β {0,1}π
π = (π»ππ, π, πβ1)
psPRP π―π‘π π‘ -secure psPRP π―π‘π£π -secure π π‘ β {0,1}π From Permutations e.g. the Keccak permutation From Block-ciphers e.g. AES
π = (π»ππ, π, πβ1)
Ideal-Cipher model RP model
π»ππ: π: π: π»ππ:
Fast Garbling from psPRPs
Garbled And
πΉ 0π, πΏ10 β πΏ10 β π¦π πΉ 0π, πΏ01 β πΏ01 β π¦π πΉ 0π, πΏ11 β πΏ11 β π¦π
1
πΉ 0π, πΏ00 β πΏ00 β π¦π π¦π
0, π¦π 1
π¦π
0, π¦π 1
And
π¦π
0, π¦π 1
Fast Garbling from psPRPs
Fast garbling from [BHKR13]
Garbled And
πΉ 0π, πΏ10 β πΏ10 β π¦π πΉ 0π, πΏ01 β πΏ01 β π¦π πΉ 0π, πΏ11 β πΏ11 β π¦π
1
πΉ 0π, πΏ00 β πΏ00 β π¦π π¦π
0, π¦π 1
π¦π
0, π¦π 1
And
π¦π
0, π¦π 1
Fast Garbling from psPRPs
Fast garbling from [BHKR13]
- Only calls fixed-key block cipher
π¦ β πΉ(0π, π¦)
- Very fast β no key-schedule
Garbled And
πΉ 0π, πΏ10 β πΏ10 β π¦π πΉ 0π, πΏ01 β πΏ01 β π¦π πΉ 0π, πΏ11 β πΏ11 β π¦π
1
πΉ 0π, πΏ00 β πΏ00 β π¦π π¦π
0, π¦π 1
π¦π
0, π¦π 1
And
π¦π
0, π¦π 1
Fast Garbling from psPRPs
Fast garbling from [BHKR13]
- Only calls fixed-key block cipher
π¦ β πΉ(0π, π¦)
- Proof in RP model
- Very fast β no key-schedule
Garbled And
πΉ 0π, πΏ10 β πΏ10 β π¦π πΉ 0π, πΏ01 β πΏ01 β π¦π πΉ 0π, πΏ11 β πΏ11 β π¦π
1
πΉ 0π, πΏ00 β πΏ00 β π¦π π¦π
0, π¦π 1
π¦π
0, π¦π 1
And
π¦π
0, π¦π 1
Fast Garbling from psPRPs
This work: Replace πΉ 0π, π¦ by ππ‘ for a random seed generated upon garbling.
Fast garbling from [BHKR13]
- Only calls fixed-key block cipher
π¦ β πΉ(0π, π¦)
- Proof in RP model
- Very fast β no key-schedule
Garbled And
πΉ 0π, πΏ10 β πΏ10 β π¦π πΉ 0π, πΏ01 β πΏ01 β π¦π πΉ 0π, πΏ11 β πΏ11 β π¦π
1
πΉ 0π, πΏ00 β πΏ00 β π¦π π¦π
0, π¦π 1
π¦π
0, π¦π 1
And
π¦π
0, π¦π 1
Fast Garbling from psPRPs
This work: Replace πΉ 0π, π¦ by ππ‘ for a random seed generated upon garbling.
Fast garbling from [BHKR13]
- Only calls fixed-key block cipher
π¦ β πΉ(0π, π¦)
- Proof in RP model
- Very fast β no key-schedule
Theorem: Secure garbling when ππ is ππ‘πππ[π―π‘π£π].
Garbled And
πΉ 0π, πΏ10 β πΏ10 β π¦π πΉ 0π, πΏ01 β πΏ01 β π¦π πΉ 0π, πΏ11 β πΏ11 β π¦π
1
πΉ 0π, πΏ00 β πΏ00 β π¦π π¦π
0, π¦π 1
π¦π
0, π¦π 1
And
π¦π
0, π¦π 1
Roadmap
1.Definitions 2.Constructions & Applications 3.Conclusions
Conclusion
psPRPs
Conclusion
First standard model assumptions on permutations
psPRPs
Constructions
Conclusion
First standard model assumptions on permutations
psPRPs
Constructions
Conclusion
First standard model assumptions on permutations Applications
psPRPs
Many open questionsβ¦
Many open questionsβ¦
- More applications: psPRP-based PRNGs,
authenticated encryption?
- More efficient constructions: Round
complexity of Feistel for psPRPs?
psPRPs:
Many open questionsβ¦
- More applications: psPRP-based PRNGs,
authenticated encryption?
- More efficient constructions: Round
complexity of Feistel for psPRPs?
psPRPs: Public-seed Pseudorandomness - general paradigm:
Many open questionsβ¦
- More applications: psPRP-based PRNGs,
authenticated encryption?
- More efficient constructions: Round
complexity of Feistel for psPRPs?
- Applications of public-seed Ideal Ciphers?
psPRPs: Public-seed Pseudorandomness - general paradigm:
Many open questionsβ¦
- Simpler assumptions on permutations?
- More applications: psPRP-based PRNGs,
authenticated encryption?
- More efficient constructions: Round
complexity of Feistel for psPRPs?
- Applications of public-seed Ideal Ciphers?
psPRPs: Public-seed Pseudorandomness - general paradigm: Beyond psPRPs:
Many open questionsβ¦
- Simpler assumptions on permutations?
- More applications: psPRP-based PRNGs,
authenticated encryption?
- More efficient constructions: Round
complexity of Feistel for psPRPs?
- Applications of public-seed Ideal Ciphers?
psPRPs: Public-seed Pseudorandomness - general paradigm: Beyond psPRPs:
Is SHA-3 a CRHF under any non-trivial assumption?
Many open questionsβ¦
- Simpler assumptions on permutations?
- More applications: psPRP-based PRNGs,
authenticated encryption?
- More efficient constructions: Round
complexity of Feistel for psPRPs?
- Applications of public-seed Ideal Ciphers?
psPRPs: Public-seed Pseudorandomness - general paradigm: Beyond psPRPs:
Is SHA-3 a CRHF under any non-trivial assumption?