-
-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect signatures %1 of the time #3
Comments
It seems that this is not an incorrect signature: https://colab.research.google.com/drive/1ZDRWkO9o9YVbo6HLl7Weo3G35c4ccIID So I assume the error is in the signing data vis-a-vis what CTAP/python-fido2 expect. |
The issue turns out to be that SUPERCOP (and hence python-ed25519) skip the malleability check libsodium added the check too: jedisct1/libsodium#125 An online reference for more information: dalek-cryptography/ed25519-dalek#20 (comment). Adjusting the signature in this issue by subtracting L from S fixes things. Will PR a change, although strangely the code indicates we do actually reduce S mod L. UPDATE: "reduce_modulo_ell" actually just subtracts L once. In some cases, one has to do this twice. |
* The previous implementation was afflicted by <#3> * The `curve25519-dalek` implementation is much nicer anyway
* The previous implementation was afflicted by <#3> * The `curve25519-dalek` implementation is much nicer anyway
This version contains the scalar fix (see ycrypto/salty#3).
This is fixed. |
This version contains the scalar fix (see ycrypto/salty#3). (cherry picked from commit 3963c93)
We already talk about this, but opening here to stay organized. Signatures seem to be invalid deterministically about 1% of the time. One of the vectors that causes a bad signature is the following.
The text was updated successfully, but these errors were encountered: