FHERMA

Kernels

An operation on encrypted data, specified independently of the scheme or library that implements it.

/
Propose a kernel
33 KERNELS0 IMPLEMENTATIONS6 RUNNERS4 OPEN CHALLENGES33 AWAITING FIRST CODE
L2
Encrypted Byte Extractionencrypted-byteACTIVE

Extracts one byte of an encrypted word at an encrypted position — random access inside a number, with neither the number nor the position visible.

SPEC v0.1.0NO IMPLFHEEVMBITWISE
v0.1.0 · publishedNo implementationsNo dependencies
L2
Encrypted Modular Additionencrypted-addmodACTIVE

Adds two encrypted integers modulo a third, without the intermediate sum overflowing. Modular arithmetic where every operand, including the modulus, is hidden.

SPEC v0.1.0NO IMPLFHEEVMBITWISE
v0.1.0 · publishedNo implementationsNo dependencies
L2
Encrypted Modular Multiplicationencrypted-mulmodACTIVE

Multiplies two encrypted integers modulo a third, with the full-width product never materializing in the clear or overflowing.

SPEC v0.1.0NO IMPLFHEEVMBITWISE
v0.1.0 · publishedNo implementationsNo dependencies
L2
Encrypted Shift Leftencrypted-shlACTIVE

Shifts an encrypted integer left by an encrypted number of positions, which is multiplication by a power of two chosen by data nobody can read.

SPEC v0.1.0NO IMPLFHEEVMBITWISE
v0.1.0 · publishedNo implementationsNo dependencies
L2
Encrypted Shift Rightencrypted-shrACTIVE

Shifts an encrypted integer right by an encrypted number of positions — integer division by a power of two, with the discarded bits genuinely discarded.

SPEC v0.1.0NO IMPLFHEEVMBITWISE
v0.1.0 · publishedNo implementationsNo dependencies
L2
Encrypted Sign Extensionencrypted-signextendACTIVE

Extends a shorter signed encrypted integer to full width, preserving its sign. The step that lets narrow encrypted values participate in wide arithmetic.

SPEC v0.1.0NO IMPLFHEEVMBITWISE
v0.1.0 · publishedNo implementationsNo dependencies
L2
Encrypted Signed Divisionencrypted-sdivACTIVE

Signed integer division of encrypted operands, truncating toward zero. Division is the operation encrypted arithmetic lacks outright, and signedness doubles the number of cases.

SPEC v0.1.0NO IMPLFHEEVMBITWISE
v0.1.0 · publishedNo implementationsNo dependencies
L2
Encrypted Signed Remainderencrypted-smodACTIVE

The remainder of signed encrypted division, taking its sign from the dividend. The companion of signed division, and wrong in a different way if the sign rule is missed.

SPEC v0.1.0NO IMPLFHEEVMBITWISE
v0.1.0 · publishedNo implementationsNo dependencies
L2
Encrypted XORencrypted-xorACTIVE

Bitwise exclusive or over two encrypted integers. Trivial on a bit-level scheme, awkward on an arithmetic one, which is exactly why it is worth measuring.

SPEC v0.1.0NO IMPLFHEEVMBITWISE
v0.1.0 · publishedNo implementationsNo dependencies
L2
Encrypted Zero Testencrypted-iszeroACTIVE

Returns one when an encrypted value is zero and zero otherwise. The smallest possible predicate, and the one every encrypted branch is eventually built from.

SPEC v0.1.0NO IMPLFHEEVMBITWISE
v0.1.0 · publishedNo implementationsNo dependencies
Kernels · FHERMA