Modern Cryptography

Practicals for M.Sc. CS students | (M3022201)

Banner Image
Practicals for M.Sc. CS students | (M3022201)

All lab and assignment works depend on one or multiple previous weeks’ tasks. Hence, before implementing any new problem (from a later week), it is advised to have the earlier weeks’ Python scripts (.py) ready prior. To meet this requirement, you may use any one of the following methods:

  1. Importing modernCrypto library: The latest version of this custom library consists of all of the necessary code, which can be downloaded from the link at the top of this page as a .zip archive. Ensure you place the unarchived library in the root of your working directory.

Resources

Here are some resources that could be referred to understand and solve practicals efficiently.

Expand the List!
  1. Python Crash-course: A full Python tutorial covered within 2 hrs. by Derek Banas
  2. Java Crash-course: A full Java tutorial covered within 30 mins. by Derek Banas
  3. Security in Computing (book)
  4. DES Supplementary Material from Wikipedia.
  5. The Cryptography: A collection of cryptographic algorithms implemented in different languages.
  6. CTF Resources: Platform with many basic level CTF challenges along with the solutions related to crypto and others.
  7. CyberChef: A tool for performing several "cyber" operations within a web browser.
  8. RSA Briefed: A blog on RSA algorithm.
  9. Ciphey: A tool for automating the decryption of ciphertext.



Lab Works

  Lab Links  
🧮 Lab 14 Lab 13
Lab 12 Lab 11 Lab 10
Lab 9 Lab 8 Lab 7
Lab 6 Lab 5 Lab 4
Lab 3 Lab 2 Lab 1

Assignment Works

  Assignment Links  
🖥️ Assignment 14 Assignment 13
Assignment 12 Assignment 11 Assignment 10
Assignment 9 Assignment 8 Assignment 7
Assignment 6 Assignment 5 Assignment 4
Assignment 3 Assignment 2 Assignment 1

Beyond Python Programming

This course primarily focuses on the practical implementation of various cryptographic algorithms using Python. However, it is not limited to any specific programming language. There are numerous pre-built APIs, extensions, frameworks, and libraries available that can be utilized to achieve data encryption, decryption, validation, and other security objectives.

These may include:

For introductory programs, you can visit the extensions page.

Out of The Box

  1. Padding Oracle Attack (POA)
  2. Classical Encryption Challenge
  3. DES File Decryption
  4. RSA Message Decryption