Multi-Layer Dynamic Shift Cipher · London Metropolitan University · Network and Cloud Security
Key is hashed via SHA-256 before use — any string is valid.
The secret key is hashed using SHA-256 to produce 32 bytes. The digest is then iteratively re-hashed to generate as many key bytes as needed. This ensures the key schedule is cryptographically unpredictable and non-repeating for reasonable message lengths.
K₀ = SHA256(key) Kₙ = SHA256(Kₙ₋₁)
Inspired by the Vigenère cipher, each byte is shifted by a value derived from the key schedule. The shift amount varies per character position, defeating frequency analysis.
shiftᵢ = Kᵢ mod 26 b¹ᵢ = (bᵢ + shiftᵢ) mod 256
Each byte is additionally shifted by a value derived from its position in the message. Even-indexed bytes are shifted right; odd-indexed bytes are shifted left. This introduces positional diffusion.
posᵢ = i mod 16 b²ᵢ = (b¹ᵢ + posᵢ) mod 256 [if even] b²ᵢ = (b¹ᵢ − posᵢ) mod 256 [if odd]
The output of Layer 2 is XOR'd with the full key byte. XOR is self-inverse, making decryption straightforward. This layer provides strong confusion — masking the relationship between key and ciphertext.
b³ᵢ = b²ᵢ ⊕ Kᵢ
| Cipher | Type | Key Length | Frequency Safe? | Position-aware? | Complexity |
|---|---|---|---|---|---|
| Caesar | Classical mono | 1 char | ✗ No | ✗ No | Very Low |
| Vigenère | Classical poly | Any | Partial | ✗ No | Low |
| AES-128 | Modern block | 128 bit | ✓ Yes | ✓ Yes | Very High |
| RSA | Asymmetric | 2048+ bit | ✓ Yes | ✓ Yes | Very High |
| MLDSC | Hybrid sym. | Any (SHA-256) | ✓ Yes | ✓ Yes | Medium |
✅ Strengths
⚠️ Weaknesses
| Member | Role | Responsibilities | Tools Used |
|---|---|---|---|
| Dumitru Tanasie | Lead Developer & Cipher Architect | Designed MLDSC cipher; implemented all Python code; integrated key schedule; testing | Python 3 GitHub SHA-256 |
| Muzhgan | Research Lead | Literature review; analysis of Caesar, Vigenère, AES, RSA; inspired cipher layers | Google Scholar IEEE Xplore |
| Ryan | Security Analyst | Strength/weakness evaluation; attack analysis; CIA triad application | Journals NIST docs |
| Demi | Documentation Lead | Report structure, academic writing, Harvard referencing, formatting | MS Word Grammarly |
| Gemechu | Implementation Support | Assisted coding; debugging; testing edge cases; Python environment setup | Python 3 VS Code |
| Halima | Diagram & Design Lead | Flowcharts; encryption/decryption diagrams; visual aids; presentation slides | Draw.io PowerPoint |
| Shivas Abdulah | Testing Lead | Black-box test cases; validation; test table documentation; edge-case testing | Python unittest |
| Sabeeh | Evaluation Specialist | Performance testing; real-world application suitability; comparison analysis | Excel Python |
| Mariam | Academic Skills & Reflection | Reflection section; research methodology; library resources; attendance tracking | LMU Library RefWorks |