- Entropy.
- Suppose a password is chosen as a concatenation of four lower-case
dictionary words, where each word is selected uniformly at random from a
dictionary of size 100,000. An example of such a password is
correcthorsebatterystaple
. How many bits of entropy does this have? - Consider an alternative scheme where a password is chosen as a sequence
of 8 random alphanumeric characters (including both lower-case and
upper-case letters). An example is
rg8Ql34g
. How many bits of entropy does this have? - Which is the stronger password?
- Suppose an attacker can try guessing 10,000 passwords per second. On average, how long will it take to break each of the passwords?
- Suppose a password is chosen as a concatenation of four lower-case
dictionary words, where each word is selected uniformly at random from a
dictionary of size 100,000. An example of such a password is
- Cryptographic hash functions. Download a Debian image from a
mirror (e.g. from this Argentinean
mirror.
Cross-check the hash (e.g. using the
sha256sum
command) with the hash retrieved from the official Debian site (e.g. this file hosted atdebian.org
, if you've downloaded the linked file from the Argentinean mirror). - Symmetric cryptography. Encrypt a file with AES encryption, using
OpenSSL:
openssl aes-256-cbc -salt -in {input filename} -out {output filename}
. Look at the contents usingcat
orhexdump
. Decrypt it withopenssl aes-256-cbc -d -in {input filename} -out {output filename}
and confirm that the contents match the original usingcmp
. - Asymmetric cryptography.
- Set up SSH keys on a computer you have access to (not Athena, because Kerberos interacts weirdly with SSH keys). Rather than using RSA keys as in the linked tutorial, use more secure ED25519 keys. Make sure your private key is encrypted with a passphrase, so it is protected at rest.
- Set up GPG
- Send Anish an encrypted email (public key).
- Sign a Git commit with
git commit -S
or create a signed Git tag withgit tag -s
. Verify the signature on the commit with `git show