<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.cas.mcmaster.ca/skins/common/feed.css?207"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.cas.mcmaster.ca/index.php?feed=atom&amp;target=Zhaoy36&amp;title=Special%3AContributions</id>
		<title>Computing and Software Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.cas.mcmaster.ca/index.php?feed=atom&amp;target=Zhaoy36&amp;title=Special%3AContributions"/>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Special:Contributions/Zhaoy36"/>
		<updated>2026-05-28T02:02:35Z</updated>
		<subtitle>From Computing and Software Wiki</subtitle>
		<generator>MediaWiki 1.15.1</generator>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:34:34Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* How does Public Key Encryption work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|A message encrypted with a public key can only be decrypted by the corresponding private key]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
[[Image:digital_signature.jpg|thumb|300px|right|The sender encrypts a message with his own private key. The receiver decrypts the message using the sender’s public key]]&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
[[Image:math_theory.gif|thumb|300px|right|The security of RSA is based on the difficulty of integer factorization]]&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:29:06Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Digital signature to ensure authenticity */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
[[Image:digital_signature.jpg|thumb|300px|right|The sender encrypts a message with his own private key. The receiver decrypts the message using the sender’s public key]]&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
[[Image:math_theory.gif|thumb|300px|right|The security of RSA is based on the difficulty of integer factorization]]&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:27:53Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Digital signature to ensure authenticity */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
[[Image:digital_signature.jpg|thumb|300px|right|The sender encrypts a message with his own private key which will be decrypted by the sender’s public key]]&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
[[Image:math_theory.gif|thumb|300px|right|The security of RSA is based on the difficulty of integer factorization]]&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:27:02Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Digital signature to ensure authenticity */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
[[Image:digital_signature.jpg|thumb|300px|right|The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it]]&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
[[Image:math_theory.gif|thumb|300px|right|The security of RSA is based on the difficulty of integer factorization]]&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:12:21Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Digital signature to ensure authenticity */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
[[Image:digital_signature.jpg|thumb|300px|right|The security of RSA is based on the difficulty of integer factorization]]&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
[[Image:math_theory.gif|thumb|300px|right|The security of RSA is based on the difficulty of integer factorization]]&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:12:08Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Digital signature to ensure authenticity */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
[[Image:digital_signature.gif|thumb|300px|right|The security of RSA is based on the difficulty of integer factorization]]&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
[[Image:math_theory.gif|thumb|300px|right|The security of RSA is based on the difficulty of integer factorization]]&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/File:Digital_signature.jpg</id>
		<title>File:Digital signature.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/File:Digital_signature.jpg"/>
				<updated>2008-04-12T22:10:28Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:08:58Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Elliptic curve cryptography */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
[[Image:math_theory.gif|thumb|300px|right|The security of RSA is based on the difficulty of integer factorization]]&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:08:24Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* A Working Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
[[Image:math_theory.gif|thumb|300px|right|The security of RSA is based on the difficulty of integer factorization]]&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:07:43Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* A Working Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
[[Image:math_theory.gif|thumb|300px|right|Figure 1: Public Key Encryption]]&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:07:30Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Mathematical Theory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:05:01Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Mathematical Theory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
[[Image:math_theory.gif|thumb|300px|right|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:04:21Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Mathematical Theory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
[[Image:math_theory.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/File:Math_theory.gif</id>
		<title>File:Math theory.gif</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/File:Math_theory.gif"/>
				<updated>2008-04-12T22:03:28Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:02:06Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Public Key Encryption */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:01:41Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Public Key Encryption */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|right|Figure 1: Public Key Encryption]]&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T22:01:27Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Public Key Encryption */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T21:59:08Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* How does Public Key Encryption work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|center|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T21:57:51Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* How does Public Key Encryption work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
[[Image:pk_enc.gif|thumb|300px|right|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T21:55:34Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* How does Public Key Encryption work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
[[Image:pk enc.jpg|thumb|300px|right|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-12T21:55:07Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
[[Image:pk_enc.jpg|thumb|300px|right|Figure 1: Public Key Encryption]]&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption.&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/File:Pk_enc.gif</id>
		<title>File:Pk enc.gif</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/File:Pk_enc.gif"/>
				<updated>2008-04-12T21:51:11Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:49:10Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Public Key Encryption */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:43:50Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
* [http://www.seas.harvard.edu/directory/professionalbio/index.html?id=2542u Dr. Rabin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:37:19Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://www.certicom.com/index.php?action=ecc,res_home Certicom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:35:01Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:28:09Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Public Key Encryption */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:28:00Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:27:48Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:27:33Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:27:16Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Rabin cryptosystem */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:26:47Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Public Key Encryption */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:26:30Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Efficiency */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:25:57Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Rabin cryptosystem */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:25:49Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Rabin cryptosystem */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:24:40Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Public Key Encryption */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key&amp;lt;sup&amp;gt;[R2]&amp;lt;/sup&amp;gt;. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Rabin_cryptosystem R8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:23:52Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Rabin_cryptosystem R8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:23:30Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Rabin_cryptosystem R8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
[R10] Rabin, MO (January 1979). &amp;quot;Digital signatures and public-key functions as intractable as factorization&amp;quot;. {MIT Laboratory of Computer Science Technical Report.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:22:14Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* Rabin cryptosystem */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Rabin_cryptosystem R8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In 1979, Rabin invented the Rabin cryptosystem, the first asymmetric cryptosystem whose security was proved equivalent to the intractability of integer factorization&amp;lt;sup&amp;gt;[R10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:12:59Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Rabin_cryptosystem R8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.rsa.com/ RSA company]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:10:13Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Rabin_cryptosystem R8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.zvulony.com/ Zvuloney &amp;amp; Co]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-05T21:09:35Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;/* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/246071 R9]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Rabin_cryptosystem R8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
[R9] Microsoft Help and Support. &amp;quot;Description of Symmetric and Asymmetric Encryption&amp;quot;. Retrieved on 2008-04-05. http://support.microsoft.com/kb/246071&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Blowfish]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Signatures]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Conventional Encryption Algorithms]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[Digital Identity]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.zvulony.com/ Zvuloney &amp;amp; Co]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wireless_community_network Wireless Community Networks]&lt;br /&gt;
&lt;br /&gt;
--[[User:Zhaoy36|Zhaoy36]] 17:09, 5 April 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-04T06:00:50Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers:&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;., if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Rabin_cryptosystem R8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-04T05:58:59Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers:&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;., if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Rabin_cryptosystem R8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-04T05:57:14Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers:&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Elliptic_curve_cryptography R7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Rabin_cryptosystem R8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
[R7] Wikipedia. &amp;quot;Elliptic curve cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&lt;br /&gt;
&lt;br /&gt;
[R8] Wikipedia. &amp;quot;Rabin cryptosystem&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Rabin_cryptosystem&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-04T05:51:11Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/RSA R5]&amp;lt;/sup&amp;gt;. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than DES and other symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example&amp;lt;sup&amp;gt;[http://www.di-mgt.com.au/rsa_alg.html R6]&amp;lt;/sup&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers:&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
[R5] Wikipedia. &amp;quot;RSA&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/RSA&lt;br /&gt;
&lt;br /&gt;
[R6] DI Management, &amp;quot;RSA Algorithm&amp;quot;, Retrieved on 2008-04-02. http://www.di-mgt.com.au/rsa_alg.html&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-04T05:43:29Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”&amp;lt;sup&amp;gt;[http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html R4]&amp;lt;/sup&amp;gt;. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than DES and other symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers:&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
[R4] Charlie Fletcher. &amp;quot;Public Key Encryption&amp;quot;.  Retrieved on 2008-04-02.&lt;br /&gt;
http://www.krellinst.org/UCES/archive/modules/charlie/pke/node4.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-04T05:37:34Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than DES and other symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers:&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-04T05:36:32Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key[R2]. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than DES and other symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers:&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-04T05:33:12Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than DES and other symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers:&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Applied Cryptography, 2nd Ed, Bruce Schneier. ISBN: 0-471-11709-9 Publisher: Wiley&lt;br /&gt;
&lt;br /&gt;
[R3] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	<entry>
		<id>http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms</id>
		<title>Public Key Encryption Algorithms</title>
		<link rel="alternate" type="text/html" href="http://wiki.cas.mcmaster.ca/index.php/Public_Key_Encryption_Algorithms"/>
				<updated>2008-04-04T05:27:28Z</updated>
		
		<summary type="html">&lt;p&gt;Zhaoy36:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Public Key Encryption''' is also known as asymmetric cryptography&amp;lt;sup&amp;gt;[http://www.en.wikipedia.org/wiki/Public-key_cryptography R1]&amp;lt;/sup&amp;gt;. It is widely used in protecting information transmission through unsecured communication channel. The famous public key encryption algorithms include RSA, ECC and Rabin Cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Key Encryption==&lt;br /&gt;
=== How does Public Key Encryption work? ===&lt;br /&gt;
&lt;br /&gt;
The user has a pair of keys - public key and private key. A message encrypted with a public key can only be decrypted by the corresponding private key. It is mathematically infeasible to derive private key from public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage over Symmetric Encryption===&lt;br /&gt;
&lt;br /&gt;
Symmetric cryptography uses one key for both encryption and decryption. When the key is distributes to the sender and receiver, key may be leaked in the way.&lt;br /&gt;
&lt;br /&gt;
Asymmetric encryption can protect information transmission through unsecured communication channel. Because it is mathematically infeasible to derive private key from public key, public key can be exposed to outside world. This prevents a third party from copying a key while it is in the way and further spying on the communication between sender and receiver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Digital signature to ensure authenticity===&lt;br /&gt;
&lt;br /&gt;
The sender encrypts a message with his own private key. If the receiver can decrypt the sender’s message using the sender’s public key, this provides assurance that it is the sender (not a pretender) sent it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
Many public key encryption algorithms are based on “Trap Door function”. Such type of function is easy to compute in one direction and difficult to calculate from the inverse direction. For example, f(x)=y is easy to compute y when x is given, but it is difficult to compute x when y is given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RSA ==&lt;br /&gt;
===What is RSA?===&lt;br /&gt;
&lt;br /&gt;
RSA is a Public Key algorithm. The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames. It can be used to perform both signing and encryption. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of RSA is based on the difficulty of integer factorization: Finding large primes and multiplying them together is easy. However, from the product to find the factors is hard. There is no known efficient general technique to solve this problem. However, due to recent progress in factoring integers, RSA public keys are recommended to be at least 1024 bits long to provide adequate security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
&lt;br /&gt;
RSA is much slower than DES and other symmetric cryptosystems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Working Example===&lt;br /&gt;
&lt;br /&gt;
1.	choose 2 prime numbers:&lt;br /&gt;
&lt;br /&gt;
P=11, Q=3&lt;br /&gt;
&lt;br /&gt;
2.	compute N=P*Q:&lt;br /&gt;
&lt;br /&gt;
N=11*3=33&lt;br /&gt;
&lt;br /&gt;
3.	compute L=(P-1)*(Q-1):&lt;br /&gt;
&lt;br /&gt;
L= (11-1)*(3-1) = 10*2=20&lt;br /&gt;
&lt;br /&gt;
4.	choose E&amp;gt;1 and coprime to L:&lt;br /&gt;
&lt;br /&gt;
Choose E=3&lt;br /&gt;
&lt;br /&gt;
5.	compute D such that E*D = 1 mod L:&lt;br /&gt;
&lt;br /&gt;
D = 7 such that D*E =7*3 = 21 = 1 mod 20&lt;br /&gt;
&lt;br /&gt;
6.	public key is (N, E), private key is (N, D):&lt;br /&gt;
&lt;br /&gt;
PK = (33, 3), SK= (33, 7)&lt;br /&gt;
&lt;br /&gt;
7.	Encrypt message using PK with C = M^E mod N: &lt;br /&gt;
&lt;br /&gt;
Assume a message M=7, cipher text C = M^E mod N = 7^3 mod 33 = 343 mod 33 =13&lt;br /&gt;
&lt;br /&gt;
8.	Decrypt cipher text using SK with M' = C^D mod N:&lt;br /&gt;
&lt;br /&gt;
Decrypted message M’ = C^D mod N = 13^7 mod 33 = 7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elliptic curve cryptography ==&lt;br /&gt;
===What is ECC?===&lt;br /&gt;
&lt;br /&gt;
Elliptic curve cryptography (ECC) is a public-key algorithm based on the algebraic structure of elliptic curves over finite fields.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mathematical Theory===&lt;br /&gt;
&lt;br /&gt;
The security of Elliptic curve cryptography is based on the difficulty of solving discrete logarithm problem. &lt;br /&gt;
&lt;br /&gt;
An elliptic curve has the following form:&lt;br /&gt;
&lt;br /&gt;
y^2=x^3+ax+b. &lt;br /&gt;
&lt;br /&gt;
The discrete logarithm problem on such elliptic curve groups is so difficult. Thus keys in elliptic curve cryptography can be chosen to be much shorter for a comparable level of security.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Efficiency===&lt;br /&gt;
&lt;br /&gt;
Elliptic curves cryptography is more efficient with respect to key size. &lt;br /&gt;
&lt;br /&gt;
Comparing with other public key algorithms, if the user wants 128-bit security, he needs a curve to create 256-bit key.&lt;br /&gt;
However, if the user chooses DSA, it would require 3072-bit public keys and 256-bit private keys. For RSA, it would require 3072-bit public and private keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rabin cryptosystem ==&lt;br /&gt;
&lt;br /&gt;
'''Rabin Cyptosystem''' is a public key algorithm, whose security is also based on the difficulty of solving the problem of integer factorization.&lt;br /&gt;
&lt;br /&gt;
For encryption, Rabin Cyptosystem is more efficient than RSA. For decryption, the efficiency of Rabin Cyptosystem is same as RSA.&lt;br /&gt;
&lt;br /&gt;
Rabin system is more secure than RSA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[R1] Wikipedia. &amp;quot;Public-key cryptography&amp;quot;, Wikipedia, 2008-04-02. Retrieved on 2008-04-02. http://en.wikipedia.org/wiki/Public-key_cryptography&lt;br /&gt;
&lt;br /&gt;
[R2] Anoop MS (2007). Public key Cryptography - Applications Algorithms and Mathematical Explanations&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;/div&gt;</summary>
		<author><name>Zhaoy36</name></author>	</entry>

	</feed>