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