Skip to content

cfrg/draft-irtf-cfrg-hpke

Repository files navigation

Hybrid Public Key Encryption

This is the working area for the individual Internet-Draft, "Hybrid Public Key Encryption".

Building the Draft

Formatted text and HTML versions of the draft can be built using make.

$ make

This requires that you have the necessary software installed. See the instructions.

Existing HPKE implementations

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!

Contributing

See the guidelines for contributions.