### Unit 3: Public-Key Encryption

In this unit, we explore basic cryptography concepts and look into the details of asymmetric key encryption techniques based on the concepts of a public-key. You will be able to compare and contrast public-key algorithms and symmetric algorithms discussed in Unit 2. In particular, we will discuss the public-key algorithms by Rivest, Shamir, and Adelman (RSA) and another algorithm by Diffie and Hellman.

**Completing this unit should take you approximately 12 hours.**

### 3.1: Introduction to Public-Key Cryptography

Watch this video about the origins of cryptographic concepts. Whitfield Diffie, a key figure in the discovery of public-key cryptography, traces the growth of information security through the 20th century and into the 21st. In the 1970s, the world of information security was transformed by public-key cryptography, the radical revision of cryptographic thinking that allowed people with no prior contact to communicate securely. Public-key solved security problems born of the revolution in information technology that characterized the 20th century and made Internet commerce possible. Security problems rarely stay solved, however. Continuing growth in computing, networking, and wireless applications have given rise to new security problems that are already confronting us.

### 3.2: Public-Key Encryption Algorithms

Watch these videos about cryptographic concepts related to public-key algorithms, such as the RSA algorithm and the Diffie-Hellman algorithm and how they are used in network security.

### 3.3: Public-Key Cryptography

Read section 3.2 about the key concepts behind public-key cryptography. After reading this section, explain the history of public-key cryptography, the factorization problem, and describe how RSA works.

### 3.4: RSA Public-Key Algorithm

Read section 5.3 about the steps in the RSA Public-Key Algorithm. After reading, you should be able to describe a simple example of generating public/private keys for RSA systems and describe the process of encrypting and decrypting a message.

### 3.5: Diffie-Hellman Algorithm

Read section 5.2 about the steps in the Diffie-Hellman Public-Key Algorithm.

### 3.6: Cryptography in Practice

Download this software, try to use different methods to encrypt messages, and then try to use the analysis tools to analyze the entropy such as floating frequency, histogram, N-Gram, autocorrelation, and periodicity, etc. Also try to use symmetric key ciphers such as DES and asymmetric ciphers such as RSA, DH, etc.