Case study
Encrypted Container Generator
An engineering-thesis project that packages encrypted files into self-contained HTML documents decryptable in a standard browser.
Inside the project
Context
The project explores a portable way to share encrypted files without requiring recipients to install dedicated software or subscribe to a SaaS product. Any device with a modern browser can open the generated HTML container and decrypt its contents with the correct password.
Role
I designed the format and built the generator as part of my engineering thesis on cryptography, covering browser-based encryption, password handling, tamper resistance, packaging, and optional cloud delivery.
Constraints
The generated document has to contain everything needed for decryption while never embedding the password or plaintext. It must work offline, use browser-native cryptography, and remain usable across devices despite operating as a single portable file.
Approach
The generator derives a key with PBKDF2 and encrypts data with AES-256-GCM through the Web Crypto API. It creates a self-contained document with a custom HTML element, password generation, repeated-attempt lockout that survives refreshes, and checks intended to detect live code manipulation. Optional features include JavaScript obfuscation, direct upload to Google Drive, and password-protected ZIP packaging.
Outcome
The result demonstrates a practical, installation-free encrypted container that can travel through ordinary file-sharing channels while keeping decryption local to the recipient's browser.
Lessons
Secure design benefits from relying on established primitives and making the trust boundary explicit. The project also highlighted the limits of client-side anti-tamper measures: they can raise the cost of casual inspection, but confidentiality must come from sound cryptography rather than obscurity.
