Skip to content

Commit 75a58e4

Browse files
committed
Improve docs
1 parent b6f8af9 commit 75a58e4

1 file changed

Lines changed: 23 additions & 4 deletions

File tree

README.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
# SPAKE2
22

3-
[![GoDoc](https://godoc.org/github.com/backkem/spake2?status.svg)](https://godoc.org/github.com/backkem/spake2)
3+
[![GoDoc](https://godoc.org/github.com/backkem/spake2-go?status.svg)](https://godoc.org/github.com/backkem/spake2-go)
4+
[![Build Status](https://github.com/backkem/spake2-go/actions/workflows/ci.yml/badge.svg)](https://github.com/backkem/spake2-go/actions/workflows/ci.yml)
45

56
A Go implementation of the SPAKE2 password-authenticated key exchange protocol.
67

78
## Overview
89

910
SPAKE2 is a secure, password-authenticated key exchange protocol that allows two parties to establish a shared secret key based on a low-entropy password without revealing the password to an eavesdropper. This implementation provides both client and server components for the SPAKE2 protocol.
1011

12+
⚠️ **Security Warning**: While this implementation has been tested against the official RFC 9382 test vectors for correctness, it has not undergone formal security review or audit for vulnerabilities. Use at your own risk in production environments. Consider having the code reviewed by security experts before deploying in security-critical applications.
13+
1114
## Features
1215

1316
- Implements the SPAKE2 protocol as described in [RFC 9382](https://www.rfc-editor.org/rfc/rfc9382).
@@ -18,7 +21,7 @@ SPAKE2 is a secure, password-authenticated key exchange protocol that allows two
1821
To use this package in your Go project, you can install it using `go get`:
1922

2023
```bash
21-
go get github.com/backkem/spake2
24+
go get github.com/backkem/spake2-go
2225
```
2326

2427
## Usage
@@ -30,7 +33,7 @@ package main
3033

3134
import (
3235
"fmt"
33-
"github.com/backkem/spake2"
36+
"github.com/backkem/spake2-go"
3437
)
3538

3639
func main() {
@@ -79,9 +82,25 @@ func main() {
7982
}
8083
```
8184

85+
## Protocol Flow
86+
87+
Below is a simplified flow of the SPAKE2 protocol exchange between client and server:
88+
89+
```mermaid
90+
sequenceDiagram
91+
participant C as Client
92+
participant S as Server
93+
C->>S: Start (Client Message)
94+
S->>C: Exchange (Server Message)
95+
C->>S: Finish (Client Confirm)
96+
S->>C: Confirm (Server Confirm)
97+
C->>C: Verify
98+
Note over C,S: Shared Key Established
99+
```
100+
82101
## Documentation
83102

84-
Full documentation is available on [GoDoc](https://godoc.org/github.com/backkem/spake2).
103+
Full documentation is available on [GoDoc](https://godoc.org/github.com/backkem/spake2-go).
85104

86105
## License
87106

0 commit comments

Comments
 (0)