Encrypted Sign
L4 · Application ComponentsDefinition
The sign function applied element by element to a secret vector. For a real vector , the result has
Each output element depends only on the corresponding input element. There is no interaction between positions and no reduction across the vector.
Mathematical Domain
Sign is a step function: discontinuous at the origin and constant on either side of it. Arithmetic homomorphic encryption schemes evaluate polynomials — additions and multiplications — and nothing else, so the step cannot be represented exactly. It is instead approximated by a polynomial over a bounded input range, and the quality of that approximation and the multiplicative depth it consumes are what a specification measures.
Sign is the base comparison primitive under encryption: a comparison is , and maximum, ReLU, and max-pooling are all built on top of it. The kernel itself fixes neither the arithmetic scheme, the input range, the vector length, nor the packing; these are defined by individual specifications.
Parameters Defined by Specifications
A specification narrows the general sign operation into a concrete problem by pinning:
- the element domain and encryption scheme (for example real values under CKKS)
- the input range on which the approximation must hold
- the vector length
- the ciphertext packing and layout
- the correctness or accuracy rule and how it is scored
- which stages of the computation are timed
Applications
Sign underpins every decision-shaped operation in private computation: comparison and thresholding, argmax and maximum selection, ReLU and max-pooling in private neural-network inference, decision-tree evaluation, and comparison-based sorting over encrypted data.