Skip to content
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

Investigate possible encoding problem #22

Closed
r-marques opened this issue Sep 6, 2016 · 1 comment · Fixed by #28
Closed

Investigate possible encoding problem #22

r-marques opened this issue Sep 6, 2016 · 1 comment · Fixed by #28
Assignees

Comments

@r-marques
Copy link
Contributor

related to bigchaindb/bigchaindb#617

@r-marques
Copy link
Contributor Author

This is issue seems to be related to week the use of weak keys in ed25519 see jedisct1/libsodium#112

This is possible if the attacker is able to control the public key, the signature and the message to be signed. For bigchaindb the clients can choose their public keys and do provide the signature, but the message is the transaction itself. I don't think it would be possible to forge a transaction such that a signature would verify in this case.

But just to be sure I think we should switch to [NaCL][https://nacl.cr.yp.to/] since it has a good reputation and libsodium is under active development and there are good python bindings for it.

libsodium does blacklist public keys and returns a bad signature error if a weak public key is being used https://github.com/jedisct1/libsodium/blob/22ab28be0a80878452836c08161a26005c460630/src/libsodium/crypto_sign/ed25519/ref10/open.c#L38

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant