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:
- 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!
- Python Crash-course: A full Python tutorial covered within 2 hrs. by Derek Banas
- Java Crash-course: A full Java tutorial covered within 30 mins. by Derek Banas
- Security in Computing (book)
- DES Supplementary Material from Wikipedia.
- The Cryptography: A collection of cryptographic algorithms implemented in different languages.
- CTF Resources: Platform with many basic level CTF challenges along with the solutions related to crypto and others.
- CyberChef: A tool for performing several "cyber" operations within a web browser.
- RSA Briefed: A blog on RSA algorithm.
- 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
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:
- Deterministic Random Number Generator (DRG.4 according to AIS 31)
- True Random Number Generator (PTG.2 according to AIS 31)
- KMIP protocol
- PKCS#11
- MS CNG and MS CAPI
- Java Cryptography Extension (JCE)
- Microsoft Crypto API (CSP)
- Cryptography Next Generation (CNG)
- SQL Extensible Key Management (SQLEKM)
- Public Key Infrastructure (PKI)
For introductory programs, you can visit the extensions page.