SlideShare a Scribd company logo
CSCI 172/283
Fall 2010
Public Key Cryptography
Public Key Cryptography
 New paradigm introduced by Diffie and Hellman
 The mailbox analogy:
 Bob has a locked mailbox
 Alice can insert a letter into the box, but can’t unlock
it to take mail out
 Bob has the key and can take mail out
 Encrypt messages to Bob with Bob’s public key
 Can freely distribute
 Bob decrypts his messages with his private key
 Only Bob knows this
Requirements
 How should a public key scheme work?
 Three main conditions
 It must be computationally easy to encrypt or
decrypt a message given the appropriate key
 It must be computationally infeasible to derive the
private key from the public key
 It must be computationally infeasible to determine
the private key from chosen plaintext attack
 Attacker can pick any message, have it encrypted, and
obtain the ciphertext
Exchanging keys
 Alice and Bob want to communicate using a block
cipher to encrypt their messages, but don’t have
shared key
 How do Alice and Bob get a shared key?
Solution 1
 Alice sends the key along with her encrypted
message
 Eve sees encrypted message and key
 Uses key to decrypt message
Solution 2
 Alice sends the key at some time prior to sending
Bob the encrypted message
 Eve has to wait longer
 If she saw the key transmission, she has the key
 Uses key to decrypt message
Solution 3 – Use public key
crypto
 Diffie Hellman Key Exchange
 All users share common modulus, p, and element
g
 g ≠ 0, g ≠ 1, and g ≠ p-1
 Alice chooses her private key, kA
 Computes KA = gkA mod p and sends it to Bob in the
clear
 Bob chooses his private key, kB
 Computes KB = gkB mod p and sends it to Alice in
the clear
 When Alice and Bob want to agree on a shared
key, they compute a shared secret S
 SA,B = KB
kA mod p
 S = K kB mod p
Why does DH work?
 SA,B = SB,A
 (gkA) kB mod p = (gkB) kA mod p
 Eve knows
 g and p
 KA and KB
 Why can’t Eve compute the secret?
 This was the first public key cryptography scheme
SA,B = KB
kA mod p
SB,A = KA
kB mod p
Hard problems
 Public key cryptosystems are based on hard
problems
 DH is based on the Discrete Logarithm Problem
(DLP)
 Given:
 Multiplicative group G
 Element a in G
 Output b
 Find:
 Unique solution to ax = b in G
 x is loga b
 No polynomial time algorithm exists to solve this*
*On classical computers
Could it fail?
 Eve could fool Alice and Bob
 Man in the middle / bucket brigade
Alice
Bob
Eve
My key is
KA
My key is
K’A
My key is
KB
My key is
K’B
Alice has no guarantee that the person she’s establishing
a key with is actually Bob
RSA
 Rivest-Shamir-Adleman
 Probably the most well-known public key scheme
 First, some background
Euler’s Totient
 Totient function (n)
 Number of positive numbers less than n that are
relatively prime to n
 Two numbers are relatively prime when their greatest
common divisor is 1
 Example: (10) = 4
 1, 3, 7, 9
 Example: (7) = 6
 1, 2, 3, 4, 5, 6
 If n is prime, (n) = n-1
RSA keys
 Choose 2 large primes, p and q
 N = pq
 (N) = (p-1)(q-1)
 Choose e < N such that gcd(e, (N))=1
 d such that ed = 1 mod (N)
 Public key: {N, e}
 Private key: {d}
 p and q must also be kept secret
RSA encryption/decryption
 Alice wants to send Bob message m
 She knows his public key, {N,e}
Alice
Bob
c = me mod N
c
m = cd mod N
Toy example
 p=7, q=11
 N=77
 (N) = (6)(10) = 60
 Bob chooses e=17
 Uses extended Euclidean algorithm to find inverse
of e mod 60
 Finds d=53
 Bob makes {N, e} public
Toy example (continued)
 Alice wants to send Bob “HELLO WORLD”
 Represent each letter as a number 00(A) to 25(Z)
 26 is a space
 Calculates:
 0717 mod 77 = 28, 0417 mod 77 = 16, …, 0317 mod
77 = 75
 Sends Bob 28 16 44 44 42 38 22 42 19 44 75
 He decrypts each number with his private key and
gets “HELLO WORLD”
What could go wrong?
 What was wrong with the toy example?
 Eve can easily find the encryption of each letter and
use that as a key to Alice’s message
 Even without knowing the public key, can use
statistics to find likely messages
 Like cryptogram puzzles
How it should really happen
 p and q should be at least 512 bits each
 N at least 1024 bits
 The message “HELLO WORLD” would be
converted into one very large integer
 That integer would be raised to the public/private
exponent
 For short message, pad them with a random
string
Is this key yours?
 How to bind a key to an identity?
PK Paradigm
 Genkey(some info)
 Creates Kpub and Kpriv
 Encrypt with Kpub
 Decrypt with Kpriv
 Certificate binds key to individual
IBE
 Identity-Based Encryption
 Kpub is well-known
 Known to be bound to owner
 Name, email, SSN, etc.
 Owner requests a private key from CA
 No certificates required
Conclusion by xkcd
http://xkcd.com/538/

More Related Content

Similar to CS283-PublicKey.ppt

Diffie hellman key exchange algorithm
Diffie hellman key exchange algorithmDiffie hellman key exchange algorithm
Diffie hellman key exchange algorithm
Sunita Kharayat
 
The security of quantum cryptography
The security of quantum cryptographyThe security of quantum cryptography
The security of quantum cryptographywtyru1989
 
ET4045-2-cryptography-2
ET4045-2-cryptography-2ET4045-2-cryptography-2
ET4045-2-cryptography-2
Tutun Juhana
 
aacyberessential3cryptography-131067585699078884.pptx
aacyberessential3cryptography-131067585699078884.pptxaacyberessential3cryptography-131067585699078884.pptx
aacyberessential3cryptography-131067585699078884.pptx
ImXaib
 
Zero Knowledge Proofs: What they are and how they work
Zero Knowledge Proofs: What they are and how they workZero Knowledge Proofs: What they are and how they work
Zero Knowledge Proofs: What they are and how they work
All Things Open
 
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPAL
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPALPROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPAL
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPAL
DrupalCamp Kyiv
 
Bob has a public RSA key (n = 77, e = 13). He sends Alice a message m.pdf
Bob has a public RSA key (n = 77, e = 13). He sends Alice a message m.pdfBob has a public RSA key (n = 77, e = 13). He sends Alice a message m.pdf
Bob has a public RSA key (n = 77, e = 13). He sends Alice a message m.pdf
fashiionbeutycare
 
RSA cryptosytem Alice and Bob set up an RSA cryptosystem Bob choose.pdf
RSA cryptosytem Alice and Bob set up an RSA cryptosystem Bob choose.pdfRSA cryptosytem Alice and Bob set up an RSA cryptosystem Bob choose.pdf
RSA cryptosytem Alice and Bob set up an RSA cryptosystem Bob choose.pdf
ALASEEMKOTA
 
Security
Security Security
Security
Saqib Shehzad
 
cryptography and encryption and decryption
cryptography and encryption and decryptioncryptography and encryption and decryption
cryptography and encryption and decryption
NirajKumar620142
 
public-key cryptography Shamir
public-key cryptography Shamirpublic-key cryptography Shamir
public-key cryptography Shamir
Information Security Awareness Group
 
Cupdf.com public key-cryptography-569692953829a
Cupdf.com public key-cryptography-569692953829aCupdf.com public key-cryptography-569692953829a
Cupdf.com public key-cryptography-569692953829a
jsk1950
 
Network Security
Network SecurityNetwork Security
Network Security
hj43us
 
6-PKCpartII-Encryptionandsignatures.pptx
6-PKCpartII-Encryptionandsignatures.pptx6-PKCpartII-Encryptionandsignatures.pptx
6-PKCpartII-Encryptionandsignatures.pptx
farouqalfuhidi
 
keyex.pptx
keyex.pptxkeyex.pptx
keyex.pptx
Vaibhavwankhede18
 

Similar to CS283-PublicKey.ppt (20)

Diffie hellman key exchange algorithm
Diffie hellman key exchange algorithmDiffie hellman key exchange algorithm
Diffie hellman key exchange algorithm
 
The security of quantum cryptography
The security of quantum cryptographyThe security of quantum cryptography
The security of quantum cryptography
 
b
bb
b
 
Other public key systems
Other public key systemsOther public key systems
Other public key systems
 
ET4045-2-cryptography-2
ET4045-2-cryptography-2ET4045-2-cryptography-2
ET4045-2-cryptography-2
 
Crypt
CryptCrypt
Crypt
 
aacyberessential3cryptography-131067585699078884.pptx
aacyberessential3cryptography-131067585699078884.pptxaacyberessential3cryptography-131067585699078884.pptx
aacyberessential3cryptography-131067585699078884.pptx
 
Zero Knowledge Proofs: What they are and how they work
Zero Knowledge Proofs: What they are and how they workZero Knowledge Proofs: What they are and how they work
Zero Knowledge Proofs: What they are and how they work
 
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPAL
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPALPROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPAL
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPAL
 
Cryptography
CryptographyCryptography
Cryptography
 
Bob has a public RSA key (n = 77, e = 13). He sends Alice a message m.pdf
Bob has a public RSA key (n = 77, e = 13). He sends Alice a message m.pdfBob has a public RSA key (n = 77, e = 13). He sends Alice a message m.pdf
Bob has a public RSA key (n = 77, e = 13). He sends Alice a message m.pdf
 
RSA cryptosytem Alice and Bob set up an RSA cryptosystem Bob choose.pdf
RSA cryptosytem Alice and Bob set up an RSA cryptosystem Bob choose.pdfRSA cryptosytem Alice and Bob set up an RSA cryptosystem Bob choose.pdf
RSA cryptosytem Alice and Bob set up an RSA cryptosystem Bob choose.pdf
 
Security
Security Security
Security
 
cryptography and encryption and decryption
cryptography and encryption and decryptioncryptography and encryption and decryption
cryptography and encryption and decryption
 
public-key cryptography Shamir
public-key cryptography Shamirpublic-key cryptography Shamir
public-key cryptography Shamir
 
Cupdf.com public key-cryptography-569692953829a
Cupdf.com public key-cryptography-569692953829aCupdf.com public key-cryptography-569692953829a
Cupdf.com public key-cryptography-569692953829a
 
Network Security
Network SecurityNetwork Security
Network Security
 
6-PKCpartII-Encryptionandsignatures.pptx
6-PKCpartII-Encryptionandsignatures.pptx6-PKCpartII-Encryptionandsignatures.pptx
6-PKCpartII-Encryptionandsignatures.pptx
 
Ch7 2ed
Ch7 2edCh7 2ed
Ch7 2ed
 
keyex.pptx
keyex.pptxkeyex.pptx
keyex.pptx
 

Recently uploaded

AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 

Recently uploaded (20)

AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 

CS283-PublicKey.ppt

  • 1. CSCI 172/283 Fall 2010 Public Key Cryptography
  • 2. Public Key Cryptography  New paradigm introduced by Diffie and Hellman  The mailbox analogy:  Bob has a locked mailbox  Alice can insert a letter into the box, but can’t unlock it to take mail out  Bob has the key and can take mail out  Encrypt messages to Bob with Bob’s public key  Can freely distribute  Bob decrypts his messages with his private key  Only Bob knows this
  • 3. Requirements  How should a public key scheme work?  Three main conditions  It must be computationally easy to encrypt or decrypt a message given the appropriate key  It must be computationally infeasible to derive the private key from the public key  It must be computationally infeasible to determine the private key from chosen plaintext attack  Attacker can pick any message, have it encrypted, and obtain the ciphertext
  • 4. Exchanging keys  Alice and Bob want to communicate using a block cipher to encrypt their messages, but don’t have shared key  How do Alice and Bob get a shared key?
  • 5. Solution 1  Alice sends the key along with her encrypted message  Eve sees encrypted message and key  Uses key to decrypt message
  • 6. Solution 2  Alice sends the key at some time prior to sending Bob the encrypted message  Eve has to wait longer  If she saw the key transmission, she has the key  Uses key to decrypt message
  • 7. Solution 3 – Use public key crypto  Diffie Hellman Key Exchange  All users share common modulus, p, and element g  g ≠ 0, g ≠ 1, and g ≠ p-1  Alice chooses her private key, kA  Computes KA = gkA mod p and sends it to Bob in the clear  Bob chooses his private key, kB  Computes KB = gkB mod p and sends it to Alice in the clear  When Alice and Bob want to agree on a shared key, they compute a shared secret S  SA,B = KB kA mod p  S = K kB mod p
  • 8. Why does DH work?  SA,B = SB,A  (gkA) kB mod p = (gkB) kA mod p  Eve knows  g and p  KA and KB  Why can’t Eve compute the secret?  This was the first public key cryptography scheme SA,B = KB kA mod p SB,A = KA kB mod p
  • 9. Hard problems  Public key cryptosystems are based on hard problems  DH is based on the Discrete Logarithm Problem (DLP)  Given:  Multiplicative group G  Element a in G  Output b  Find:  Unique solution to ax = b in G  x is loga b  No polynomial time algorithm exists to solve this* *On classical computers
  • 10. Could it fail?  Eve could fool Alice and Bob  Man in the middle / bucket brigade Alice Bob Eve My key is KA My key is K’A My key is KB My key is K’B Alice has no guarantee that the person she’s establishing a key with is actually Bob
  • 11. RSA  Rivest-Shamir-Adleman  Probably the most well-known public key scheme  First, some background
  • 12. Euler’s Totient  Totient function (n)  Number of positive numbers less than n that are relatively prime to n  Two numbers are relatively prime when their greatest common divisor is 1  Example: (10) = 4  1, 3, 7, 9  Example: (7) = 6  1, 2, 3, 4, 5, 6  If n is prime, (n) = n-1
  • 13. RSA keys  Choose 2 large primes, p and q  N = pq  (N) = (p-1)(q-1)  Choose e < N such that gcd(e, (N))=1  d such that ed = 1 mod (N)  Public key: {N, e}  Private key: {d}  p and q must also be kept secret
  • 14. RSA encryption/decryption  Alice wants to send Bob message m  She knows his public key, {N,e} Alice Bob c = me mod N c m = cd mod N
  • 15. Toy example  p=7, q=11  N=77  (N) = (6)(10) = 60  Bob chooses e=17  Uses extended Euclidean algorithm to find inverse of e mod 60  Finds d=53  Bob makes {N, e} public
  • 16. Toy example (continued)  Alice wants to send Bob “HELLO WORLD”  Represent each letter as a number 00(A) to 25(Z)  26 is a space  Calculates:  0717 mod 77 = 28, 0417 mod 77 = 16, …, 0317 mod 77 = 75  Sends Bob 28 16 44 44 42 38 22 42 19 44 75  He decrypts each number with his private key and gets “HELLO WORLD”
  • 17. What could go wrong?  What was wrong with the toy example?  Eve can easily find the encryption of each letter and use that as a key to Alice’s message  Even without knowing the public key, can use statistics to find likely messages  Like cryptogram puzzles
  • 18. How it should really happen  p and q should be at least 512 bits each  N at least 1024 bits  The message “HELLO WORLD” would be converted into one very large integer  That integer would be raised to the public/private exponent  For short message, pad them with a random string
  • 19. Is this key yours?  How to bind a key to an identity?
  • 20. PK Paradigm  Genkey(some info)  Creates Kpub and Kpriv  Encrypt with Kpub  Decrypt with Kpriv  Certificate binds key to individual
  • 21. IBE  Identity-Based Encryption  Kpub is well-known  Known to be bound to owner  Name, email, SSN, etc.  Owner requests a private key from CA  No certificates required