Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Understanding Cryptography – A Textbook for
Students and Practitioners
by Christof Paar and JanPelzl
www.crypto-textbook.c...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl2
Some legal stuff (sorry): Terms of Use
• The slide...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl3
Topics
• Symmetric Cryptography Revisited
• Princi...
Symmetric Cryptography Revisited
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
• The same secret key K is used for encryption and ...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
Symmetric Cryptography: Analogy
K
6
K
Safe with a l...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
Symmetric Cryptography: Shortcomings
• Symmetric al...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
• Alice or Bob can cheat each other, because they h...
Principles of Asymmetric Cryptography
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
New Idea:
Like a mailbox:
Everyone can drop a lette...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
Asymmetric Cryptography: Analogy
Safe with public l...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
• A message encrypted with a public key can be decr...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
• It must be easy to calculate the public key from ...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
• Factorization
• Finding prime factors of a large ...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
• Logarithms to base 10
• log(100) = 2, because 102...
Practical Aspects of Public-Key
Cryptography
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
Basic Protocol for Public-Key Encryption
Alice Bob
...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl19
Uses of Public-Key Cryptography
• Key Distributio...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl20
Disadvantage of Public-Key Cryptography
• Computa...
AES Encryption in Python
RSA Encryption in Python
RSA Decryption in Python
Testing Speed in Python
Testing Speed in Python
Testing Speed in Python
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl26
Basic Key Transport Protocol 1/2
In practice: Hyb...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
Alice
y1 = eKpubB(K) y1
K = dKprB(y1)
Key Exchange
...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl28
Remaining Problem: Key Authenticity
• Alice wants...
Important Public-Key Algorithms
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
Key Lengths and Security Levels
Symmetric ECC RSA, ...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl
Quantum Computers
32
• The existence of quantum com...
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl33
NIST Recommendations from 2016
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl34
NIST Recommendations from 2016
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl35
NIST Recommendations from 2016
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl36
NIST Recommendations from 2016
Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl37
■ Lessons Learned
• Public-key algorithms have ca...
CNIT 141: 6. Introduction to Public-Key Cryptography
CNIT 141: 6. Introduction to Public-Key Cryptography
CNIT 141: 6. Introduction to Public-Key Cryptography
Upcoming SlideShare
Loading in …5
×

CNIT 141: 6. Introduction to Public-Key Cryptography

340 views

Published on

A lecture for a college course -- CNIT 140: Cryptography for Computer Networks at City College San Francisco
Based on "Understanding Cryptography: A Textbook for Students and Practitioners" by Christof Paar, Jan Pelzl, and Bart Preneel, ISBN: 3642041000
Instructor: Sam Bowne
More info: https://samsclass.info/141/141_F17.shtml

Published in: Education
  • Be the first to comment

CNIT 141: 6. Introduction to Public-Key Cryptography

  1. 1. Understanding Cryptography – A Textbook for Students and Practitioners by Christof Paar and JanPelzl www.crypto-textbook.com Chapter 6 – Introduction to Public-Key Cryptography ver. November 18, 2010 These slides were prepared by Timo Kasper and Christof Paar and modified by Sam Bowne -- revised 10-16-17
  2. 2. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl2 Some legal stuff (sorry): Terms of Use • The slides can used free of charge. All copyrights for the slides remain with Christof Paar and Jan Pelzl. • The title of the accompanying book “Understanding Cryptography” by Springer and the author’s names must remain on each slide. • If the slides are modified, appropriate credits to the book authors and the book title must remain within the slides. • It is not permitted to reproduce parts or all of the slides in printed form whatsoever without written consent by the authors.
  3. 3. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl3 Topics • Symmetric Cryptography Revisited • Principles of Asymmetric Cryptography • Practical Aspects of Public-Key Cryptography • Important Public-Key Algorithms • Essential Number Theory for Public-Key Algorithms (SKIP)
  4. 4. Symmetric Cryptography Revisited
  5. 5. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl • The same secret key K is used for encryption and decryption • Encryption and Decryption are very similar (or even identical) functions Symmetric Cryptography Revisited eK(x) dK(y)x y x KK Alice Bob 5
  6. 6. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl Symmetric Cryptography: Analogy K 6 K Safe with a lock, only Alice and Bob have a copy of the key • Alice encrypts -- locks message in the safe with her key • Bob decrypts -- uses his copy of the key to open the safe
  7. 7. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl Symmetric Cryptography: Shortcomings • Symmetric algorithms, e.g., AES or 3DES, are very secure, fast & widespread but: • Key distribution problem: The secret key must be transported securely • Number of keys: In a network, each pair of users requires an individual key 7 A B CF DE
  8. 8. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl • Alice or Bob can cheat each other, because they have identical keys. • Alice can sign a contract, and later deny it • Bob could have faked the signature • Doesn't provide non-repudiation Symmetric Cryptography: Shortcomings 8
  9. 9. Principles of Asymmetric Cryptography
  10. 10. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl New Idea: Like a mailbox: Everyone can drop a letter But: Only the owner has the correct key to open the box Idea Behind Asymmetric Cryptography 10 1976: first publication of such an algorithm by Whitfield Diffie and Martin Hellman,and also by Ralph Merkle.
  11. 11. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl Asymmetric Cryptography: Analogy Safe with public lock and private lock: 11 • Alice deposits (encrypts) a message with Bob's - not secret - public key Kpub • Only Bob has the - secret - private key Kpr to retrieve (decrypt) the message (Kpub) (Kpr)
  12. 12. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl • A message encrypted with a public key can be decrypted with the corresponding private key • The keys are related • Each user must generate an individual key pair • Publish public key where everyone can find it • Protect private key so no one else gets it Key Generation 12
  13. 13. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl • It must be easy to calculate the public key from the private key • So keys can be generated • But difficult to calculate the private key from the public key • So attacker's can't get the private key One-Way Functions 13
  14. 14. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl • Factorization • Finding prime factors of a large number • n is known; find p and q • Discrete logarithm • Find an integer x satisfying this equation • a, b, and p are known Commonly Used One-Way Functions 14
  15. 15. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl • Logarithms to base 10 • log(100) = 2, because 102 = 100 • log(1000) = 3, because 103 = 100 • log(2) = 0.301 • Discrete logarithm • Same thing, except on a ring and using only integers • Find an integer x satisfying this equation • a, b and p are known Logarithms 15
  16. 16. Practical Aspects of Public-Key Cryptography
  17. 17. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl Basic Protocol for Public-Key Encryption Alice Bob (KpubB,KprB) = K KpubB x y=eKpubB (x) y 18 x=dKprB (y) Key Distribution Problem solved * *at least for now; public keys need to be authenticated
  18. 18. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl19 Uses of Public-Key Cryptography • Key Distribution • Diffie-Hellman key exchange (DHKE), RSA • Without a pre-shared secret (key) • Nonrepudiation • RSA, DSA or ECDSA (Elliptic Curve Digital Signature Algorithm) • Identification • Digital signatures • Encryption • RSA, ECC (Elliptic Curve Cryptography), or Elgamal
  19. 19. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl20 Disadvantage of Public-Key Cryptography • Computationally very intensive • 1000 times slower than symmetric algorithms!
  20. 20. AES Encryption in Python
  21. 21. RSA Encryption in Python RSA Decryption in Python
  22. 22. Testing Speed in Python
  23. 23. Testing Speed in Python
  24. 24. Testing Speed in Python
  25. 25. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl26 Basic Key Transport Protocol 1/2 In practice: Hybrid systems, incorporating asymmetric and symmetric algorithms 1. Key exchange (for symmetric schemes) and digital signatures are performed with (slow) asymmetric algorithms 2. Encryption of data is done using (fast) symmetric ciphers, e.g., block ciphers or stream ciphers
  26. 26. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl Alice y1 = eKpubB(K) y1 K = dKprB(y1) Key Exchange (asymmetric) y2 = AESK (x) x = AES-1 K (y2) y2 Data Encryption (symmetric) Bob (KpubB,KprB) = K KpubB 27 Choose random symmetric key K message x Basic Key Transport Protocol 2/2 Example: Hybrid protocol with AES as the symmetric cipher
  27. 27. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl28 Remaining Problem: Key Authenticity • Alice wants to send a message to Bob • Attacker can publish a fake public key for Bob • Alice uses the fake key, so the attacker can read the message • The current solution is digital certificates and Certificate Authorities
  28. 28. Important Public-Key Algorithms
  29. 29. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl Key Lengths and Security Levels Symmetric ECC RSA, DL Remark 64 Bit 128 Bit ≈ 700 Bit Only short term security (a few hours or days) 80 Bit 160 Bit ≈ 1024 Bit Medium security (except attacks from big governmental institutions etc.) 128 Bit 256 Bit ≈ 3072 Bit Long term security (without quantum computers) 31
  30. 30. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl Quantum Computers 32 • The existence of quantum computers would probably be the end for ECC, RSA & DL • TEXTBOOK SAYS: • At least 2-3 decades away, and some people doubt that QC will ever exist
  31. 31. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl33 NIST Recommendations from 2016
  32. 32. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl34 NIST Recommendations from 2016
  33. 33. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl35 NIST Recommendations from 2016
  34. 34. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl36 NIST Recommendations from 2016
  35. 35. Chapter 6 of Understanding Cryptography by Christof Paar and Jan Pelzl37 ■ Lessons Learned • Public-key algorithms have capabilities that symmetric ciphers don’t have, in particular digital signature and key establishment functions. • Public-key algorithms are computationally intensive (a nice way of saying that they are slow), and hence are poorly suited for bulk data encryption. • Only three families of public-key schemes are widely used. This is considerably fewer than in the case of symmetric algorithms. • The extended Euclidean algorithm allows us to compute modular inverses quickly, which is important for almost all public-key schemes. • Euler’s phi function gives us the number of elements smaller than an integer n that are relatively prime to n. This is important for the RSA crypto scheme.

×