42
Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures 23 Oct: Key Exchange 30 Oct: NO TD 06 Nov: Multi-party key Exchange 13 Nov: Secure channels: TLS/SSL 20 Nov: Secure channels: TLS/SSL 27 Nov: Privacy-preserving Signatures

Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Embed Size (px)

Citation preview

Page 1: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Cristina Onete || 25/09/2014 || 1

TD – Cryptography

• 25 Sept: Public Key Encryption + RSA

• 02 Oct: RSA Continued

• 09 Oct: NO TD• 16 Oct: Digital Signatures

• 23 Oct: Key Exchange

• 30 Oct: NO TD• 06 Nov: Multi-party key Exchange• 13 Nov: Secure channels: TLS/SSL• 20 Nov: Secure channels: TLS/SSL

• 27 Nov: Privacy-preserving Signatures

Page 2: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Cristina Onete || 25/09/2014 || 2

Graded Assignment (TD Noté)

Travail individuel

• À envoyer au plus tard le 21 octobre à 15H

2 TD’s Notés

À envoyer: par courriel à:[email protected]

TD noté numéro 1:

• À envoyer au plus tard le 25 novembre à 15H

TD noté numéro 2:

Page 3: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Rennes, 25/09/2014

Cristina Onete

[email protected]

Public-Key Encryption. RSA Basics

Page 4: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Cristina Onete || 25/09/2014 || 4

Why Cryptography

Amelie

Baptiste

Jean

Secret

The enemy is all around us

Goal: Secure communication over insecure channels

Message confidentiality

Page 5: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

What is Encryption?

Amelie

BaptisteB

JeanC

Secret

Secret

Secret

Cristina Onete || 25/09/2014 || 5

Page 6: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

What is Encryption? (II)

Symmetric Encryption

Public-Key Encryption

BUsed to encrypt Needed to decrypt

B

• Key shared between parties• Key must remain secret!

B

Publickey

Secretkey

• Public key known to everyone• Secret key must be secret!

• Block ciphers, AES

Cristina Onete || 25/09/2014 || 6

Page 7: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

What is Encryption? (III)

Some uses for Public Key Encryption:

• Confidential exchange of messages

• Key Exchange Establishing secure channels• https:// (TLS/SSL, see TD, lectures 3,4) • ftp

• Onion routing (Tor networks)

• Digital signatures

• Authenticating messages or transactions

• Secure e-mail transmission:

• PGP, Outlook

Cristina Onete || 25/09/2014 || 7

Page 8: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Contents

Basics of Public-Key Encryption

RSA Encryption

• Syntax – general algorithms• Plaintext security notions• Certification and PKI

• Basics: number theory• Textbook RSA

Cristina Onete || 25/09/2014 || 8

• Security of Textbook RSA & Fixes• Bleichenbacher’s attack

Next lecture: attacks, safe modes, applications

Page 9: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

PKE Algorithms & Syntax

PKE = (KGen, Enc, Dec)

KGen()

B

Security parameter:determines key size

Everyone

pk sk

Secret

Enc()

m ciphertext

SecretDec()

Cristina Onete || 25/09/2014 || 9

Page 10: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Security of PKE

Assume: sk only known to Baptiste (as it should)

When do we call PKE secure?

• When attacker can’t learn m from c

Assume: Amelie encrypts to

Can know one bit of m?

Say Amelie encrypts or Then one bit is sufficient to learn m!

• When can’t learn anything about m from c

Cristina Onete || 25/09/2014 || 10

𝑚0

𝑚1

IndistinguishabilityIND-CPA/IND-CCA

𝑐

𝑚0

𝑚1???

Page 11: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Security of PKE (II)

Deterministic vs. probabilistic encryption

• Deterministic encryption:Plaintext m always encrypts to same ciphertextWhat if message space is tiny? (“yes”/”no”)?

YesNo

Find plaintextCan never get IND-CCA security

Cristina Onete || 25/09/2014 || 11

Remember: A knows pk; she can encrypt!

Page 12: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Security of PKE (III)

Deterministic vs. probabilistic encryption

• Probabilistic encryptionPlaintext m encrypts to different ciphertexts

Yes No?? ?

Cristina Onete || 25/09/2014 || 12

Page 13: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Security of PKE (IV)

Probabilistic Encryption:

• How do we get probabilistic behaviour?

Use different randomness at each encryption

Yes𝑟

𝑟 ′

• Can two messages encrypt to same ciphertext?

No

𝑟 ′ ′

?? ?

No, that would confuse decryption

Cristina Onete || 25/09/2014 || 13

Page 14: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Security of PKE (V)

How do we get IND-CCA/IND-CPA security?

• Keep the keys safe

• Keep the message safe

BBB

Secret

Cristina Onete || 25/09/2014 || 14

Page 15: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Secret and Public Keys

B

pk sk

connected

HOW?

• Can sk be short (20-50 bits)?Wait until you get a ciphertext, try out all the keys, see which decryption make sense.Sufficient key-space principle:

Any secure encryption scheme must have a key space that is not vulnerable to exhaustive search.

Cristina Onete || 25/09/2014 || 15

Page 16: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Secret and Public Keys (II)

B

pk sk

connected

HOW?

• If Jean needs to read some of Baptiste’s messages, does Baptiste give him the key?

Once Jean has a secret key, he can decrypt ALL the messages encrypted for Baptiste

Cristina Onete || 25/09/2014 || 16

Page 17: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Secret and Public Keys (III)

B

pk sk

connected

HOW?

• Should users share one sk?

• If sk corresponds to many pks given to many users, is this good?

Insecure: easier to make one give it away

Either they share sk, which is not good

BB

Or only one has the sk, which means none of the others can decrypt.One sk should correspond to one pk

Cristina Onete || 25/09/2014 || 17

Page 18: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Secret and Public Keys (IV)

B

pk sk

connected

HOW?

• Can one pk correspond to many sks, given to many users?

• One-to-one relationship between sk and pk

Anything one decrypts, the others can decrypt too; easier to corrupt one of themOne pk should correspond to one sk

Cristina Onete || 25/09/2014 || 18

Page 19: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Secret and Public Keys (V)

B

pk sk

Easy

Hard

• pk should be easily computable from sk• sk must be hard to compute from pk!

Usually rely on some “hard” problem

QC: you physically can’t invert

Cristina Onete || 25/09/2014 || 19

Page 20: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Secret and Public Keys (VI)

B

pk sk

Easy

Hard

Does for some value work?• Computable• Trivial to invert once you know

If c constant: generate keys, learn c If c unique (per user), and chosen at

random out of big space, it could be ok

Cristina Onete || 25/09/2014 || 20

Page 21: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Secret and Public Keys (VII)

Assume keys are “well” chosen:

• pk easy to compute from sk• sk large enough; hard to find from pk

How does Amelie know which pk is Baptiste’s?

• Baptiste could give it to Amelie in person

cumbersome

• Get someone to check and attest that a specific key is Baptiste’s

certification!

Cristina Onete || 25/09/2014 || 21

Page 22: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

B

Certification

Centralized certification – hierarchical Decentralized – PGP

B

Baptiste

Certification Authority(CA)

Certificate

• Baptiste

• public key

• pk used for:

PKE signatures

• Expires on…

CA

Cristina Onete || 25/09/2014 || 22

Page 23: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Cristina Onete || 25/09/2014 || 23

Aside: Digital Signatures

Digital Signature (will come back in TDs 3 and 4)

BaptisteSigner

M

• Goal: message authenticity

Yes, M came from SignerNo, M is not from Signer

• NOT a Goal: message confidentiality

• Signatures usually do not hide the message

• In fact, M is often sent in clear, before the signature

Page 24: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Cristina Onete || 25/09/2014 || 24

Aside: Digital Signatures

Digital Signature (will come back in TDs 3 and 4)

BaptisteSigner

M

• How signatures work: Signer has a secret key, known only to him He signs M with the secret key Everyone can check the signature given M and the public key

• Security: nobody can forge the signature without the secret key

Page 25: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Certification (II)

General structure of X.509 certificates:

• “Header”: version, serial number, algorithm (goal)

• Signer info: Issuer ID

• Validity: start date end date

• Content: who the certificate goes to Algorithm for PK Actual PK

Certificate

Signing Algorithm Signature

• Extensions

Cristina Onete || 25/09/2014 || 25

Page 26: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Certification (III)

Certificate Issuers and Receivers• Issuer is either CA or has a valid certificate

to sign certificatesVerify Issuer Signature

Check Issuer certificate validity

• Receiver is who he claims to be

Alternative identification

• PK issued to name in DN style (unique), to email address, or DNS entry

Blacklisting

Cristina Onete || 25/09/2014 || 26

Page 27: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Up to now

Secure communication over insecure channels

• Use encryption Symmetric vs. Public-Key Encryption

• SE: sk used for encryption and decryption• PKE: pk for encryption; sk for decryption

PKE Security

• pk easy to compute from sk and certified• sk hard to retrieve from pk and long enough• Goal: attacker can’t learn anything about

plaintext: IND-CPA/IND-CCA

Cristina Onete || 25/09/2014 || 27

Page 28: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Contents

Basics of Public-Key Encryption

RSA Encryption

• Syntax – general algorithms• Plaintext security notions• Certification and PKI

• Basics: number theory• Textbook RSA• Security of Textbook RSA & Fixes• Bleichenbacher’s attack

Next lecture: attacks, safe modes, applications

Cristina Onete || 25/09/2014 || 28

Page 29: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Secret and Public Keys (IV)

B

pk skEasy

Hard

• pk should be easily computable from sk• sk must be hard to compute from pk!

Usually rely on some “hard” problem

QC: you physically can’t invert

Cristina Onete || 25/09/2014 || 29

Page 30: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Number Theory: Prime fields

Prime numbers, finite fields

• p is prime if its divisible only by 1 and p

2; 3; 17; 91; 293; 1777; 2,147,483,647

• Zp = {0, 1, … p-1} is a finite field; p = 0

Zp is a group under addition

is a group under multiplication• If then

1𝑥=𝑥 ∗1=𝑥• For all , there is s.t.

• If then

Cristina Onete || 25/09/2014 || 30

Page 31: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Number Theory: Prime Fields (II)

• Zp = {0, 1, … 16}; = {1, … 16} 17 = 0

• Inverses: For all , there is s.t.

Cristina Onete || 25/09/2014 || 31

Example: p = 17.

• If then

Page 32: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Number Theory: Prime Fields (III)

Generators:

• Zp = {0, 1, … p-1} is a finite field; p = 0

• Choose random \ • generates : ) if

with

• Hard to compute given

Cristina Onete || 25/09/2014 || 32

• p = 17. Take

1 2 3 4 5 6 7 8 9 10

11 12 13 14 15 16

Page 33: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Cristina Onete || 25/09/2014 || 33

Number Theory: Prime Fields (IV)

with ,

𝑔𝑥 (𝑚𝑜𝑑𝑝 )

𝑥

Page 34: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Number Theory: Factoring

Greatest common divisor (GCD) of t and n:

Largest d such that d divides both t and n

t and n are co-prime iff. GCD(t, n) = 1Then there exist with

Cristina Onete || 25/09/2014 || 34

276=2∗138=22∗69=22∗3∗23322=2∗161=2∗7∗23

Example: ¿ 46

Example: −93∗276+133∗193=1

Euclid’s Algorithm: find in steps

Extended Euclid’s Algorithm Euclid’s Algorithm

Page 35: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Number Theory: Factoring (II)

Euler Totient: = |{t<n: GCD(t,n) = 1}|Number of integers <n co-prime with n

If GCD(t, n) = 1, then

Pick number , where are primesThen easy to compute

Factoring (finding p, q) is hard given nCristina Onete || 25/09/2014 || 35

Example: (prime)

(all except 1777)Example:

. Full set

Example: . Full set \

Page 36: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

To Remember

• If is prime, is a group under multiplicationAny generates Computing is easy. Finding m is hard(DLog)

• If are prime and then:Nr. of co-primes with Computing is easy. Finding is hard

Given hard to find (CDH)Given hard to know if (DDH)

Computing ) is easy. Finding given is hard

Cristina Onete || 25/09/2014 || 36

Page 37: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

RSA Encryption

RSA = Rivest, Shamir, Adelman

Scientific American, 1977

Currently the backbone of Internet security • Most of Public-Key Infrastructure (Certificates)• SSL/TLS (https://) – main mode for Key Exchange

• Secure e-mailing: PGP, Outlook…

Cristina Onete || 25/09/2014 || 37

Page 38: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Textbook RSA

Secret and public keys:

• Pick -bit prime numbers and• Compute and

Now throw away and

• Choose such that GCD() = 1This means:

B Publish

Cristina Onete || 25/09/2014 || 38

Page 39: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Textbook RSA (II)

p, q, n:=pq

𝜑 (𝑛) ,𝑛 ,𝑒 ,𝑑

B

𝑛 ,𝑒

Secret 𝑚 𝑐=𝑚𝑒(𝑚𝑜𝑑𝑛) 𝑚=𝑐𝑑(𝑚𝑜𝑑𝑛)

Cristina Onete || 25/09/2014 || 39

𝑛 ,𝑒

Page 40: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Textbook RSA (III)

Why it works:

• Parameters: primes , ,

such that

• Encryption: 𝑐=𝑚𝑒(𝑚𝑜𝑑𝑛)• Decryption:𝑐𝑑(𝑚𝑜𝑑𝑛)¿𝑚𝑑𝑒 (𝑚𝑜𝑑𝑛)=¿

𝑚1+ 𝑡𝜑 (𝑛) (𝑚𝑜𝑑𝑛)

If GCD(m, n) = 1, then

¿𝑚1𝑚𝑡 𝜑(𝑛)(𝑚𝑜𝑑𝑛 ) ¿𝑚 (𝑚𝑜𝑑𝑛)

Also works though if m = p or q

Cristina Onete || 25/09/2014 || 40

We show this = 1

Page 41: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Textbook RSA (IV)

Parameter size:

• Parameters and, each of 512 bits • Size of and is around 1024 bits

• Encryption key chosen in set , decryption key comes from the same set

• For “securer” RSA, choose parameters of around 2048 bits

Cristina Onete || 25/09/2014 || 41

Page 42: Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures

Thanks!