Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/facebook/akd
An implementation of an auditable key directory
https://github.com/facebook/akd
Last synced: about 1 month ago
JSON representation
An implementation of an auditable key directory
- Host: GitHub
- URL: https://github.com/facebook/akd
- Owner: facebook
- License: apache-2.0
- Created: 2021-06-29T20:33:21.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-05T00:16:44.000Z (7 months ago)
- Last Synced: 2024-04-12T08:46:26.840Z (7 months ago)
- Language: Rust
- Homepage:
- Size: 3.25 MB
- Stars: 218
- Watchers: 14
- Forks: 31
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
## akd ![Build Status](https://github.com/facebook/akd/workflows/CI/badge.svg)
An implementation of an auditable key directory (also known as a verifiable registry or authenticated dictionary).
Auditable key directories can be used to help provide key transparency for end-to-end encrypted
messaging.This implementation is based off of the protocols described in
[SEEMless](https://eprint.iacr.org/2018/607), with ideas incorporated from [Parakeet](https://eprint.iacr.org/2023/081).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.
Documentation
-------------The API can be found [here](https://docs.rs/akd/) along with an example for usage. To learn more about the technical details
behind how the directory is constructed, see [here](https://docs.rs/akd_core/).Installation
------------Add the following line to the dependencies of your `Cargo.toml`:
```
akd = "0.12.0-pre.9"
```### Minimum Supported Rust Version
Rust **1.51** or higher.
Top-Level Directory Organization
--------------------------------| Subfolder | On crates.io? | Description |
| :--- | :---: | :--- |
| `akd` | ✓ | Main implementation of AKD which a service provider that manages the underlying directory would need to run. A good starting point for diving into this implementation. |
| `akd_core` | ✓ | Minimal library consisting of core operations in AKD. |
| `examples` | | Contains various examples for using AKD, along with utilities such as locally verifying audit proofs that are produced by WhatsApp's key transparency deployment. More details are contained [here](examples/README.md). |
| `xtask` | | Used for running the code coverage pipeline. |Audit
-----This library was audited by NCC Group in August of 2023. The audit was sponsored by Meta for its use in [WhatsApp's key transparency deployment](https://engineering.fb.com/2023/04/13/security/whatsapp-key-transparency/).
The audit found issues in release `v0.9.0`, and the fixes were subsequently incorporated into release `v0.11.0`. See the [full audit report here](https://research.nccgroup.com/2023/11/14/public-report-whatsapp-auditable-key-directory-akd-implementation-review/).
Contributors
------------The original authors of this code are
Evan Au ([@afterdusk](https://github.com/afterdusk)),
Alex Chernyak ([@alexme22](https://github.com/alexme22)),
Dillon George ([@dillonrg](https://github.com/dillonrg)),
Sean Lawlor ([@slawlor](https://github.com/slawlor)),
Kevin Lewi ([@kevinlewi](https://github.com/kevinlewi)),
Jasleen Malvai ([@jasleen1](https://github.com/jasleen1)), and
Ercan Ozturk ([@eozturk1](https://github.com/eozturk1)).
To learn more about contributing to this project, [see this document](https://github.com/facebook/akd/blob/main/CONTRIBUTING.md).License
-------This project is dual-licensed under either the [MIT license](https://github.com/facebook/akd/blob/main/LICENSE-MIT)
or the [Apache License, Version 2.0](https://github.com/facebook/akd/blob/main/LICENSE-APACHE).
You may select, at your option, one of the above-listed licenses.