Skip to content

SIMD accelerated HPKE hybrid public-key encryption

License

Notifications You must be signed in to change notification settings

armfazh/hpke-simdium

Repository files navigation

hpke-simdium

SIMD C implementation of the Hybrid Public-Key Encryption (HPKE) algorithm RFC-9180.

Uses AVX-2 and AVX-512 for speeding up KEM operations. Supported suites:

  • KEM X25519 (0x20)

Building

To compile this library, run:

cd hpke-simdium
mkdir build; cd build
cmake ..
make all

Building Third Party Libraries

OpenSSL

To compile OpenSSL, run:

cd hpke-simdium
mkdir build_third_party; cd build_third_party
cmake ../third_party
make openssl

This will populate the hpke-simdium/third_party/ossl folder with the OpenSSL library and headers.

BoringSSL

To compile BoringSSL, run:

cd hpke-simdium
mkdir build_third_party; cd build_third_party
cmake ../third_party
make boringssl

This will populate the hpke-simdium/third_party/bssl folder with the BoringSSL library and headers.

AWS-LC

To compile AWS-LC, run:

cd hpke-simdium
mkdir build_third_party; cd build_third_party
cmake ../third_party
make awslc

This will populate the hpke-simdium/third_party/awslc folder with the aws-lc library and headers.

License

Licensed under the Mozilla Public License, v. 2.0.

About

SIMD accelerated HPKE hybrid public-key encryption

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published