Write, autoreview, editor, reviewer
3,129
edits
Line 133: | Line 133: | ||
===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. | 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) | 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. | 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. | 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. |