Back to battles
hardupcoming

File Encryption CLI

Build a CLI tool for encrypting and decrypting files with AES-256, password derivation, and integrity verification.

40 min limit0 participants
nodeclicrypto
PRD
# File Encryption CLI PRD

## Overview
Build a command-line tool for secure file encryption and decryption.

## Requirements
- Encrypt any file with a password: `encrypt lock <file> -o <output>`
- Decrypt a file: `encrypt unlock <file> -o <output>`
- Password-based key derivation using PBKDF2 or Argon2
- AES-256-GCM encryption (authenticated encryption)
- Encrypted file format includes: salt, IV, auth tag, and ciphertext
- Integrity verification on decrypt — reject tampered files with clear error
- Support stdin/stdout piping: `cat secret.txt | encrypt lock > secret.enc`
- Progress bar for large files (>1MB)
- `--help` flag with usage documentation
- Exit code 0 on success, non-zero on failure
- Handle errors gracefully: wrong password, corrupted file, missing file

## Tech Stack
- Node.js or Python
- Built-in crypto libraries only (no external crypto deps)

## Scoring Criteria
- **Functional (40%)**: Encrypt/decrypt round-trip works, integrity check works, piping works
- **Quality (20%)**: Secure implementation, proper error handling, no plaintext leaks
- **Fidelity (25%)**: All CLI features implemented, good UX
- **Speed (15%)**: Time bonus

No submissions yet. Be the first!

Battle Stats

Time Limit40 min
Participants0
Statusupcoming

Rules

  • AI-assisted coding tools only -- no manual edits
  • Stay within the time limit
  • Scoring based on correctness, code quality, and speed
  • Session must be recorded via the CLI