Prepare
First, download and install CrypTool.
- If using a Windows® PC, install CrypTool 1.
- If using a MAC PC, install JCrypTool.
Note: In order for the CrypTool program to function, you must first OPEN a text file. Only then will items on the toolbar become enabled.
Additional information for this assignment is covered in the Assignment 3 — CrypTool Lab document.
Part 1.1
- Identify the digital signature schemes and MAC schemes that are supported by CrypTool. For each scheme, determine the key sizes supported by CrypTool and which key sizes are recommended by NIST.
- Encrypt text using two digital signature schemes, measure the execution time for key generation (if applicable), signature generation, and signature verification. Measurements should be performed multiple times, and then the analysis should use the average time for comparisons. In order to obtain measurable results, you will likely need to use long messages (i.e., 5 MB or larger).
- Record results and draw conclusions. Identify the encryption algorithm used. Discuss the results of the measurements and any variations or trends observed when comparing the results from the group members. Report the results and the analysis. Be sure to include details on the measured results and details on each member’s computer (i.e., processor type, speed, cache size, RAM size, OS, etc.).
Part 1.2
- Using CrypTool, generate an MD5 hash for a small plaintext document.
- Record the hash result (cut and paste).
- Change one character in the plaintext and regenerate a hash on the changed text.
- Record the hash (cut and paste into your report).
- Do you think you could find a hash collision (that is, can you find two different texts that produce the same hash)? Experiment a few times and draw a conclusion about whether this can be done easily.
Part 1.3
- Generate a large prime (at least 20 digits long) and a short prime (less than 10 digits in length) (HINT: Individual Procedures \ RSA Cryptosystem \ Generate prime numbers).
- Determine which factorization algorithms are implemented within CrypTool (Indiv. Procedures -> RSA Demonstration -> Factorization of a Number).
- Identify the characteristic features of these algorithms by reading the “Factorization algorithms” help within the tutorials section of CrypTool’s built-in help.
- Try to factor the primes using some of these methods.
- Report your results, identifying the methods you used. Be sure to include how long the factorization took (or how long it was estimated to take if it was not completed in a reasonable time).
- Now, just enter numeric values to be factored (again, one long number and one short one).
- What are the results? Were factors found? Are you good at guessing prime numbers?