Running the assignment
This assignment is primarily intended to be run using Google Colaboratory. If you’re already familiar with Colab, you can go ahead and click the “open in Colab” badge at the top of the assignment and start following the instructions there. Alternatively, you can download the notebook locally and run it using Jupyter Notebook.
If this is your first time using Colaboratory or Jupyter, I suggest checking out their tutorial so that you can get used to writing code in the Colab environment.
After you’ve started the notebook, make sure to create a copy of it. This will ensure that any changes that you make to the notebook are saved.
When your assignment is complete, you may upload it to UVA Collab as either a
.ipynb file, or you may simply share the notebook and give us the sharing link
(make sure that we have permission to see your notebook).
There are seven functions that you need to implement in total for this assignment:
Each of these functions is worth 1.5 points (with the except of
generate_hmac_key, which is worth 0 points). To evaluate your assignment, we
will run your implementations of these functions against the test cases in the
notebook to ensure the validity of your code.