The Zn-multiplication workload implements an encrypted multiplication functionality. The input is a collection of integer pairs modulo 2^n. The goal is to perform multiplication of these integers using homomorphic encryption. Currently we support n=64, and we may expand to other values of n in the future. Such 64-bit encrypted integer multiplications are essential to blockchain applications.
The workload includes two interfaces for benchmark submitters to implement:
| Size | Records (N) |
|---|---|
| Small | 1000 |
| Medium | 100,000 |
| Large | 10,000,000 |
Hence, there are a total of four variants of this workload: single multiplication and batch multiplication for each one of the three sizes. Submitters need not implement all four, instead each submitter can implement and report the results of any subset.
Submission to the benchmarking suite must set the implementation parameters so as to achieve security level of at least 128 bits (against a semi-honest server). Submitters must document their choice of parameters and explain why they believe that it meets the 128-bit security mandate. (For example, for LWE-based schemes without a sparse key, they can rely on Table 5.2 or Table 5.3 in the HE-security-guidelines document of Bossuat et al. [BCC+24].)
All submissions must also ensure the correctness of their output with full precision.
The Zn-multiplication harness contains a script that can be called to run the implementation of submitters, that script accepts command-line arguments to specify which interface of what instance size to run.
$ python3 harness/run_submission.py -h
usage: run_submission.py [-h] [--num_runs NUM_RUNS] [--seed SEED] [--count_only] [--remote]
{0,1,2,3}
Run the Zn-multiplication FHE benchmark.
positional arguments:
{0,1,2,3} Instance size (0-single/1-small/2-medium/3-large)
options:
-h, --help show this help message and exit
--num_runs NUM_RUNS Number of times to run steps 4-9 (default: 1)
--seed SEED Random seed for dataset and query generation
[BCC+24] Security guidelines for implementing homomorphic encryption. Jean-Philippe Bossuat, Rosario Cammarota, Ilaria Chillotti, Benjamin R. Curtis, Wei Dai, Huijing Gong, Erin Hales, Duhyeong Kim, Bryan Kumara, Changmin Lee, Xianhui Lu, Carsten Maple, Alberto Pedrouzo-Ulloa, Rachel Player, Yuriy Polyakov, Luis Antonio Ruiz Lopez, Yongsoo Song, and Donggeon Yhee. IACR Communications in Cryptology, 1(4):26, 2024.