Download presentation

Presentation is loading. Please wait.

Published byLeonard Paxman Modified about 1 year ago

1
IS 302: Information Security and Trust Week 4: Asymmetric Encryption 2012

2
© Yingjiu Li Review Symmetric block ciphers –DES –3-DES –AES –ECB, CBC

3
© Yingjiu Li key distribution and key management

4
© Yingjiu Li Asymmetric Cryptosystem private key d public key e Encryption: C=E(e, P) Decryption: P=D(d, C) Encryption Algorithm E Decryption Algorithm D PlaintextCiphertextPlaintext PPC public private Alice Bob ed Computationally infeasible

5
© Yingjiu Li Asymmetric Encryption Encrypt Decrypt Plaintext Public key e Private key d

6
© Yingjiu Li RSA RSA cryptosystem –Rivest-Shamir-Adelman in 1978 –Turing award in 2002

7
© Yingjiu Li RSA Keys Public keys (n,e), private keys d –n: a composite. n=pq, where p and q are large primes –d: an integer, 2

8
© Yingjiu Li RSA Encryption/Decryption Encryption of P: C=P e mod n Decryption of C: P=C d mod n –PKCS: P =plaintext+ random padding < n –Why need random padding? Bob Aliceinsecure channel n,e d d: Bob’s private key n,e: Bob’s public key C=P e mod n

9
© Yingjiu Li How to Choose Keys in RSA Choose 2 large prime numbers p, q Compute n=pq and φ=(p-1)(q-1) Choose e relatively prime to φ Compute d from φ and e such that e*d mod φ =1 Public: n, e Private: p, q, φ, d A Toy Example: –Let p = 47, q = 71, then n = pq = 3337, φ= (p-1)(q-1) = 3220 –Let e =79, Note φ = 3220 = 2 2 5 7 23 –Solve d from d*79 mod 3220 =1, which gives d = 1019 ( using extended Euclidean algorithm) –Let P = 688, then C =P e mod n = 688^79 mod 3337 = 1570 –P = C d mod n = 1570^1019 mod 3337

10
© Yingjiu Li RSA Demo Cryptool indiv. Procedures RSA –Generate prime numbers –Factorization of a number Cryptool Encrypt/decrypt –RSA encryption (in blocks) –RSA decryption

11
© Yingjiu Li RSA Key Size and Security key size size of n –n: 1024 bits (309 digits); 2048 bits (618 digits); 4096 bits Security difficulty of –Factorizing n=p*q p, q, φ, d –A 512 bits (154 digits) n could be factored in several months

12
© Yingjiu Li RSA Key Size and Security p?id=2007http://www.rsasecurity.com/rsalabs/node.as p?id=2007 –By the year 2009, a machine that could break a 1024-bit RSA key in about a day would cost at least $250 million –For data that needs to be protected no later than the year 2015, the table indicates that the RSA key size should be at least 1024 bits. For data that needs to be protected longer, the key size should be at least 2048 bits.

13
© Yingjiu Li Asymmetric vs Symmetric Asymmetric –Key exchange over public channel –Scalable for multi-party communication –Long keys (e.g., 1024 bits) –Slow implementation RSA software can encrypt 7.4~21.6 Kb/sec Fastest RSA hardware can encrypt 1 Mb/sec Symmetric –Key exchange must be done over secure channel –Non-scalable for multi- party communication –Relative short keys (e.g., 128 bits) –Fast implementation In software, DES is generally 100 times faster than RSA In hardware, DES is between 1000 to 10,000 times faster

14
© Yingjiu Li Scenario RSA is too slow, not suitable for large P

15
© Yingjiu Li Question Can we have a fast (as AES) and scalable crypto-system without secure channel (as RSA)? –Envelop encryption: combine AES and RSA –Es: AES encryption –Ds: AES decryption –k: AES key –Ea: RSA encryption –Da: RSA decryption –(e,n): RSA public key; d: RSA private key

16
© Yingjiu Li Envelop Encryption (1) Alice selects a random session key (AES key) k, and gets C1=Es(k,P) (using AES) Bob Alice Mallory C1= Es(k,P)

17
© Yingjiu Li Envelop Encryption (2) Alice uses Bob’s public key e,n to encrypt k (using RSA), and gets C2=Ea(e,n,k) Bob Alice Mallory C2=Ea(e,n,k) C1= Es(k,P)

18
© Yingjiu Li Communication Alice sends C1 and C2 together to Bob Bob Alice Mallory C2=Ea(e,n,k) C1= Es(k,P)

19
© Yingjiu Li k=Da(d,C2) Envelop Decryption (1) Bob uses his private key d to decrypt C2 (using RSA) and gets k = Da(d,C2) Bob Alice Mallory C2=Ea(e,n,k) C1= Es(k,P)

20
© Yingjiu Li Envelop Decryption (2) Bob uses k to decrypt C1 (using AES) and gets P=Ds(k,C1) Bob Alice Mallory C2=Ea(e,n,k) C1= Es(k,P) k=Da(d,C2) P=Ds(k,C1)

21
© Yingjiu Li Demo Cryptool Encrypt/Decrypt Hybrid –RSA-AES encryption –RSA-AES decryption

22
© Yingjiu Li Hands-on Exercise Download Lab.doc Generate RSA key pairs of 1024 and 2048 bits –Instruction 2.1 RSA encryption and decryption for small file and large file –Instruction 2.2

23
© Yingjiu Li Review When we say the key length of RSA is 1024 bits, we mean 1)n 2) p,q 3) e,d Alice encrypts her message for Bob in RSA, which key should she use in encryption? 1)Alice’s private key 2)Alice’s public key 3)Bob’s public key Alice encrypts her message for Bob in envelop encryption, which of the following is true? 1)Alice uses her private key to encrypt a session key, and uses the session key to encrypt her message 2)Alice uses her public key to encrypt a session key, and uses the session key to encrypt her message 3)Alice uses Bob’s public key to encrypt a session key, and uses the session key to encrypt her message

24
© Yingjiu Li Assignment 1 Submit hardcopy today

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google