CipherFile
2024 — Utilities
Role
Frontend Development
Tech stack
React.js, CryptoJS, AES (Rijndael), Vite, Bootstrap
Design
Danu Pratama
Development
Danu Pratama
Repository
LINK
Contributions
(1)
Developed a web-based file encryption and decryption application using React.js and AES (Rijndael) with 128, 192, and 256-bit key support.
(2)
Implemented AES-CBC mode encryption with random IV generation and PKCS7 padding for secure file processing.
(3)
Integrated SHA256 checksum verification to detect file corruption or invalid decryption keys.
(4)
Supported multiple file formats including documents, images, audio, and video files.
(5)
Implemented PBKDF2 key derivation with random salt and 10,000 iterations to strengthen resistance against brute force attacks.
(6)
Added file size validation to prevent browser memory overflow and ensure stable client-side processing.


CONTEXT
AES (Advanced Encryption Standard), originally known as the Rijndael algorithm designed by Vincent Rijmen and Joan Daemen of Belgium, was adopted by NIST in 2001 as the new cryptographic standard, replacing DES. CipherFile is a web-based file encryption and decryption tool that allows users to securely encrypt and decrypt files directly in the browser using AES, without transmitting or storing any data on a server.