jake
|
0db9603823
|
[ENG-250] Crypto Library (#400)
* add crypto crate with some functionality
* formatting
* add `argon2id` parameter levels
* add descriptive comments
* add stream decryption objects
* add `StreamEncryptor` struct
* add `StreamDecryptor`
* general cleanup
* add `thiserror` and error handling
* add header structs
* add basic serialization functionality
* advance serialization
* finish serialization
* clean up serialization and use `impl`
* finalise deserialization
* add stream helper functions and remove old code
* add AAD creation and retrieval
* add important comment
* add `ChaCha20Rng` as a CSPRNG
* cleanup and crate-wide clippy lints
* apply nursery lints
* add in-memory encryption objects
* rename `utils` to `objects`
* move (de)serialization rules to separate file
* add header-write helper function
* add password hash helper function
* add `decrypt_master_key` function
* cleanup, formatting, linting
* move keyslots to separate file, and rename them
* add basic comments
* remove `secrecy` dependency and import `protected`
* add `to_array` helper function
* `sd_crypto` -> `sd-crypto`
* remove manual drops
* add clippy allows
* add `new()` for `Keyslot` and `FileHeader`
* remove license
* zeroize read buffer on error
* magic bytes are now `ballapp`
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
|
2022-10-07 07:31:40 -07:00 |
|