Cryptogrpahy

QR Code ISO/IEC18004 Generation In JavaUsing Barcode maker for Java Control to generate, create QR Code image in Java applications.

itself; this key is sometimes referred to as a session key, KS Alice must inform Bob of the session key, since this is the shared secret key they will use for DES Alice thus encrypts the session key value using Bob's public RSA key, ie, computes c = (KS)e mod n Bob receives the RSA-encrypted session key, c, and decrypts to obtain the session key, KS Bob now knows the session key that Alice will use for her DESencrypted data transfer

Make Bar Code In JavaUsing Barcode creator for Java Control to generate, create barcode image in Java applications.

Why does RSA work

Bar Code Decoder In JavaUsing Barcode scanner for Java Control to read, scan read, scan image in Java applications.

The RSA encryption/decryption above appears rather magical Why should it be that by applying the encryption algorithm and then the decryption algorithm, one recovers the original message In order to understand why RSA works, we'll need to perform arithmetic operations using so-called modulo-n arithmetic In modular arithmetic, one performs the usual operations of addition, multiplication and exponentiation However, the result of each operation is replaced by the integer remainder that is left when the result is divided by n We will take n = pq, where p and q are the large prime numbers used in the RSA algorithm Recall that under RSA encryption, a message (represented by an integer), m, is first exponentiated to the power e using modulo-n arithmetic to encrypt Decryption is performed by raising this value to the power d, again using modulo n arithmetic The result of an encryption step, followed by a decryption step is thus (me) d Let's now see what we can say about this quantity We have: (me)d mod n = med mod n Although we're trying to remove some of the "magic" about why RSA works, we'll need to use a rather magical result from number theory here Specifically, we'll need the result that says if p and q are prime, and n = pq, then xy mod is the same as x(y mod

Creating Denso QR Bar Code In C#.NETUsing Barcode generator for Visual Studio .NET Control to generate, create Denso QR Bar Code image in .NET applications.

n (p-1)(q-1))

Drawing QR In .NET FrameworkUsing Barcode drawer for ASP.NET Control to generate, create QR Code ISO/IEC18004 image in ASP.NET applications.

mod n [Kaufman 1995] Applying this result, we have

Printing Denso QR Bar Code In VS .NETUsing Barcode generator for .NET Control to generate, create QR Code image in .NET framework applications.

(p-1)(q-1))

Encoding QR Code In VB.NETUsing Barcode encoder for Visual Studio .NET Control to generate, create Quick Response Code image in VS .NET applications.

mod n (me)d mod n = m (ed mod But remember that we chose e and d such that ed -1 is exactly divisible (ie, with no remainder) by (p-1)(q1), or equivalently that ed is divisible by (p-1)(q-1) with a reminder of 1, and thus ed mod (p-1)(q-1) = 1 This gives us (me)d mod n = m 1mod n = m ie, that (me)d mod n = m This is the result we were hoping for! By first exponentiating to the power of e (ie, encrypting) and then exponentiating to the power of d (ie, decrypting), we obtain the original value, m Even more remarkable is the fact that if we first exponentiate to the power of d and then exponentiate to the power of e, ie, we reverse the order of encryption and decryption, performing the decryption operation first and then applying the encryption operation, we also obtain the original value, m! (The proof for this result follows the exact same reasoning as above) We will see shortly that this wonderful property of the RSA algorithm, (me)d mod n = m = (md)e mod n will be of great use The security of RSA relies on the fact that there are no known algorithms for quickly factoring a number, in this case the public value n, into the primes p and q If one knew p and q, then given the public value e, one

Data Matrix 2d Barcode Printer In JavaUsing Barcode drawer for Java Control to generate, create Data Matrix ECC200 image in Java applications.

file:///D|/Downloads/Livros/computa o/Computer%20Netwn%20Approach%20Featuring%20the%20Internet/cryptohtm (10 of 12)20/11/2004 15:53:02

Draw Bar Code In JavaUsing Barcode generator for Java Control to generate, create barcode image in Java applications.

Cryptogrpahy

Generate Bar Code In JavaUsing Barcode creation for Java Control to generate, create bar code image in Java applications.

could then easily compute the secret key, d On the other hand, it is not know whether or not there exist fast algorithms for factoring a number, and in this sense the security of RSA is not "guaranteed"

Code 128 Encoder In JavaUsing Barcode printer for Java Control to generate, create Code 128 Code Set A image in Java applications.

References

Universal Product Code Version A Creation In JavaUsing Barcode printer for Java Control to generate, create Universal Product Code version A image in Java applications.

[Blaze 1996] M Blaze, W Diffie, R Rivest, B Schneier, T Shimomura, E Thompson, and M Weiner, "Minimal Key Lengths for Symmetric Ciphers to Provide Adequate Commercial Security," http://www counterpanecom/keylengthhtml [Diffie 1998] W Diffie and S Landau, Privacy on the Line, The Politics of Wiretapping and Encryption, MIT Press, 1998 [EFF 1999] Electronic Frontier Foundation, "Cracking DES," http://wwwefforg/DEScracker/ [FIPS-46-1] US National Bureau of Standards, "Data Encryption Standard", Federal Information Processing Standard (FIPS) Publication 46-1, January 1988 [Kahn 1967] D Kahn, The Codebreakers, the Story of Secret Writing, The Macmillan Company, 1967 [Kaufman 1995] C Kaufman, R Perlman, M Speciner, Network Security, Private Communication in a Public World, Prentice Hall, 1995 [Kessler 1999] G Kessler, "An Overview of Cryptography," Hill Associates Inc, http://wwwhillcom/library/ cryptohtml [NIST 1993] National Institute of Standards and Technology, Federal Information Data Encryption Standard, Processing Standards Publication 46-2, 1993 [NIST 1999] National Institute of Standards and Technology, "Dat Encryption Standard Fact Sheet," http:// csrcnistgov/cryptval/des/destxt [NIST 1999b] National Institute of Standards and Technology, "Draft Federal Information Processing Standard (FIPS) 46-3, Data Encryption Standard (DES), and Request for Comments," http://csrcnistgov/ cryptval/des/fr990115htm [RFC 1321] R Rivest, "The MD5 Message-Digest Algorithm," RFC 1321, April 1992 [RFC 2437] B Kaliski, J Staddon, "PKCS #1: RSA Cryptography Specifications, Version 2," RFC 2437, October 1998 [RFC 2420] H Kummert, "The PPP Triple-DES Encryption Protocol (3DESE)," RFC 2420, Sept 1998 [RSA 1978] RL Rivest, A Shamir, and LM Adleman, "A method for obtaining digital signatures and public-key cryptosystems," Communications of the ACM, 21(2): 120-126, February 1978 [RSA 1997] RSA Data Security Inc, "DES RSA Challege Cracked: Government encryption standard DES takes a fall," http://wwwrsacom/des/ [RSA 1999] RSA Laboratories, "How large a key should be used in RSA " http://wwwrsacom/rsalabs/faq/ html/3-1-5html [RSA 1999b] RSA Laboratories, "How fast is RSA," http://wwwrsacom/rsalabs/faq/html/3-1-2html [RSA 1999c] RSA Laboratories, "RSA Labs FAQ," http://wwwrsacom/rsalabs/faq/indexhtml [Schneier 1995] B Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, John Wiley and Sons, 1995 [Singh 1999] S Singh, "The Code Book : The Evolution of Secrecy from Mary, Queen of Scots to Quantum Cryptography," Doubleday Press, 1999

Printing British Royal Mail 4-State Customer Barcode In JavaUsing Barcode creator for Java Control to generate, create Royal Mail Barcode image in Java applications.

file:///D|/Downloads/Livros/computa o/Computer%20Netwn%20Approach%20Featuring%20the%20Internet/cryptohtm (11 of 12)20/11/2004 15:53:02

Generate Bar Code In .NETUsing Barcode generator for ASP.NET Control to generate, create bar code image in ASP.NET applications.

Paint Barcode In C#Using Barcode creation for .NET framework Control to generate, create bar code image in .NET applications.

Scan Data Matrix 2d Barcode In .NETUsing Barcode recognizer for .NET Control to read, scan read, scan image in .NET framework applications.

Bar Code Creator In VB.NETUsing Barcode encoder for Visual Studio .NET Control to generate, create barcode image in .NET applications.