40.5. Assignments Security - DS.1

Submission
You must submit assignments using git
Create Repo
  • Create an empty repo on bitbucket.org, gitlab.com, or github.com,
  • git push your local repo to the above remote repo.
  • For node assignments the line node_modules/must be in your .gitignore file.
Submit
By email to with:
  • The word 'submission <subjectname>' in the subject line
  • The url(s) of your repo(s) in the body

40.5.1. Assignment Security DS.1.0

Create an HTML5 page containing a textarea for entering cleartext to be encrypted with Caesar's Cipher. Make an Encrypt button that activates the JavaScript to do the actual encryption.

The resulting ciphertext must be displayed in another textarea beneath the first textarea. Below that create a Decrypt button that will decrypt the ciphertext from the second textarea.

The encryption and decryption functions must be written as frontend JavaScript modules.

40.5.2. Assignment Security DS.1.1

Create an HTML5 page containing a textarea for entering cleartext to be encrypted with Vigenère's Cipher. Make an Encrypt button that activates the JavaScript to do the actual encryption.

The resulting ciphertext must be displayed in another textarea beneath the first textarea. Below that create a Decrypt button that will decrypt the ciphertext from the second textarea.

The encryption and decryption functions must be written as frontend JavaScript modules.

40.5.3. Assignment Security DS.1.2 - One Time Pads

Do

  • Create a program that is capable of creating a number of one time pads as text files. I would be useful if the length of each file and the number of files are parameters for the program. The content of the pads must, of course, be a totally random sequence of bytes.
  • When the above is done and tested, create 5 one time pads of length 200 bytes.
  • Modelled on Example 40.3 create a program reads both the plaintext, and the key from files, and then produces an output file containing the ciphertext of the encrypted plaintext.
  • When that is done and tested. Encrypt a text, less than 200 bytes, with the first of the five one time pads. Hand in the 5 pads, and the file with the cryptotext. Our feedback will be encrypted with the second pad.