On Sat, Dec 13, 2014 at 1:06 PM, Bryan Ford <
bryno...@gmail.com> wrote:
> AGL's implementation of Ed25519 is awesome, and I'd love to see it in
> go.crypto. One caveat, though, is that while the Ed25519 curve itself and
> most of the Ed25519 code is in principle usable in a wide variety of
> public-key crypto algorithms and protocols, the current ed25519 package is
> completely specific to just one public-key signature scheme. If ed25519 is
> included in go.crypto as-is, it will already embody some functional overlap
> with the existing curve25519 package (which implements a different
> representation of the same basic curve). Continuing this approach will
> invite further functional duplication down the road if/when other
> curve25519-based public-key algorithms get incorporated into go.crypto, as
> seems likely. The different and separately-optimized curve representations
> may justify keeping curve25519 and ed25519 separate, but it would be nice to
> avoid a new copy of the curve25519 or ed25519 code for every new public-key
> algorithm that uses either of these curve representations.
Agreed. The guts are already exposed in a subpackage[1] but that's not
sufficiently commented and organised for go.crypto. However, a simpler
etc to be easily implemented on top of it too. That would certainly be