Home

Awesome

TERMinator Suite License MIT

Data-Oblivious Benchmarks for Encrypted Data Computation

TERMinator suite offers benchmarks specifically tailored to encrypted computers, to enable comparisons across different architectures. Our benchmark suite, dubbed TERMinator, offers rich set of data-oblivious programs that can be ported as-is to the encrypted domain. The benchmarks are currently maintained by the Modern Microprocessors Architecture Lab at New York University Abu Dhabi as well as the Trustworthy Computing Group at University of Delaware.

Cite us!

Please use the following publication to cite the benchmarks:

D. Mouris, N. G. Tsoutsos and M. Maniatakos,
"TERMinator Suite: Benchmarking Privacy-Preserving Architectures."
IEEE Computer Architecture Letters, Volume: 17, Issue: 2, July-December 2018. 

The publication describing the benchmarks can be accessed here and author's version here.

TERMinator Suite Benchmark Categories

List of TERMinator Suite Benchmarks

  1. N-Queens (link)

  2. Tak function (link)

    Encoder Benchmarks Category

  3. Speck (cipher) (link)

  4. Simon (cipher) (link)

  5. Jenkins one-at-a-time Hash Function (link)

    Kernels Category

  6. Insertion-sort (link)

  7. Private Set Intersection (link)

  8. Data Deduplication Algorithm (link)

  9. Permutations (link)

  10. Sieve of Eratosthenes (link)

  11. Matrix Multiplication (link)

    Microbenchmarks Category

  12. Private Information Retrieval (link)

  13. Factorial (link)

  14. Fibonacci (link)

    Other Algorithms

  15. Number Occurrences

Installation steps & How to run a benchmark

Setup Cryptoleq & TERMinator Suite

To set up Cryptoleq and TERMinator Suite follow the steps here.

How to run a Benchmark

An example of how to run a benchmark is shown here.

CEAL Security Parameter (lambda) & Public Key (PQ)

The security parameter (lambda) represents the bit size of the public encryption key (PQ) of the Paillier cryptosystem. The public key is the product of two prime numbers (P and Q), and each such prime has a bitsize between 64 and 512 bits. As the security parameter size increases, the overall performance of a benchmark is expected to decrease.

It is possible to change the security parameter of a benchmark by updating the .pragma PQ= directive at the beginning of a CEAL benchmark (.sca file) with two prime numbers separated by a dot (.). The following are of public keys ranging from 16 to 1024 bits.

.pragma PQ=239.251
.pragma PQ=63199.64567
.pragma PQ=4281167959.4271299633
.pragma PQ=18299379327617480707.18345258783657292909
.pragma PQ=338871469111127928412308213206819656391.338531414912581056934822037249894061881
.pragma PQ=115689526107095890311249333520175779978137070980169508677335528535095435701957.115509443392406915656501893779637949187966713758992043305916442498716409678501
.pragma PQ=13392849694255970315601419090152597688339809774933571293865724091737666496951381207429127235940384883608845778583380210687006370486238723021460371010217257.13403952390292880134486926689236901739298695038033079040680862117777593853851234125818128702776151240584166261477766002390185782669746209391687589482784501