covert-encryption / covert-encryption/covert-web

WEB TODO

Open
#1 51 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

This is the to-do list for the first JS prototype of Covert.
This prototype should demonstrate fast and efficient encryption of files/messages using chunked encryption (with chacha20poly1305 and ARGON2 browser SIMD) and service worker stream based file download (FetchEvent with ReadableStream based Response to download). And public key encrypt & sign with SSH, Age and Minisign keys.

- [ ] Third party modules
* [x] Sodium
* [ ] ChaCha20-Poly1305 (faster than sodium, if available)
* [x] Argon2-browser (faster than sodium)
* [ ] Bcrypt (for SSH keys, doesn't need to be fast)
* [ ] Bech32 encode/decode (Age keys; implementations exist for cryptocurrencies)
* [x] Dirty Elligator 2 (Monocypher)
* [x] zxcvbn (password hints)
* [x] MessagePack (archive)
* [ ] Signal's XEdDSA (if existing implementation can be used)
- [x] Password authentication
* [x] Unicode normalise, UTF-8
* [x] Hints (UI)
* [x] Wordlist
* [x] Passphrase Generation
* [x] Autocomplete
* [x] pwhash/authkey (Argon2)
- [x] Public key authentication
* [x] Data structure to hold a key (no Ed25519 needed because Covert now only uses Curve25519)
* [x] Auth key (based on sodium)
* [x] Ephemeral keys (needs elligator2)
* [ ] SSH keys
* [x] Age keys (provided that bech32 is fixed)
* [ ] Minisign keys
* [x] Wireguard keys
- [x] Header (authentication)
* [x] Data structure for keeping auth data
* [x] XOR
* [x] Find Block0
* [x] Advanced mode find slot
- [ ] Blockstream
* [ ] Decrypt from file stream into blocks
* [ ] Encrypt from blocks into file stream
* [x] Nonce increment
- [ ] Archive
* [ ] Index header processing
* [ ] Encode (writes blocks, message and files received from other code)
* [ ] Decode (reads blocks, message and files sent to other code)
* [x] Randomise padding
- [x] Armoring (standard base64)
* [ ] Extra handling ported from Python implementation
- [ ] Signing (needs XEdDSA)

This should be interesting.
If something is missing feel free to edit. Or if it looks messy/unorganized lol.

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named. Start by reviewing the unchecked prototype items and their dependencies, then define a smaller scoped task; completion is not defined for this issue as a whole beyond implementing the remaining checklist items.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
cryptography, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.