  In order for High-Performance Computing (HPC) applications with data security
requirements to execute in the public cloud, the cloud infrastructure must
ensure the privacy and integrity of data. To meet this goal, we consider
incorporating encryption in the Message Passing Interface (MPI) library. We
empirically evaluate four contemporary cryptographic libraries, OpenSSL,
BoringSSL, Libsodium, and CryptoPP using micro-benchmarks and NAS parallel
benchmarks on two different networking technologies, 10Gbps Ethernet and 40Gbps
InfiniBand. We also develop accurate models that allow us to reason about the
performance of encrypted MPI communication in different situations and give
guidance on how to improve encrypted MPI performance.
