Speed comparison of cryptographic primitivesDue: April 12
The following three cryptographic primitive implementations are all considered secure by today's standards:
- One-time pad using XOR.
- SHA-256 hash function
- AES-192 symmetric encryption
- RSA asymmetric encryption with 2048-bit modulus
Estimate the time to do hash/encrypt a 1-megabyte file using each of (0), (1), (2), and (3). I'm more concerned about the relative time comparison as opposed to the absolute running time. It's up to you how to find these estimates in a reliable way, but a pretty reasonable approach would be to write a program to do each one, and compare the running times on your laptop.
Report the four running times, and write a sentence or two with any conclusions you might draw from the information.