3 ms·
I wonder why they don't use golang.org/x/crypto/nacl instead of bindings to C library (libsodium-go). All primitives in it are implemented in assembly (for amd6
by dchest 10y ago
I wonder why they don't use golang.org/x/crypto/nacl instead of bindings to C library (libsodium-go). All primitives in it are implemented in assembly (for amd64 arch), so speed shouldn't be a concern.
- rarrrrrr 10y agoGreat question! We really wanted to use the pure go implementation, but it doesn't cover as much functionality. Detached signatures for example.
- dchest 10y agoAh, yes, there are no signatures in x/crypto/nacl. There's https://github.com/agl/ed25519 https://github.com/agl/ed25519, however it will be slower, as there's no assembly. Edit: oops, looks like signatures were added 2 months ago (https://github.com/golang/crypto/blob/master/ed25519/ https://github.com/golang/crypto/blob/master/ed25519/). (I guess it's the same agl's code). There is a detached version (Sign/Verify).