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 · OPERATIONACTIVE

Encrypted Byte Extraction

encrypted-byte

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
SPECIFICATIONv0.1.0 · publishedCommunity-owned
No implementations
No open challenges
L2 · OPERATIONACTIVE

Encrypted Modular Addition

encrypted-addmod

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
SPECIFICATIONv0.1.0 · publishedCommunity-owned
No implementations
No open challenges
L2 · OPERATIONACTIVE

Encrypted Modular Multiplication

encrypted-mulmod

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

SPEC v0.1.0NO IMPLFHEEVMBITWISE
SPECIFICATIONv0.1.0 · publishedCommunity-owned
No implementations
No open challenges
L2 · OPERATIONACTIVE

Encrypted Shift Left

encrypted-shl

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
SPECIFICATIONv0.1.0 · publishedCommunity-owned
No implementations
No open challenges
L2 · OPERATIONACTIVE

Encrypted Shift Right

encrypted-shr

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
SPECIFICATIONv0.1.0 · publishedCommunity-owned
No implementations
No open challenges
L2 · OPERATIONACTIVE

Encrypted Sign Extension

encrypted-signextend

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
SPECIFICATIONv0.1.0 · publishedCommunity-owned
No implementations
No open challenges
L2 · OPERATIONACTIVE

Encrypted Signed Division

encrypted-sdiv

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
SPECIFICATIONv0.1.0 · publishedCommunity-owned
No implementations
No open challenges
L2 · OPERATIONACTIVE

Encrypted Signed Remainder

encrypted-smod

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
SPECIFICATIONv0.1.0 · publishedCommunity-owned
No implementations
No open challenges
L2 · OPERATIONACTIVE

Encrypted XOR

encrypted-xor

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
SPECIFICATIONv0.1.0 · publishedCommunity-owned
No implementations
No open challenges
L2 · OPERATIONACTIVE

Encrypted Zero Test

encrypted-iszero

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
SPECIFICATIONv0.1.0 · publishedCommunity-owned
No implementations
No open challenges
Kernels · FHERMA