Introduction to Computer and Network Security 2019 workshop material.
Exercises are provided as jupyter notebooks. Those who wish to try out the code in their browser without installing anything on their machine may do so. Those who wish to run code on their own machine will find it easier to copy-and-paste it from notebooks than pdf files.
There are several cryptography libraries, with varying degrees of user-friendliness and capabilities - see for instance this crypto API comparison. We shall use cryptography.io.
You can use the free service (see this introduction) to clone this github repo to your projects. You can also use this container, but it will likely be slower and has a limit on the number of simultaneous connections.
apt install python3-pip python3-setuptools python3-venv
python3 -m pip install --upgrade pip
setup a virtual env to install the package (recommended):
python3 -m venv ./env
source ./env/bin/activate
python3 -m pip install wheel
python3 -m pip install jupyter
To have the notebook recognize installed python packages, add the path to the packages to your PYTHONPATH os variable, e.g. add something like this to your ~/.profile
PYTHONPATH="${PYTHONPATH}:/usr/lib/python3/dist-packages/"
export PYTHONPATH
Then either force your current terminal to update with the new changes
source ~/.profile
or logout and back in.
./env/bin/jupyter notebook
I recommend jupyterthemes
./env/bin/jupyter jt -t chesterish