CS/COE 1501 Recitation RSA Encryption/Decryption

Slides:



Advertisements
Similar presentations
Public Key Cryptosystem
Advertisements

RSA COSC 201 ST. MARY’S COLLEGE OF MARYLAND FALL 2012 RSA.
Data Security 1 El_Gamal Cryptography. Data Security2 Introduction El_Gamal is a public-key cryptosystem technique El_Gamal is a public-key cryptosystem.
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (4) Information Security.
Asymmetric-Key Cryptography
22C:19 Discrete Math Integers and Modular Arithmetic Fall 2010 Sukumar Ghosh.
CNS2010handout 8 :: introduction to number theory1 computer and network security matt barrie.
ECOMMERCE TECHNOLOGY SUMMER 2002 COPYRIGHT © 2002 MICHAEL I. SHAMOS Cryptographic Security.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Codes, Ciphers, and Cryptography-RSA Encryption
Public Key Model 8. Cryptography part 2.
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
The RSA Algorithm Rocky K. C. Chang, March
RSA and its Mathematics Behind
Prelude to Public-Key Cryptography Rocky K. C. Chang, February
Public-Key Cryptography CS110 Fall Conventional Encryption.
Implementing RSA Encryption in Java
Modular Arithmetic with Applications to Cryptography Lecture 47 Section 10.4 Wed, Apr 13, 2005.
RSA Slides by Kent Seamons and Tim van der Horst Last Updated: Oct 1, 2013.
RSA and its Mathematics Behind July Topics  Modular Arithmetic  Greatest Common Divisor  Euler’s Identity  RSA algorithm  Security in RSA.
A A E E D D C C B B # Symmetric Keys = n*(n-1)/2 F F
Lecture 6.1: Misc. Topics: Number Theory CS 250, Discrete Structures, Fall 2011 Nitesh Saxena.
CS Modular Division and RSA1 RSA Public Key Encryption To do RSA we need fast Modular Exponentiation and Primality generation which we have shown.
CS/COE 1501 Recitation Extended Euclidean Algorithm + Digital Signatures.
Cryptographic Security Aveek Chakraborty CS5204 – Operating Systems1.
RSA Cryptosystem Great Theoretical Ideas In Computer Science S. Rudich V. Adamchik CS Spring 2006 Lecture 8Feb. 09, 2006Carnegie Mellon University.
CS/COE 1501 Recitation RSA Encryption/Decryption Extended Euclidean Algorithm Digital Signatures.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
CPIS 312 Chapter Four: PUBLIC KEY CRYPTO. Index 2 A.Introduction A.1 Asymmetric Key Cryptography- Introduction A.2 General ideas about the Public Key.
Lecture 5 Asymmetric Cryptography. Private-Key Cryptography Traditional private/secret/single key cryptography uses one key Shared by both sender and.
Revision. Cryptography depends on some properties of prime numbers. One of these is that it is rather easy to generate large prime numbers, but much harder.
Network security Cryptographic Principles
Overview Modern public-key cryptosystems: RSA
RSA cryptosystem with large key length
Public Key Cryptography
CS480 Cryptography and Information Security
Public Key Encryption.
Attacks on Public Key Encryption Algorithms
Chapter Applications of Number Theory Some Useful Results
Asymmetric-Key Cryptography
RSA Slides by Kent Seamons and Tim van der Horst
CS 2210:0001Discrete Structures Modular Arithmetic and Cryptography
Prelude to Public-Key Cryptography
PUBLIC-KEY ENCRYPTION Focusing on RSA
Number-Theoretic Algorithms (UNIT-4)
Chapter 7 Network Security
Chapter 9 Security 9.1 The security environment
Chapters 14,15 Security.
Basic Network Encryption
Topic 24: Finding Prime Numbers, RSA
Public Key Cryptosystems - RSA
Number Theory and Euclidean Algorithm
Public Key Cryptography Diffie-Hellman, Discrete Log, RSA
NET 311 Information Security
Cryptography: Basics (2)
Enabling Technology1: Cryptography
Intro to Cryptography Some slides have been taken from:
CSE 321 Discrete Structures
Digital Signatures…!.
NET 311 Information Security
Chapters 14,15 Security.
CSCI284 Spring 2009 GWU Sections 5.1, 5.2.2, 5.3
Basic Network Encryption
Oblivious Transfer.
LAB 3: Digital Signature
Presentation transcript:

CS/COE 1501 Recitation RSA Encryption/Decryption Extended Euclidean Algorithm Digital Signatures

RSA Encryption Say Alice wants to send a message to Bob Looks up Bob’s public key Convert the message into an integer: m Compute the ciphertext c as: c = me (mod n) Send c to Bob

RSA Decryption Bob can simply: Compute m as: m = cd (mod n) Convert m into Alice’s message

RSA Cryptosystem What are public/private keys? How messages encrypted? How are messages decrypted? How are keys generated? Why is it secure?

RSA Cryptosystem What are public/private keys? Public Key = (e, n) Private Key = (d, n) How messages encrypted? c = me (mod n) How are messages decrypted? m = cd (mod n) How are keys generated?

How are keys generated? 4. Choose e such that 1. Choose two prime number p and q 2. Compute n = p * q 3. Compute φ(n) φ(n) = φ(p) * φ(q) = (p - 1) * (q - 1) 4. Choose e such that 1 < e < φ(n), GCD(e, φ(n)) = 1 i.e., e and φ(n) are co-prime 5. Determine d as d ≡ e-1 mod(φ(n))

An Example 4. Choose e such that 1. Choose two prime number p and q p=3, q=11 2. Compute n = p * q n=3*11=33 3. Compute φ(n) φ(n) = φ(p) * φ(q) = (p - 1) * (q - 1) φ(n)=(3-1)*(11-1)=20 4. Choose e such that 1 < e < φ(n), GCD(e, φ(n)) = 1 i.e., e and φ(n) are co-prime We can choose e=3, verify that 1<3< φ(n) =20, 3 and 20 are co-prime

An Example 5. Determine d as d ≡ e-1 (mod φ(n)) e * d ≡ 1 (mod φ(n)) Intuition, search from d=0, until e * d mod 20 = 1 We have already chosen e=3, here we choose d=7 We now get our Public Key and Private Key Public Key=(e,n)=(3,33) Private Key=(d,n)=(7,33)

An Example Encryption: c = me (mod n) Decryption: m = cd (mod n) Public Key=(e,n)=(3,33) Private Key=(d,n)=(7,33) Alice said “hello” 7, 4, 11, 11, 14 Encrypt msg: 73 mod 33, 43 mod 33, 113 mod 33, 113 mod 33, 143 mod 33 Encrypted msg: 13, 31, 11, 11, 5

An Example Encryption: c = me (mod n) Decryption: m = cd (mod n) Public Key=(e,n)=(3,33) Private Key=(d,n)=(7,33) Bob receive 13, 31, 11, 11, 5 Decrypt msg: 137 mod 33, 317 mod 33, 117 mod 33, 117 mod 33, 57 mod 33 Decrypt msg: 7, 4, 11, 11, 14 -> ‘hello’

Challenges Compute Exponentiation efficiently 137 mod 33, 317 mod 33, 117 mod 33, 117 mod 33, 57 mod 33 Determine d as d ≡ e-1 (mod φ(n)) efficiently search from d=0, until e * d mod 20 = 1 Improve it?

Determine d d = e-1 mod(φ(n)) Means that d = 1/e mod(φ(n)) Means that e * d = 1 (mod φ(n)) Now, this can be equivalently stated as e * d = z * φ(n) + 1 For some z Can further restate this as: e * d - z * φ(n) = 1 Or similarly: 1 = φ(n) * (-z) + e * d How can we solve this? Hint: recall that we know GCD(φ(n), e) = 1

Determine d GCD(a, b) = i = as + bt Let: a = φ(n) b = e s = -z t = d i = 1 GCD(φ(n), e) = 1 = φ(n) * (-z) + e * d We can compute d in linear time!

Extended Euclidean Algorithm The extended Euclidean algorithm also computes the GCD of integers a and b, but also computes the Bézout numbers, s and t which satisfy the Bézout identity: gcd 𝑎,𝑏 =𝑎∗𝑠+𝑏∗𝑡 We first walk through finding the GCD of a and b, then work backworks to find the Bézout numbers, s and t , for the original s and t. We will fill out the following table, first following the pattern that the b in each step will become the a in the row below. The remainder of a/b becomes the b in the row below.

Extended Euclidean Algorithm We know GCD(a,b)=GCD(b, a%b) Suppose we are computing the GCD(a,b) a*x + b*y = gcd Suppose we already know the GCD(b, a %b), and we find x1 and y1 b*x1+(a%b)*y1=gcd Associate the two formular a%b=a-(a/b)*b gcd= b*x1+(a-(a/b)*b)*y1 = b*x1+a*y1-(a/b)*b*y1 = a*y1+b*(x1-a/b*y1) x=y1 y=x1-a/b*y1

Extended Euclidean Algorithm public static int[] ExtendedEuclid(int a, int b) { int[] ans = new int[3]; int q; if (b == 0) { /* If b = 0, then we're done... */ ans[0] = a; ans[1] = 1; ans[2] = 0; } else { /* Otherwise, make a recursive function call */ q = a/b; ans = ExtendedEuclid (b, a % b); int temp = ans[1] - ans[2]*q; ans[1] = ans[2]; ans[2] = temp; return ans;

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 2 3 4 5 6

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 2 3 4 5 6

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 4 5 6

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 4 5 6

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 4 5 6

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 4 5 6

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 4 5 6

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 4 5 6

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 4 5 6

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 6 4 5

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 6 4 5

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 6 4 5

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 6 4 5

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 6 4 5

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 6 4 5

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 6 4 5

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 6 4 5

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 6 4 5 NaN

Extended Euclidean Algorithm We will now walk back up through the table, computing s and t for each step. The s in each row is set to the t from the row below. t is set according to the formula: Remember s and t are defined such that: gcd 𝑎,𝑏 =𝑎∗𝑠+𝑏∗𝑡 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 6 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 6 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 2 3 15 6 4 5 NaN Because d is the GCD of the two numbers (i.e. the last non-zero remainder) and: gcd 𝑎,𝑏 =𝑎∗𝑠+𝑏∗𝑡 We know that s and t will always be 1 and 0 in the bottom row (because a will be equal to d). 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 4 5 NaN Verify: gcd 𝑎,𝑏 =𝑎∗𝑠+𝑏∗𝑡 3= 6∗0 + 3∗1 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 4 -2 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 4 -2 5 NaN Verify: gcd 𝑎,𝑏 =𝑎∗𝑠+𝑏∗𝑡 3= 15∗1 + 6∗−2 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 4 -2 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 -2 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 -2 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 -2 4 5 NaN Verify: gcd 𝑎,𝑏 =𝑎∗𝑠+𝑏∗𝑡 3= 21∗−2 + 15∗3 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 -2 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 6 -2 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 2 15 -11 6 -2 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 -11 2 15 6 -2 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 -11 14 2 15 6 -2 4 5 NaN 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 -11 14 2 15 6 -2 4 5 NaN To check your work, verify: 99∗ −11 +78∗14=3 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Find the Bézout numbers and GCD of 99 and 78 Row a b a/b a%b d s t 1 99 78 21 3 -11 14 2 15 6 -2 4 5 NaN To check your work, verify: 99∗ −11 +78∗14=3 𝑡= 𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠 − 𝑎 𝑏 ∗ 𝑡 𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠

Exercise 5. Determine d as d ≡ e-1 (mod φ(n)) e * d ≡ 1 (mod φ(n)) Intuition, search from d=0, until e * d mod 20 = 1 We have already chosen e=3, here we choose d=7 Now using the Extended Euclidean Algorithm 1 = 20*s+3*t t->d

Hash Functions

For Crypto Hash Functions, Output Should Appear Random

Digital Signatures – Public Key Cryptography

Creating a Digital Signature

Digital Signatures Often Use Commutative Operations The order of Decryption and Encryption can be changed Sending message m together with the decrypted data D(m, k^-1) Using the public key k to verify message

Digital Signatures Often Use Commutative Operations

Digital Signatures Often Use Commutative Operations Plaintext sent by sender

Digital Signatures Often Use Commutative Operations Plaintext sent by sender Cryptotext sent by sender using sender’s private key

Digital Signatures Often Use Commutative Operations Plaintext sent by sender Cryptotext sent by sender using sender’s private key Sender’s public key

Digital Signatures Often Use Commutative Operations Plaintext sent by sender = Cryptotext sent by sender using sender’s private key Sender’s public key

Digital Signatures Often Use Commutative Operations Plaintext sent by sender = Plaintext recovered matches Cryptotext sent by sender using sender’s private key Sender’s public key

Digital Signatures and Hashes Because Public-Key crypto can be computationally expensive, often the crypto operations are performed on the securely hashed version of the message rather than the original: We do not apply the algorithm on the plaintext, but on the hashed version

Digital Signatures and Hashes Because Public-Key crypto can be computationally expensive, often the crypto operations are performed on the securely hashed version of the message rather than the original: HASH ALGORITHM Received:

Digital Signatures and Hashes Because Public-Key crypto can be computationally expensive, often the crypto operations are performed on the securely hashed version of the message rather than the original: HASH ALGORITHM Received:

Digital Signatures and Hashes Because Public-Key crypto can be computationally expensive, often the crypto operations are performed on the securely hashed version of the message rather than the original: HASH ALGORITHM Compute Received:

Digital Signatures and Hashes Because Public-Key crypto can be computationally expensive, often the crypto operations are performed on the securely hashed version of the message rather than the original: HASH ALGORITHM Compute = Received:

Digital Signatures and Hashes Because Public-Key crypto can be computationally expensive, often the crypto operations are performed on the securely hashed version of the message rather than the original: Match. Signature Verified. HASH ALGORITHM Compute = Received:

Acknowledgements Adam J. Lee’s slides from CS 1653 http://www.csee.umbc.edu/~chang/cs203.s09/exteuclid.shtml