Assignment Overview
This assignment is designed to formalise workshop tasks into a portfolio of cryptographic algorithms. It focuses on Modules 6–8, including RSA, hash functions, digital signatures, and message authentication codes. Students must build, document, and critique ciphers while demonstrating a clear understanding of cryptographic strengths and weaknesses.
Submission Instructions
- Submit a 5–10 minute video demonstrating and explaining the algorithms you’ve created, including code execution.
- Submit a written document addressing unanswered questions, max ~1000 words.
- Submit your code for RSA, hash function, and digital signature/MAC.
Task 4: RSA Key Generation and Key Exchange
- Create RSA key pair with p and q > 100 and < 10000>
- Encrypt/decrypt symmetric key K using RSA.
- Explain key pair generation, encryption/decryption, and comment on security.
Task 5: Custom Hash Function Design
- Create a custom hash function to produce at least 20-bit output.
- Explain its design and evaluate cryptographic security.
- Demonstrate using sample inputs and outputs.
Task 6: Digital Signature or MAC Implementation
- Choose and implement either a digital signature or message authentication code.
- Explain the algorithm, key generation, calculation steps, purpose, and justification.
- Show signature/MAC generation and verification in video and code.
Task 7: Cryptosystem Reflection
- Summarise the cryptosystem developed across Parts 1 and 2.
- Reflect on how symmetric and asymmetric methods are used together.
- Discuss weaknesses, potential attack points, and personal learning experiences.
Academic Integrity & Referencing
All work must be original. Properly reference any material or code not created by you. Plagiarism or collusion may lead to disciplinary actions. Use the ECU referencing guide for correct citation formats.