This is the archived website of SI 486H from the Spring 2016 semester. Feel free to browse around; you may also find more recent offerings at my teaching page.

Problem 80

Speed comparison of cryptographic primitives

Due: April 12
Points: 2

The following three cryptographic primitive implementations are all considered secure by today's standards:

  1. One-time pad using XOR.
  2. SHA-256 hash function
  3. AES-192 symmetric encryption
  4. 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.