jesseduffield / jesseduffield/horcrux
Data Encryption - no Integrity
- Dominant language
- Go
- Stars
- 5.1k
- Forks
- 141
- PR merge metrics
- No merged PRs in 30d
Description
The project uses an un-verified secret sharing scheme for the key, which can be sufficient given an appropriate thread model. But it should be detectable if the either the data or the key has been tampered with (of course, replacing them altogether is still possible, but the problem of authenticity is not tackled at all in this project, which again is ok for this project).
**However**, unauthenticated OFB encryption is used (essentially a stream cipher), which allows for arbitrary bitwise flips of the plaintext and is undetectable by this library.
Countermeasures:
1. Verify that the contents of each threshold file are actually the same
2. Use ChaCha20-Poly1305 as an AEAD scheme, instead of OFB.
It's no issue at the moment, as each key is only used once, but please use a random IV as well.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.