🔐 Project Overview
This repository contains the implementation, testing, and performance evaluation of three fundamental cryptographic algorithms — AES (Advanced Encryption Standard), RSA (Rivest–Shamir–Adleman), and SHA-256 (Secure Hash Algorithm). It was developed as part of the IE3082 – Cryptography module for the B.Sc. (Hons) in Information Technology (Cyber Security) degree program at the Sri Lanka Institute of Information Technology (SLIIT).
The project aligns with ISO/IEC 27001:2022 Annex A.10 – Cryptographic Controls, focusing on maintaining confidentiality, integrity, and authenticity in information systems.
⚙️ Key Features
✅ AES encryption/decryption with HMAC-SHA256 authentication
✅ RSA public/private key generation and encryption
✅ SHA-256 and HMAC-SHA-256 hashing with tamper detection
✅ Performance analysis across variable key sizes and input sizes
✅ Visual graphs comparing execution times for AES, RSA, and SHA-256
✅ Python-based, easy to modify and extend for security education or research
🧠 Technologies Used
Language: Python 3.10
Libraries: PyCryptodome, hashlib, hmac, matplotlib
Environment: Windows 10 / Jupyter Notebook