Encrypted XOR
encrypted-xor · spec v0.1.0 · 0 implementations · 6 runners
DESCRIPTION
Computes the bitwise exclusive or of two encrypted integers.
The operation is a single gate on schemes that encrypt bits, and a decomposition problem on schemes that encrypt numbers: the operands have to be split into bits, combined, and recomposed. Which side of that divide an implementation sits on dominates its cost, and comparing the two is the point of having one kernel rather than two.
INTERFACE
encrypted_xor( in ct : Ciphertext // the encrypted first operand in ct_y : Ciphertext // the encrypted second operand out ct : Ciphertext // the encrypted result of the opcode ... // anything else the realization needs — keys, context, encoding — is its own concern )
PARAMETER SCHEMA
The schema belongs to the kernel. Each implementation declares which part of it it supports.
CORRECTNESS
An opcode is exact by definition. Where the scheme is approximate, the precision threshold is what stands in for exactness, and it has to hold at every integer in range.
SECURITY PROPERTIES
Operands and result stay encrypted throughout. Nothing about the values may be observable through timing or control flow, which rules out any realization that branches on a decrypted intermediate.
ASSUMPTIONS
Operands are integers held exactly at the point of encryption.