#key #encryption-key #directory #end-to-end-encryption #auditable #key-transparency #akd

no-std akd_client

Client verification companion for the auditable key directory with limited dependencies

17 unstable releases (4 breaking)

0.8.9 Mar 15, 2023
0.8.2 Dec 16, 2022
0.7.7 Nov 24, 2022
0.6.2 Jun 2, 2022
0.5.2 Mar 15, 2022

#220 in WebAssembly

MIT/Apache

220KB
4K SLoC

akd Build Status

An implementation of an auditable key directory (also known as a verifiable registry).

Auditable key directories can be used to help provide key transparency for end-to-end encrypted messaging.

This implementation is based off of the protocol described in SEEMless: Secure End-to-End Encrypted Messaging with less trust.

This library provides a stateless API for an auditable key directory, meaning that a consumer of this library must provide their own solution for the storage of the entries of the directory.

⚠️ Warning: This implementation has not been audited and is not ready for a production application. Use at your own risk!

Documentation

The API can be found here along with an example for usage. To learn more about the technical details behind how the directory is constructed, see here.

Installation

Add the following line to the dependencies of your Cargo.toml:

akd = "0.8"

Minimum Supported Rust Version

Rust 1.51 or higher.

Contributors

The original authors of this code are Jasleen Malvai (@jasleen1), Kevin Lewi (@kevinlewi), and Sean Lawlor (@slawlor). To learn more about contributing to this project, see this document.

License

This project is licensed under either Apache 2.0 or MIT, at your option.

Dependencies

~4.5–8MB
~141K SLoC