Circuit 1: Key
The key generation circuit
Input : None
Output: A key state
- Sample
- Sample where
- Sample
- Sample
- Sample
- Sample
- Sample
- Output
Circuit 2: Enc
The encryption circuit
Input : A plaintext state and a key state
Output: A ciphertext state
- Sample where
- Compute where
- Compute
- Compute
- Output
Circuit 3: Dec
The decryption circuit
Input : A key state and a ciphertext
Output: A plaintext state and an error flag
- Compute
- Measure in the computational basis. Call the result
- Compute where
- Compute
- If , then set . Else, set
- Compute
- Output
Circuit 4: Del
The deletion circuit
Input : A ciphertext
Output: A certificate string
- Measure in the Hadamard basis. Call the output y.
- Output
Circuit 5: Ver
The verification circuit
Input : A key state and a certificate string
Output: A bit
- Compute where
- Compute
- If , output . Else, output .