Port Libsodium (1.0.18-stable, July 03, 2020) AES-256-GCM
algorithm into Intel SGX enclaves.
It uses CPU rdrand
for digital random number generation, please see Enclave/randombytes.cpp
.
To go into the test details, please refer to Enclave/aead_aes256gcm.cpp
.
Tested Platform: Linux.
To adjust the tmmintrin.h
path, please modify Enclave_Include_Paths
in Makefile
.
Note that AES-NI is claimed to be side-channel proof.
Developer: Maxul Lee
Sodium is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more. Sodium is cross-platforms and cross-languages. It runs on a variety of compilers and operating systems, including Windows (with MinGW or Visual Studio, x86 and x86_64), iOS and Android. Javascript and WebAssembly versions are also available and are fully supported.