# Single-party encryption, multi-party and single-party decryption

Let’s say person A encrypts a message. Now I want both person A and persons B, C, D – A as a single individual – and B, C, D only as a group, to be able to decrypt the encrypted message. The multiparty decryption process should be designed in a way, that it requires no secret sharing between B, C, D. Also the secret that A uses to encrypt/decrypt the message is completely unknown to B, C, D and their secrets cannot be dependent on A’s secret. Is it possible to build something like this?

A has an EC key-pair $$(a, A=aG)$$ where $$G$$ is a well-known base point.

B, C and D similarly own key-pairs $$(b, B=bG)$$, $$(c, C=cG)$$ and $$(d, D=dG)$$ respectively.

A uses EC El Gamal to encrypt a message in the form of an EC point $$M$$ as follows:

A publishes the pair $$(X,Y)$$, where $$X=A$$ and $$Y=a(B+C+D)+M$$.

B, C and D each calculate and declare the values $$bX$$, $$cX$$ and $$dX$$ respectively. They can then decrypt $$M'=Y-bX-cX-dX$$.

A decrypts $$M' = Y-a(B+C+D)$$.

For this to work, you need to use a scheme to bi-directionally map your message to an EC point $$M$$.