Supplementary Information: Difference between revisions

Line 132: Line 132:
===Trapdoor Claw-free function pair===
===Trapdoor Claw-free function pair===
===Homomorphic Encryption===
===Homomorphic Encryption===
A homomorphic encryption scheme HE is a scheme to carry out classical computation from the Server while hiding the inputs, outputs and computation. It can be divided into following four stages.
* '''Key Generation.''' The algorithm (pk,evk,sk) ← HE.Keygen(1λ) takes a λ, a security parameter as input and outputs a public key encryption key pk, a public evaluation key evk and a secret decryption key sk.
* '''Encryption.''' The algorithm c ← HE.Encpk(µ) takes the public key pk and a single bit message µ ∈ {0,1} and outputs a ciphertext c. The notation HE.Encpk(µ;r) is be used to represent the encryption of a bit µ using randomness r.
* '''Decryption'''. The algorithm µ∗ ← HE.Decsk(c) takes the secret key sk and a ciphertext c and outputs a message µ∗ ∈ {0,1}.
* '''Homomorphic Evaluation''' The algorithm cf ← HE.Evalevk(f,c1,...,cl) takes the evaluation key evk, a function f : {0,1}l → {0,1} and a set of l ciphertexts c1,...,cl, and outputs a ciphertext cf. It must be the case that:
HE.Decsk(cf) = f(HE.Decsk(c1),...,HE.Decsk(cl)) (1)
with all but negligible probability in λ. This means classical HE decrypts ciphertext bit by bit.
HE scheme is compact if HE.Eval is independent of any inputs or computation. It is fully homomorphic if it can compute any boolean computation.
Write, autoreview, editor, reviewer
3,125

edits