Encrypted AXPY
L4 · Application ComponentsDefinition
AXPY scales a vector and adds another, element by element. For a scalar and vectors of length ,
The name is " times plus " — the level-1 BLAS routine axpy. Each output element depends only on the corresponding elements of and ; there is no interaction between positions and no summation across the vector.
Mathematical Domain
AXPY is defined over any ring of scalars — integers, reals, or complex numbers. Under a homomorphic scheme the vectors live in the scheme's plaintext domain and are held in ciphertext slots, while the scalar may be supplied either encrypted or in the clear.
The kernel fixes neither the scalar type, the vector length, nor which operands are secret. These, together with the scheme and the encoding, are set by a specification. Structurally the operation is the shallowest computation there is: one multiplication and one addition, multiplicative depth 1, with no rotations required when and share a layout.
Parameters Defined by Specifications
A specification narrows AXPY into a concrete problem by fixing:
- the element domain and homomorphic scheme
- the vector length
- which operands are secret and which are public
- the encoding / packing of the vectors into ciphertext slots
- the correctness or accuracy rule and its value bounds
Applications
AXPY is the update at the heart of iterative numerical methods: a gradient-descent step , a conjugate-gradient or Krylov update, linear interpolation, and the row operations of Gaussian elimination are all AXPYs. As the simplest kernel that is still a computation, it also opens the encrypted track and exercises every stage of the pipeline — encoding, encryption, the measured call, decryption, decoding — so that a slow scheme, library, or machine has nowhere to hide.