CSCD 434 Lab 6 - Cryptography Fun

Due: May 30th, 2019

## Instructions

This lab has two parts. The first part is for you to run an applet and explore public key
cryptography. You will be looking at the RSA Crypto algorithm. The second part will
be for you to use some Hashes and see the effects of them on your text. Both of these
ideas are discussed in your text.
** Part 1 - RSA Algorithm **

1. Read Ch. 5 in your text for a brief explanation.

Read the following links for more indepth coverage:

RSA Page: RSA Page

SageMath Tutorial: SageMatch Tutorial

ScienceBlog: Science Blog Page

2. After reading about RSA above, run the Applet at the RSA Page,
Applet on RSA

Follow the instructions for Project 5-2, Running an RSA Cipher Demonstration on page 218.

Then, answer the following questions.

3. Answer the following questions about RSA

a. What is the main use of RSA today?

b. Are there known vulnerabilities with RSA?

c. What makes RSA secure? Describe the type of math or anything else you know about the generation of the keys

** Part 2 - Exploring Hashes **

1. Read about hashes in your text, Chapter 5

Also, see the following links for more information:

Steve Friedl's Unixwiz.net Crytographic Hashes Hash Page

Golang Basic Golang Page for hashes Crypto Hashes

Cert Mike Pages Hash Page

2. Complete the project at the end of Chapter 5 in your text, Project 5-3 Installing Command Line Hashes, pg. 219

The link to the hashes can be found at Sourceforge.net, here: md5deep

Hit the Download button and save them on your computer. The hash files are .exe files in Windows or you can compile them in Linux or Mac.

a. Do all the steps and answer the questions, plus the questions below

b. Why do the hash functions produce the same size output no matter the input text?

c. Name three ways hashes are used.

d. What is the currently recommended hash or family of hash algorithems?

## Deliverables

Turn in answers to the questions via email