-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
General Improvements #268
General Improvements #268
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Is this still meant to be in draft mode?
I definitely plan to do more here, I'm continuing now actually. But I can also split it into multiple PR's or take it out of draft more, whatever you prefer. |
It would be nice to be able to sync the implementation with the latest draft and its changes (https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-opaque-08.html). I'd be happy to work on that, but want to avoid any potential merge conflicts, since I will be pulling from the main branch. If you think it would be better to land these changes now, let me know and I can merge before starting my work. |
Copy
for both public and private key and switch to points instead of usingPublicKey
-like types.Zeroize
for both public and private key instead of only usingKeGroup::zeroize_sk_on_drop()
on the private key.curve25519-dalek
instead ofx25519-dalek
to supportZeroize
and drop two dependencies.derive_where(ZeroizeOnDrop)
instead of manual implementations.argon2
to v0.4.getrandom
andconstant_time_eq
dependency.derive-where
to v1.0.0-rc.3base64
,lazy_static
andsha2
dev-dependencies.clippy::multiple_crate_versions
).ristretto255_*
andx25519_*
crate features toristretto255-*
andx25519-*
.rand/std
,rand/std_rng
andvoprf/std
.KeGroup::hash_to_scalar
(this is handled by the newest OPAQUE draft and the check added here should be removed).CipherSuite::OprfGroup
toCipherSuite::OprfCs
.TripleDH
toTripleDh
.slow-hash
crate feature,argon2
should be used instead.SlowHash
toKsf
(Key Stretching Function, as it is called in the spec).De/Serialize
implementation for most types 🎉 (this removes the macro and usesderive
instead).