This repository holds lab exercises for Information Security, mostly written in Python.
This project is a collection of lab exercises to implement security concepts like cryptography, network tools and other basics.
-
Ex1 - Classical Ciphers
Implements classical algorithms like Caesar, Vigenère, Playfair, and Hill cipher. -
Ex2 - RSA (Asymmetric Crypto)
Educational implementation of RSA for key generation, encryption, and decryption. -
Ex3 - Hashing & Symmetric Crypto
Demonstrates SHA-256 hashing and symmetric encryption using AES and DES. -
Ex4 - Elliptic Curve Cryptography (ECC)
ECC encryption and ECIES-like examples usingeciesandtinyec. -
Ex5 - Primality Testing
Trial division and Miller–Rabin algorithms for primality checks. -
Ex6 - Diffie–Hellman Key Exchange
Simulates DH key exchange to compute public keys and shared secrets. -
Ex7 - Digital Signatures
RSA-based signing and verification using thecryptographylibrary. -
Ex8 – Configure S/MIME
Configure S/MIME for E-Mail Communication. -
Ex9 – Password Guessing and Cracking
Attempts passwords systematically or recovers them from hashes/encrypted data. -
Ex10 – Authentication, Authorization & Access Control
Implements authentication, authorization, and role‑based access control mechanisms in applications.
- Python 3.x
-
Clone the project:
git clone https://github.com/GodOfZap/IS.git
-
Move into the folder:
cd IS -
Install dependencies:
pip install -r requirements.txt
-
Run a script:
Go to the specific lab folder and run the file using the appropriate Python command (it may be
pythonorpython3):python script_name.py # OR python3 script_name.py(If a script needs extra packages, look for a
requirements.txtfile in that folder and install them first:pip install -r requirements.txt.)
New contributions are welcomed. Fix a bug, add a new lab or improve the docs. Just fork the repo and submit a Pull Request.
Please see the CONTRIBUTING.md file for guidelines on setting up your development environment, submitting pull requests.
This project is under the GPL 3.0 License. See the LICENSE file for details.