28 lines
1.4 KiB
Markdown
28 lines
1.4 KiB
Markdown
# Roadmap 1.0
|
|
## Summary
|
|
Make the program real-world usable and stable.
|
|
|
|
## Knowledge and Design
|
|
* understand `encrypt_next_in_place()`'s first argument better
|
|
* current understanding:
|
|
* associated data is used for parts of the data that cannot be
|
|
encrypted but should also be integrity protected by the authentication tag
|
|
* since there are no parts that cannot be encrypted in the context of `fcry` it is correct
|
|
to pass an empty slice to the first argument of `encrypt_next_in_place()`
|
|
* currently `fcry` uses 64 KiB blocks as single AEAD messages
|
|
* as stated [here](https://pycryptodome.readthedocs.io/en/latest/src/cipher/chacha20_poly1305.html) (limit of 13 billion messages) would imply a maximum file-size of `64 KiB * 13e9 = 832e9 KiB = 774.86 TiB`. While a file this size could be considered a special (and unsupported) use case anyway, performance is also a consideration. Does performance improve noticably with larger message sizes?
|
|
* unit tests
|
|
|
|
## Features
|
|
* password hashing
|
|
* configurable algorithm (sane default)
|
|
* configurable nr of rounds (sand default)
|
|
* a way to enter the password securely in a prompt while still being able to handle `stdin` data
|
|
* add usage examples to README.md
|
|
|
|
# Roadmap 2.0
|
|
* parallel processing: use all available (or configurable) CPU cores
|
|
|
|
# Roadmap later or never
|
|
* split into `lib` and `bin`
|
|
* other AEAD algorithms |