https://github.com/cretz/gopaque
Go implementation of OPAQUE (hidden password user registration and auth)
https://github.com/cretz/gopaque
cryptography opaque pake
Last synced: about 2 months ago
JSON representation
Go implementation of OPAQUE (hidden password user registration and auth)
- Host: GitHub
- URL: https://github.com/cretz/gopaque
- Owner: cretz
- License: mit
- Created: 2019-02-01T23:55:57.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-07-10T15:11:29.000Z (almost 5 years ago)
- Last Synced: 2025-02-27T07:48:04.762Z (2 months ago)
- Topics: cryptography, opaque, pake
- Language: Go
- Homepage:
- Size: 49.8 KB
- Stars: 58
- Watchers: 5
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Gopaque [](https://pkg.go.dev/github.com/cretz/gopaque/gopaque?tab=doc)
Gopaque implements the OPAQUE protocol in Go. OPAQUE is a way to register users with a server without having to send the
user's password to the server during registration or authentication. An introduction to OPAQUE (and PAKEs in general)
can be found at this article:
[Let's talk about PAKE](https://blog.cryptographyengineering.com/2018/10/19/lets-talk-about-pake/). Gopaque uses the
[Kyber](https://github.com/dedis/kyber) library to implement
[this pending RFC](https://tools.ietf.org/html/draft-krawczyk-cfrg-opaque-01) using elliptic curves.To install:
go get -u github.com/cretz/gopaque/gopaque
The documentation, API, and examples are in the [Godoc](https://pkg.go.dev/github.com/cretz/gopaque/gopaque?tab=doc).
**WARNING: This is a trivial implementation, the author is not a cryptographer, and the code has not been reviewed. Use
at your own risk.**Other known OPAQUE implementations:
* https://github.com/frekui/opaque (Go)
* https://github.com/stef/libsphinx (C)