0% found this document useful (0 votes)
41 views

Crypto 1

The document provides an overview of modern cryptography for communications security. It discusses symmetric encryption schemes that use secret keys to provide confidentiality. It outlines the eavesdropping experiment security game where an adversary must distinguish encryptions of chosen plaintexts under a secret key. It also introduces the concept of a pseudorandom permutation and provides the Advanced Encryption Standard (AES) as a block cipher example. The document focuses on formal definitions, assumptions, and security proofs in modern cryptography.

Uploaded by

Mo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Crypto 1

The document provides an overview of modern cryptography for communications security. It discusses symmetric encryption schemes that use secret keys to provide confidentiality. It outlines the eavesdropping experiment security game where an adversary must distinguish encryptions of chosen plaintexts under a secret key. It also introduces the concept of a pseudorandom permutation and provides the Advanced Encryption Standard (AES) as a block cipher example. The document focuses on formal definitions, assumptions, and security proofs in modern cryptography.

Uploaded by

Mo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

iLab

Modern cryptography for communications security


part 1

Benjamin Hof
[email protected]

Lehrstuhl für Netzarchitekturen und Netzdienste


Fakultät für Informatik
Technische Universität München

Cryptography – 18ss

1 / 34
Outline

Cryptography

Symmetric setting

2 / 34
Outline

Cryptography

Symmetric setting

3 / 34
Scope

Focus on:
I modern cryptography
I methods used in communications security

Based on: Introduction to modern cryptography, Katz and Lindell,


2nd edition, 2015.

4 / 34
Communication

by Melissa Elliott

https://twitter.com/0xabad1dea/status/400676797874208768

5 / 34
What we are concerned with

“Let’s meet up at 9!”


Alice Bob

6 / 34
What we are concerned with

“Let’s meet up at 9!”


Alice Bob

BfV

Roens/Wikipedia. CC-by-sa 2.0

6 / 34
What we are concerned with

“Let’s meet up at 9!”


Alice Bob

Eve

passive attack: eavesdropping


We want to provide confidentiality!

6 / 34
What we are concerned with

“This will not be on the exam!”

Alice Mallory Bob

active attack: message modification or forgery


We want to provide message authentication!

6 / 34
Limitations

I cryptography is typically bypassed, not broken


I not applied correctly
I not implemented correctly
I subverted

No protection of information about the communication.


I existence
I time
I extent
I partners

7 / 34
Kerckhoffs’ principle

Security should only depend on secrecy of the key, not the


secrecy of the system.
I key easier to keep secret
I change
I compatibility

No security by obscurity.
I scrutiny
I standards
I reverse engineering

8 / 34
Another principle as a side note

The system should be usable easily.


I Kerckhoffs actually postulated 6 principles
I this one got somewhat forgotten
I considered uncontroversial by Kerckhoffs
I starting to be rediscovered in design of secure applications and
libraries

Example
Signal, NaCl

9 / 34
What should secure encryption guarantee?

It should be impossible for the attacker to

10 / 34
What should secure encryption guarantee?

It should be impossible for the attacker to


I recover the key.
I recover the entire plaintext from the ciphertext.
I recover any character of the plaintext from the ciphertext.

10 / 34
What should secure encryption guarantee?

It should be impossible for the attacker to


I recover the key.
I recover the entire plaintext from the ciphertext.
I recover any character of the plaintext from the ciphertext.

Regardless of any information an attacker already has, a ciphertext


should leak no additional information about the underlying plaintext.

10 / 34
Modern cryptography

relies on
I formal definitions
I precisely defined assumptions
I mathematical proofs
Reductionist security arguments, the proofs, require to formulate
assumptions explicitly.

11 / 34
A definition of security

A scheme is secure, if any probabilistic polynomial time adversary


succeeds in breaking the scheme with at most negligible probability.

Negligible
For every polynomial p and for all sufficiently large values of n:
1
f (n) <
p(n)
1
e.g., f (n) = 2n

Church-Turing Hypothesis
We believe polynomial time models all computers.

12 / 34
Our goals

symmetric (secret-key) asymmetric (public-key)


I confidentiality I confidentiality
I authenticity I authenticity
(as in: message integrity) I key exchange

Something providing confidentiality generally makes no statement


whatsoever about authenticity.

13 / 34
Motivation

What does a perfectly encrypted message look like?

14 / 34
Uniform distribution

P : U → [0, 1]

X
P(x ) = 1
x ∈U

1
∀x ∈ U : P(x ) =
|U|

15 / 34
Randomness

I required to do any cryptography at all


I somewhat difficult to get in a computer (deterministic!)
I required to be cryptographically secure: indistiguishable from
truly random
I not provided in programming languages

Example
used to generate keys or other information unkown to any other
parties

16 / 34
Collecting unpredictable bits

I physical phenomena
I time between emission of particles during radioactive decay
I thermal noise from a semiconductor diode or resistor
I software-based
I elapsed time between keystrokes or mouse movement
I packet interarrival times

I attacker must not be able to guess/influence the collected


values

1. collect pool of high-entropy data


2. process into sequence of nearly independent and unbiased bits

17 / 34
Pseudo-random generator

G : {0, 1}s → {0, 1}n , ns

18 / 34
Outline

Cryptography

Symmetric setting

19 / 34
Symmetric encryption scheme

1. k ← Gen(1n ), security parameter 1n


2. c ← Enck (m), m ∈ {0, 1}∗
3. m := Deck (c)

I provide confidentiality
I definition of security: chosen-plaintext attack (CPA)
Cryptography uses theoretical attack games to analyze and
formalize security.

C: challenger, ← means non-deterministic,


A: adversary := means deterministic

20 / 34
The eavesdropping experiment

C A

k ← Gen(1n ) input 1n
The eavesdropping experiment

C A

k ← Gen(1n ) input 1n
m 0, m 1

b ← {0, 1}
c ← Enck (mb )
c

output b 0

I A succeeds, iff b = b 0

21 / 34
Discussion of the eavesdropping experiment

I |m0 | = |m1 |
I probabilistic polynomial time algorithms

I success probability should be 0.5 + negligible


I if so, Enc has indistinguishable encryptions in the presence of
an eavesdropper

22 / 34
Pseudorandom permutation

F : {0, 1}∗ × {0, 1}∗ → {0, 1}∗

I Fk (x ) and Fk−1 (y ) efficiently computable


I Fk be indistinguishable from uniform permutation
I adversary may have access to F −1
We can assume that all inputs and the output have the same length.

23 / 34
A block cipher

Example
I fixed key length and block length
I chop m into 128 bit blocks

m k

128 bit
AES

Does this function survive the eavesdropping experiment?

24 / 34
Chosen-plaintext attack
C A

k ← Gen(1n ) input 1n

25 / 34
Chosen-plaintext attack
C A

k ← Gen(1n ) input 1n

m
c ← Enck (m)
c

.. ..
. .

25 / 34
Chosen-plaintext attack
C A

k ← Gen(1n ) input 1n

m
c ← Enck (m)
c

.. ..
. .

m0, m1
b ← {0, 1}
Enck (m
b)

25 / 34
Chosen-plaintext attack
C A C (cont’d) A

k ← Gen(1n ) input 1n m

m c ← Enck (m)
c
c ← Enck (m)
c .. ..
. .
.. ..
. . output bit b 0
m0, m1
b ← {0, 1}
Enck (m
b)

25 / 34
Chosen-plaintext attack
C A C (cont’d) A

k ← Gen(1n ) input 1n m

m c ← Enck (m)
c
c ← Enck (m)
c .. ..
. .
.. ..
. . output bit b 0
m0, m1
b ← {0, 1}
Enck (m
b)

25 / 34
Discussion of CPA

I Enc is secure under chosen-plaintext attack


I again, messages must have same length
I multiple-use key
I non-deterministic (e. g. random initialization vector) or state
I block cipher requires operation mode, e. g.: counter (CTR),
output-feedback (OFB), . . .

26 / 34
Example constructions: counter mode
Example
I randomised AES counter mode (AES-CTR$)
I choose nonce r ← {0, 1}128 , key k ← {0, 1}128
I great if you have dedicated circuits for AES, else vulnerable to
timing attacks

r AES k r +1 AES k

m0 ⊕ m1 ⊕

c0 c1
···

complete ciphertext c := (r , c0 , c1 , · · · )
27 / 34
Example constructions: stream ciphers
Example
A modern stream cipher, fast in software:

96 bit nonce 32 bit initial counter 128 bit key

ChaCha

keystream
plaintext ⊕

ciphertext

28 / 34
Message authentication code (MAC)

1. k ← Gen(1n ), security parameter 1n


2. t ← Mack (m), m ∈ {0, 1}∗
3. b := Vrfyk (m, t)
b = 1 means valid, b = 0 invalid

I transmit hm, ti
I tag t is a short authenticator
I message authenticity ⇔ integrity
I detect tampering
I no protection against replay
I “existentially unforgeable”
I security definition: adaptive chosen-message attack

29 / 34
Adaptive chosen-message attack

C A
k ← Gen(1n )

m input 1n

t ← Mack (m) hm, ti

.. ..
. .
output hm0 , t 0 i

I let Q be the set of all queries m


I A succeeds, iff Vrfyk (m0 , t 0 ) = 1 and m0 ∈
/Q

30 / 34
Used in practice

Example
I HMAC based on hash functions
I CMAC based on cipher block chaining mode (CBC)
I authenticated encryption modes

31 / 34
Example: side-channel attack

How does tag verification work and how to implement tag


comparison correctly?

32 / 34
Recap: secret-key cryptography

I attacker power: probabilistic polynomial time


I confidentiality defined as IND-CPA:
encryption, e. g. AES-CTR$
I message authentication defined as existentially unforgeable
under adaptive chosen-message attack:
message authentication codes, e. g. HMAC-SHA2
I authenticated encryption modes

33 / 34
Combining confidentiality and authentication

I encrypt-then-authenticate is generally secure:


c ← Enc k1 (m), t ← Mac k2 (c)
transmit: hc, ti
I authenticated encryption is also a good choice:
e. g. offset codebook (OCB), Galois counter mode (GCM)
c, t ← AEAD enck (ad, m)
m := AEAD dec k (ad, c, t) or verification failure

34 / 34

You might also like