Feat/encrypt smp #7
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request addresses some weaknesses in the previous SMP implementation, significantly improving the cryptographic security of the process, and significantly improving plausible unlikability.
Plausible unlinkability significantly improved if server is not actively conducting a MiTM attack, and is rather maliciously passively monitoring requests.
I have added:
I have also changed:
AES-GCM to ChaCha20Poly1305: I have chosen this because less dependent on hardware blackbox accelerators (they could contain implementation flaws, or even backdoors), and ChaCha has simpler software implementation, with less potential side channel attacks.
I've chosen it over XChaCha20Poly1305 because the latter is not widely used in many projects, and is not available in
cryptographypackage we currently depend on.It's not ideal, in the sense that I've also swapped AES for ChaCha for file encryption, but should be fine.