-
Vasudev Kamath authoredd9162995
Go SPAKE2 Implementation
Warning!
This code has not been formally audited by a cryptographer. It therefore should not be considered safe or correct. Use it at your own risk! However it does interoperate with python-spake2 which was the main purpose of writing this library.
Implementation of SPAKE2 key exchange protocol which interoperates with Rust Haskell and Python versions.
This package defines the behavior of group and its element as package groups. It also implements 2 groups ed25519 and multiplicative group over integer as 2 packages. SPAKE2 calculation uses ed25519 as default group and allows user to switch to group of his choice.
Ed25519 Group
This package implements Ed25519 group operations and confirms to the Group and Element interface defined by salsa.debian.org/vasudev/gospake2/groups package.
This package is based on reference implementation of Ed25519 group in python-spake2.
Note that this package is not optimized for speed and relies on big numbers from Go standard library (math/big).
Package implements operation on Extended Co-ordinates of Twisted Edwards Curve it also has methods to convert the Extended Co-ordinates to Affine Co-ordinate.