Write, autoreview, editor, reviewer
3,129
edits
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. |