37
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell

Cryptography Intro

Embed Size (px)

DESCRIPTION

Cyrptography intro

Citation preview

Page 1: Cryptography Intro

1

Introduction

CSE 5351: Introduction to cryptography

Reading assignment:

Chapter 1 of Katz & Lindell

Page 2: Cryptography Intro

Cryptography

Merriam-Webster Online Dictionary:

1. secret writing

2. the enciphering and deciphering of messages

in secret code or cipher.

Modern cryptography is more than secret

writing.

2

Page 3: Cryptography Intro

3

Computationally Difficult Problems (One-Way Functions)

PseudorandomGenerators/Functions

Zero-KnowledgeProof Systems

EncryptionSchemes

CryptoProtocols

Sgn/MAC/hashSchemes

APPLICATIONS

A Structural View of Cryptography

Page 4: Cryptography Intro

4

Basic objectives of cryptography

Protecting data privacy

Data integrity (message authentication): allowing the recipient to

check if a received message has been modified.

Authentication:

Data origin authentication: allowing the recipient to verify the

origin of a received message.

Entity authentication: allowing the entities of a (connection-

oriented) communication to authenticate each other.

Non-repudiation: to prevent the sender from later denying that

he sent the message.

Page 5: Cryptography Intro

5

Main Characters

Alice

Bob

Peggy (prover)

Vic (verifier)

Eve or Adam (eavesdropper, adversary)

Page 6: Cryptography Intro

6

Bob Alice

Eve

Page 7: Cryptography Intro

7

mcE D

Bob Alice

m

key key’

Encryption and secrecy

Plaintext ciphertext plaintext

Page 8: Cryptography Intro

8

Encryption and secrecy

Encryption protects secrecy of transmitted

messages

Encryption Ek: plaintext m → ciphertext c

Decryption Dk’ : ciphertext c → plaintext m

Encryption key:

Decryption key:

equal or not equalk

k

Page 9: Cryptography Intro

9

Symmetric-key encryption

Also called secret-key or private-key

encryption

Encryption key = decryption key

D(k, E(k,m)) = m

Or, Dk(Ek(m)) = m

Page 10: Cryptography Intro

10

Example: Caesar’s shift cipher

Plaintexts m English characters

Represented as integers 0-25

Key k: an integer in 1..25

Ek(m) = (m + k) mod 26

Dk(c) = (c − k) mod 26

E3: ohio → rklr D3: rklr → ohio

Page 11: Cryptography Intro

11

Public-key encryption

Also called asymmetric encryption

Using a pair of keys (sk, pk)

sk is secret, known only to the key’s owner (say Alice)

pk is public, known to everyone

From pk, it is hard to derive sk.

Dsk(Epk(m)) = m.

Page 12: Cryptography Intro

12

mcE D

Bob Alice

m

public key secret key

Public-key Encryption

Plaintext ciphertext plaintext

Page 13: Cryptography Intro

13

Example: RSA

Public key: ( , )

Secret key:

Encryption: ( ) mod

Decryption: ( ) mod

e

d

n e

d

E m m n

D c c n

Page 14: Cryptography Intro

14

Message authentication codes

Ensuring data integrity using symmetric keys.

Alice and Bob share a symmetric key k.

Alice sends to Bob the augmented message

(m, x), where x = MACk(m).

Bob on receiving (m’, x’), checks if x’ =

MACk(m’). If so, accepts m’ as authentic.

Page 15: Cryptography Intro

15

Digital signatures

Ensuring data integrity and non-repudiation

using public-key methods

s = Signsk(m)

Verifypk(m, s) = true or false.

Hash-then-sign: s = Signsk(h(m)), where h

is a cryptographic hash function.

Page 16: Cryptography Intro

Pseudorandom generators (1)

Randomness and security of cryptosystems

are closely related.

Vernam’s one-time pad encryption scheme:

To encrypt a message m

Randomly generate a bit string k

c looks random to anyone not knowing the key k.16

Encrypt as : bit by bitm c m k

Page 17: Cryptography Intro

Pseudorandom generators (2)

Expensive to generate truly random bits.

Psuedorandom generators are algorithms

that, on input a short random bit string,

generate a longer, random-like bit string.

17

Page 18: Cryptography Intro

18

Computationally Difficult Problems (One-Way Functions)

PseudorandomGenerators/Functions

Zero-KnowledgeProof Systems

EncryptionSchemes

CryptoProtocols

Sgn/MAC/hashSchemes

APPLICATIONS

A Structural View of Cryptography

Page 19: Cryptography Intro

19

Cryptographic primitives

These are often regarded as basic cryptographic primitives: Pseudorandom generators/functions

Encryption schemes

Cryptographic hash functions

MACs, digital signatures

They are often used as building blocks to build cryptographic protocols.

Page 20: Cryptography Intro

20

Cryptographic protocols

A cryptographic protocol:

Involves two or more parties

Often combines different primitives

Accomplishes a more sophisticated task, e.g., tossing a coin over the phone, millionaire problem, electronic election

Page 21: Cryptography Intro

21

Example cryptographic protocol

Protocol for user identification using a digital signature scheme

Alice has a key pair (pk, sk)

Alice → Bob: “I’m Alice”

Alice ← Bob: a random challenge c

Alice → Bob: a response s = Signsk(c)

Bob checks if Verifypk(c,s) = true

Page 22: Cryptography Intro

22

Is this protocol secure?

Suppose Bob has a key pair (pk, sk)

Alice → Bob: “I’m Alice”

Alice ← Bob: “What’s your password?”

Alice → Bob: a response c = Epk(m), where m

is Alice’s password

Bob checks if Dsk(c) is correct.

Page 23: Cryptography Intro

Zero-Knowledge Proofs

In applications, a party often needs to prove that

he follows the protocol. For example:

Alice is supposed to send a same message to

Bob and Cindy, encrypted using their respective

public keys.

Can Alice prove to David that she did send a

same message without revealing the message?

23

Page 24: Cryptography Intro

24

One-way functions

Modern cryptosystems are based on (trapdoor)

one-way functions.

A function f is one-way if it is easy to compute, but

hard to invert. Easy to compute:

Hard to compute:

Trapdoor: some additional information that makes

f -1 easy to compute.

1

( )

( )

f

f

x f x

x f x

Page 25: Cryptography Intro

25

“Assumed” one-way functions

No function has been proved one-way.

Some functions are believed to be one-way.

For example:

Integer multiplication

Discrete exponentiation

Modular powers

Page 26: Cryptography Intro

26

“Assumed” one-way functions

Integer multiplication:

( , ) , where , i.e., of equal bit length

Discrete exponentiation:

( ) mod        : integers, 1

Modular powers:

( ) mod        : integers, 1

x

b

f x y x y x y

f x b n x x n

f x x n x

x n

Page 27: Cryptography Intro

27

Cryptanalysis

Science of studying attacks against

cryptographic schemes.

Kerkhoff’s principle: the adversary knows

all details about a cryptosystem except the

secret key.

Cryptography + Cryptanalysis = Cryptology

Page 28: Cryptography Intro

28

Attacks on encryption schemes

Attackers are different in Objectives: e.g. to obtain information about a

plaintext, to fully decipher it, or to obtain the key

Levels of computing power

Amount of information available

When studying the security of an encryption

scheme, we need to specify the type of attacks.

Page 29: Cryptography Intro

29

Different types of attacks

Different types of attacks (classified by the amount of

information that may be obtained by the attacker):

Ciphertext-only attack

Known-plaintext attack

Chosen-plaintext attack (possibly adaptively)

Chosen-ciphertext attack (possibly adaptively)

Chosen plaintext & ciphertext attack (possibly

adaptively)

Page 30: Cryptography Intro

30

Ciphertext-only attacks

Given: a ciphertext c

Q: what is its plaintext m?

An encryption scheme is completely

insecure if it cannot resist ciphertext-only

attacks.

Page 31: Cryptography Intro

31

Known-plaintext attacks

Given: (m1,c1), (m2,c2), …, (mk,ck) and a

new ciphertext c.

Q: what is the plaintext of c?

Page 32: Cryptography Intro

32

Chosen-plaintext attacks

Given: (m1,c1), (m2,c2), …, (mk,ck), where m1,

m2, …, mk are chosen by the adversary; and

a new ciphertext c.

Q: what is the plaintext of c?

Adaptively-chosen-plaintext attack: m1, m2,

…, mk are chosen adaptively.

Page 33: Cryptography Intro

33

Chosen-ciphertext attacks

Given: (m1,c1), (m2,c2), …, (mk,ck), where c1,

c2, …, ck are chosen by the adversary; and

a new ciphertext c.

Q: what is the plaintext of c?

Adaptively-chosen-ciphertext attack: c1, c2,

…, ck are chosen adaptively.

Page 34: Cryptography Intro

Different types of adversaries …

Classified by the amount of computing

resources available by the adversary:

The attacker has unbounded computing power

The attacker only has a polynomial amount of

computing power (polynomial in some security

parameter, typically the key length).

34

Page 35: Cryptography Intro

35

Unconditional security

Secure even if the adversary has infinite

computational resources (CPU time and

memory storage).

For example, Vernam’s one-time pad is

unconditionally secure against ciphertext-

only attack.

Page 36: Cryptography Intro

36

Computational security

Secure if the attacker has only polynomial

amount of computational resources.

For example, RSA is considered

computationally secure; it may take

thousands years to decipher a ciphertext. Why is RSA not unconditionally secure?

Page 37: Cryptography Intro

37

Computational Difficulty (One-Way Functions)

PseudorandomGeneratorsAnd Functions

Zero-KnowledgeProof Systems

EncryptionSchemes

CryptoProtocols

Sign/MACSchemes

APPLICATIONS (security)

This course: