Download presentation
Presentation is loading. Please wait.
Published bySandra Nash Modified over 9 years ago
1
CSCE 715: Network Systems Security Chin-Tser Huang huangct@cse.sc.edu University of South Carolina
2
9/13/20052 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?
3
9/13/20053 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
4
9/13/20054 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
5
9/13/20055 Asymmetric Encryption for Confidentiality
6
9/13/20056 Asymmetric Encryption for Authentication
7
9/13/20057 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
8
9/13/20058 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
9
9/13/20059 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. 1024 bits) Security due to cost of factoring large numbers factorization takes O(e log n log log n ) operations (hard)
10
9/13/200510 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}
11
9/13/200511 RSA Usage To encrypt a message M: sender obtains public key of receiver KU={e,n} computes: C=M e mod n, where 0≤M<n To decrypt the ciphertext C: receiver uses its private key KR={d,n} computes: M=C d mod n Message M must be smaller than the modulus n (cut into blocks if needed)
12
9/13/200512 Why RSA Works Euler's Theorem: a ø(n) mod n = 1 where gcd(a,n)=1 In RSA, we have n=p·q ø(n)=(p-1)(q-1) carefully chosen e and d to be inverses mod ø(n) hence e·d=1+k·ø(n) for some k Hence : C d = (M e ) d = M 1+k·ø(n) = M 1 ·(M ø(n) ) k = M 1 ·(1) k = M 1 = M mod n
13
9/13/200513 RSA Example: Computing Keys 1. Select primes: p=17, q=11 2. Compute n=pq=17×11=187 3. Compute ø(n)=(p–1)(q-1)=16×10=160 4. Select e: gcd(e,160)=1 and e<160 choose e=7 5. Determine d: de=1 mod 160 and d<160 d=23 since 23×7=161=10×160+1 6. Publish public key KU={7,187} 7. Keep secret private key KR={23,187}
14
9/13/200514 RSA Example: Encryption and Decryption Given message M = 88 ( 88<187 ) Encryption: C = 88 7 mod 187 = 11 Decryption: M = 11 23 mod 187 = 88
15
9/13/200515 Exponentiation Use a property of modular arithmetic [(a mod n) (b mod n)]mod n = (a b)mod n Use the Square and Multiply Algorithm to multiply the ones that are needed to compute the result Look at binary representation of exponent Only take O(log 2 n) multiples for number n e.g. 7 5 = 7 4 ·7 1 = 3·7 = 10 (mod 11) e.g. 3 129 = 3 128 ·3 1 = 5·3 = 4 (mod 11)
16
9/13/200516 RSA Key Generation Users of RSA must: determine two primes at random - p,q select either e or d and compute the other Primes p,q must not be easily derived from modulus n=p·q means p,q must be sufficiently large typically guess and use probabilistic test Exponents e, d are multiplicative inverses, so use Inverse algorithm to compute the other
17
9/13/200517 Security of RSA Three approaches to attacking RSA brute force key search (infeasible given size of numbers) mathematical attacks (based on difficulty of computing ø(n), by factoring modulus n) timing attacks (on running of decryption)
18
9/13/200518 Factoring Problem Mathematical approach takes 3 forms: factor n=p·q, hence find ø(n) and then d determine ø(n) directly and find d find d directly Currently believe all equivalent to factoring have seen slow improvements over the years as of Aug 99 best is 155 decimal digits (512 bits) with GNFS biggest improvement comes from improved algorithm cf “Quadratic Sieve” to “Generalized Number Field Sieve” to “Special Number Field Sieve” 1024+ bit RSA is secure barring dramatic breakthrough ensure p, q of similar size and matching other constraints
19
9/13/200519 Timing Attacks Developed in mid-1990’s Exploit timing variations in operations e.g. multiplying by small vs large number Infer operand size based on time taken RSA exploits time taken in exponentiation Countermeasures use constant exponentiation time add random delays blind values used in calculations
20
9/13/200520 Next Class Key management with asymmetric encryption Diffie-Hellman key exchange Read Chapter 10
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.