In this assignment, we put ourselves in the shoes of cryptographic engineers. The goal is to gain experience with the uses of cryptography in practise. We’ll use standard tools, and finish securing PayBud by adding SSL/TLS, hashing, and secure password storage.
Description
Here.
Notes
-
gpgtasks-
decrypt
symmetric.txt.gpg. It is encrypted with a symmetric key, defined by the passphrase "takethis" (w/o quotations). -
create a text file link:assignments/mysymmetric.txt
. Include your name in it (you are welcome to include other things in the file, as long as it’s legal and not huge). Encryptmysymmetric.txtwith passphrase "takethis`` ". -
create a public/private key pair, with your name & e-mail. Import Bob’s public key. Copy
mysymmetric.txttomypublic.txt. Encryptmypublic.txtto Bob’s public key, and sign with your private key. Save the resulting file asmypublic.txt.gpg. (here’s Bob’s private key, in case you want to sanity-check; it’s password is "happytrees")
-
-
server code (
paybud.p12in case you get stuck creating it)-
to import the changes into your version of PayBud from A3: The new code is at the start of imports, at the start of
main, and the cookie creation/validation code. Furthermore, the static files changed.
-
-
paybud.db, now with salt.
-
offline dictionary attack
-
if you want to dictionary attack PayBud, modify the following command accordingly. (delete
~/.john/john.potto re-crack the hashes). here’susers.txt.$ john --wordlist=/usr/share/john/password.lst users.txt
-