Yawning Angel
Yawning Angel
I have a C++ version of this code, and a user notified me of this a while ago, but I haven't gotten around to looking into it till now. Per...
Since I'm experimenting with this for my library, I figured I would try it with this one as well, to see how difficult it would be. Note that I was...
Both `Invert` and `Pow22523` repeatedly square in a loop. The overhead of repeatedly calling Square (and having to shuffling data in/out of registers) adds up to a decent chunk of...
I'm not sure how bad the compiler behavior is on non-amd64 (due to lack of access to targets), and this only impacts non-amd64/arm64 (due to dedicated assembly), but https://github.com/golang/go/issues/29571 is...
I said I'll fork and file a pull request with spec changes that I think are important, but it'll be a while before I can do that, and this is...
As discussed in #236, having something like this along with the NaCl box primitives will allow significantly easier use of the library, for the "I just want to encrypt/decrypt stuff...
So, I like crypto that's hard(-er, there's still nonce related foot+gun oportunities) to misuse. djb et al's NaCl library provides nifty `crypto_box`/`crypto_secretbox` for doing authenticated encryption with a secret key/public...
Since this was using agl's `PublicKeyToCurve25519`/`PrivateKeyToCurve25519`, the X25519 implementation being used provides equivalent functionality ( https://github.com/oasislabs/ed25519/commit/267bbda82b5ea724eb3d890e57edaf5c24d18fa5), so it is possible to avoid having to do it with `math/big`. Note: The...
This is a bit of a long shot and is only really good on 64-bit targets (eg: something like 32-bit Intel is probably too register starved to see significant gain...
When I implemented ECVRF in curve25519-voi, the IETF draft was less than version 11. As of version 11, after leaving things largely unchanged for years, they broke proof backward compatibility....