โœ“
NIS PROJECT v1.0
AES-256 ยท File Encryption RSA-2048 ยท Key Exchange SHA-256 ยท Integrity Check HMAC ยท Digital Signature
โš™๏ธ EmailJS Configuration

Required to send encrypted keys via email. Free account at emailjs.com โ†’ Dashboard โ†’ copy your keys below.

Not configured ๐Ÿ“– Setup Guide โ†’
EMAILJS TEMPLATE VARIABLES (use these in your template):
{{to_email}} โ€” recipient email  |  {{to_name}} โ€” recipient name
{{from_name}} โ€” sender name  |  {{file_name}} โ€” encrypted filename
{{aes_key}} โ€” AES session key  |  {{file_hash}} โ€” SHA-256 hash
{{expiry_time}} โ€” link expiry  |  {{message}} โ€” optional message
01 ยท Select File to Encrypt
๐Ÿ“
Drop file here or click to browse
Any file type supported ยท Max 10MB
Decrypt Received File
๐Ÿ”’
Drop encrypted file here
Accepts .enc files
Secure File Vault
No encrypted files yet.
Encrypt a file from the Send tab to see it here.
Security Activity Log
[SYSTEM] CipherShare v1.0 initialized. All operations client-side only.
[INFO] AES-256, SHA-256, HMAC-SHA256 modules ready.
Cryptographic Architecture
AES-256-CBC

Advanced Encryption Standard with a 256-bit key in CBC mode. Used to encrypt the actual file content. A unique random session key is generated for every file upload, ensuring perfect forward secrecy between transfers.

RSA-2048 (Key Wrapping)

Asymmetric encryption used to wrap the AES session key. Only the recipient's private key can unwrap it. This solves the key distribution problem โ€” the file can be shared publicly but only the intended recipient can decrypt it.

SHA-256

Secure Hash Algorithm produces a 256-bit fingerprint of the file before encryption. Upon decryption, the hash is recomputed and compared โ€” any tampering, even a single bit flip, is immediately detected.

HMAC-SHA256

Digital Signature using Hash-based Message Authentication Code. Proves authenticity and non-repudiation โ€” the receiver can verify the package was created by the sender and was not modified in transit.

Data Flow Diagram
SENDER SIDE:
FILE โ†’ [SHA-256 Hash] โ†’ hash
FILE โ†’ [AES-256 Encrypt] (random key K) โ†’ ciphertext
K โ†’ [RSA Encrypt with recipient pubkey] โ†’ wrapped_key
{ciphertext + hash + metadata} โ†’ [HMAC-SHA256] โ†’ signature

PACKAGE = { ciphertext, wrapped_key, hash, signature, metadata }

RECEIVER SIDE:
PACKAGE โ†’ [HMAC Verify] โ†’ โœ“ authentic
wrapped_key โ†’ [RSA Decrypt with private key] โ†’ K
ciphertext โ†’ [AES Decrypt with K] โ†’ plaintext
plaintext โ†’ [SHA-256 Hash] โ†’ compare with stored hash โ†’ โœ“ intact
Security Properties
Confidentiality
AES-256 encryption ensures only the key holder can read the file.
Integrity
SHA-256 hash detects any modification to file contents.
Authentication
HMAC signature verifies the package came from the claimed sender.
Non-repudiation
Digital signature prevents sender from denying transmission.
Forward Secrecy
Unique AES key per file โ€” compromise of one doesn't affect others.
Expiry Control
Time-limited links reduce exposure window for shared files.