 Introduction to Public Key Cryptography

Presentation on theme: "Introduction to Public Key Cryptography"— Presentation transcript:

Introduction to Public Key Cryptography
Lecture 4 CPSC415 Biometrics and Cryptography

CPSC415 Biometrics and Cryptography
Outline Public Key Encryption Public Key Cryptographic System Public Key vs. Symmetric Key Digital Signatures Digital Envelope CPSC415 Biometrics and Cryptography

Insufficiencies with Symmetric Encryption
Symmetric encryption is not enough to address two key issues key distribution – how to have secure communications in general without having to trust a KDC with your key? digital signatures – how to verify that a received message really comes from the claimed sender? CPSC415 Biometrics and Cryptography

Advent of Asymmetric Encryption
Probably most significant advance in the 3000 year history of cryptography Use two keys: a public key and a private key Asymmetric since parties are not equal Clever application of number theory concepts instead of merely substitution and permutation CPSC415 Biometrics and Cryptography

How Asymmetric Encryption Works
Asymmetric encryption uses two keys that are related to each other a public key, which may be known to anybody, is used to encrypt messages, and verify signatures a private key, known only to the owner, is used to decrypt messages encrypted by the matching public key, and create signatures the key used to encrypt messages or verify signatures cannot decrypt messages or create signatures CPSC415 Biometrics and Cryptography

CPSC415 Biometrics and Cryptography
Public key Encryption Alice has a key pair: public and private publish the public key such that the key is publicly known Alice keeps the private key secret Other people use Alice’s public key to encrypt messages for Alice Alice uses her private key to decrypt Only Alice can decrypt since only Alice has the private key Public key Message Encrypt rfwekfs Private key Message Decrypt rfwekfs Trick: To compute the private key from the public key is a difficult problem. CPSC415 Biometrics and Cryptography

Asymmetric Encryption for Confidentiality
Bob Alice CPSC415 Biometrics and Cryptography

Asymmetric Encryption for Authentication
Bob Alice CPSC415 Biometrics and Cryptography

Applications for Asymmetric Encryption
Three categories Encryption/decryption: sender encrypts a message with receiver’s public key Digital signature: sender “signs” a message with its private key Key exchange: two sides exchange a session key CPSC415 Biometrics and Cryptography

Security of Asymmetric Encryption
Like symmetric schemes brute-force exhaustive search attack is always theoretically possible, but keys used are too large (>512bits) Not more secure than symmetric encryption, dependent on size of key Security relies on a large enough difference in difficulty between easy (en/decrypt) and hard (cryptanalyse) problems Generally the hard problem is known, just made too hard to do in practice Require using very large numbers, so is slow compared to symmetric schemes CPSC415 Biometrics and Cryptography

Public key Cryptographic System
cryptanalysis M private key Eve M M C encryption decryption Alice Alice’s public key private key Public key directory C = EPK(M) M = DSK(C) = DSK(EPK(M)) Public keys are published. Each private key is known to the receiver only. Difficult for Eve to find out SK from PK. CPSC415 Biometrics and Cryptography

Public key vs. Symmetric key
Two parties MUST trust each other Two parties DO NOT need to trust each other Both share same key Two separate keys: a public and a private key (or one key is computable from the other) Typically faster Typically slower Examples: DES, IDEA, RC5, CAST, AES, … Examples: RSA, ElGamal Encryption, ECC… CPSC415 Biometrics and Cryptography

CPSC415 Biometrics and Cryptography
Digital signatures Is there a functional equivalent to a handwritten signature? Easy for legitimate user to sign But hard for anyone else to forge Easy for anyone to verify Dependent on message & signer (key) Public key! Sign: “invert” function using private key Verify: compute function using public key CPSC415 Biometrics and Cryptography

CPSC415 Biometrics and Cryptography
Digital signatures Private key Sign Message rfwekfs (fixed-length signature) Public key Message Verify Valid/Invalid rfwekfs Only the signer (who has a private key) can generate a valid signature Everyone (since the corresponding public key is published) can verify if a signature with respect to a message is valid CPSC415 Biometrics and Cryptography

Digital Envelopes -- Symmetric + Asymmetric
Generate a secret key (session key) at random. Encrypt the message using the session key and symmetric algorithm. Encrypt the session key with the recipient’s public key. This becomes the “digital envelope”. Send the encrypted message and the digital envelope to the recipient. Figure … CPSC415 Biometrics and Cryptography

CPSC415 Biometrics and Cryptography
Digital Envelopes Session Key Session Key Cipher Plain Cipher Plain Digital Envelope Digital Envelope Session Key Recipient’s Public key Session Key CPSC415 Biometrics and Cryptography

CPSC415 Biometrics and Cryptography
RSA CPSC415 Biometrics and Cryptography

CPSC415 Biometrics and Cryptography
Motivation Revision One problem with symmetric key algorithms is that the sender needs a secure method of telling the receiver the key. Plus, you need a separate key for everyone you might communicate with. Public key algorithms use a public-key and private-key pair to tackle key management problem. Each receiver has a public key pair. The public key is publicly known (published). A sender uses the receiver’s public key to encrypt a message. Only the receiver can decrypt it with the corresponding private key. CPSC415 Biometrics and Cryptography

CPSC415 Biometrics and Cryptography
RSA Invented by Rivest, Shamir & Adleman of MIT in 1977 Best known and widely used public-key scheme Based on exponentiation in a finite (Galois) field over integers modulo a prime exponentiation takes O((log n)3) operations (easy) Use large integers (e.g bits) Security due to cost of factoring large numbers factorization takes O(e log n log log n) operations (hard) CPSC415 Biometrics and Cryptography

CPSC415 Biometrics and Cryptography
RSA Key Setup Each user generates a public/private key pair by select two large primes at random: p, q compute their system modulus n=p·q note ø(n)=(p-1)(q-1) select at random the encryption key e where 1<e<ø(n), gcd(e,ø(n))=1 solve following equation to find decryption key d e·d=1 mod ø(n) and 0≤d≤n publish their public encryption key: KU= {e,n} keep secret private decryption key: KR= {d,n} CPSC415 Biometrics and Cryptography

CPSC415 Biometrics and Cryptography
RSA Usage To encrypt a message M: sender obtains public key of receiver KU={e,n} computes: C=Me mod n, where 0≤M<n To decrypt the ciphertext C: receiver uses its private key KR={d,n} computes: M=Cd mod n Message M must be smaller than the modulus n (cut into blocks if needed) CPSC415 Biometrics and Cryptography

RSA Example: Computing Keys
Select primes: p=17, q=11 Compute n=pq=17×11=187 Compute ø(n)=(p–1)(q-1)=16×10=160 Select e: gcd(e,160)=1 and e<160 choose e=7 Determine d: de=1 mod 160 and d<160 d=23 since 23×7=161=10×160+1 Publish public key KU={7,187} Keep secret private key KR={23,187} CPSC415 Biometrics and Cryptography

RSA Example: Encryption and Decryption
Given message M = 88 (88<187) Encryption KU={7,187} : C = 887 mod 187 = 11 Decryption KR={23,187} : M = 1123 mod 187 = 88 CPSC415 Biometrics and Cryptography

Download ppt "Introduction to Public Key Cryptography"

Similar presentations