| Crates.io | opaque-borink |
| lib.rs | opaque-borink |
| version | 0.6.1 |
| created_at | 2024-06-13 15:00:14.386114+00 |
| updated_at | 2025-01-07 10:54:59.313016+00 |
| description | Simple configuration of OPAQUE, a passowrd-authenticated key exchange protocol. |
| homepage | |
| repository | https://github.com/tiptenbrink/opaque-borink/tree/main/opaque-borink |
| max_upload_size | |
| id | 1270731 |
| size | 31,900 |
A simple instantiation/configuration of the opaque-ke OPAQUE implementation.
OPAQUE (see the Internet-Draft) is an upcoming standard for password authentication. It is more secure than a traditional simple salt and password hash scheme.
It enables a workflow where the server never learns the user password, yet the server does not need to provide the salt to anyone who asks, providing security against pre-computation attacks.
It uses a basic CipherSuite configured as follows:
voprf CipherSuite, which means using curve25519_dalek as the Ristretto implementation and sha2's Sha512 as the hash implementationcurve25519_dalekIt exposes four functions on both the server and client: login finish/start and register finish/start; as well as a key generation function. It also exposes a number of constants for the sizes of various structs.
It is optimized for the usecase in which the server is stateless, but the client stateful.
opaque-borink is useful as a stand-alone library, but also serves as the core library for opaquepy and @tiptenbrink/opaquewasm, bindings for Python and WebAssembly, respectively.