This is the working area for the individual Internet-Draft, "Hybrid Public Key Encryption".
Formatted text and HTML versions of the draft can be built using make.
$ makeThis requires that you have the necessary software installed. See the instructions.
| Implementation | Language | Version | Modes |
|---|---|---|---|
| go-hpke | Go | RFC9180 | All |
| CIRCL | Go | RFC9180 | All but "Export Only" |
| hpke-compact | Go | RFC9180 | All |
| rust-hpke | Rust | RFC9180 | All |
| BoringSSL | C | RFC9180 | Base |
| NSS | C | RFC9180 | Base, PSK |
| hpke-rs | Rust | RFC9180 | All |
| happykey | C/OpenSSL | RFC9180 | All |
| hpke-wrap | C/OpenSSL | RFC9180 | All |
| zig-hpke | Zig | RFC9180 | All |
| libhpke | C++ (OpenSSL) | RFC9180 | All |
| hacl-star-hpke | F* | draft-05 | All |
| hpke-py | Python (cryptography.io) | RFC9180 | Base, Auth |
| hpke-js | Javascript (built on WebCrypto API) | RFC9180 | All |
| Tink | Java, Python, Go, C++ | RFC9180 | Base |
| hpke-rb | Ruby (OpenSSL) | RFC9180 | All |
| Apple CryptoKit | Swift | RFC9180 | All |
| BouncyCastle | Java | RFC9180 | Base, Auth |
Submit a PR if you would like your implementation to be added!
See the guidelines for contributions.