Efficient Probabilistic Public-Key Encryption Scheme
EPOC is a probabilistic public-key encryption scheme.
EPOC was developed in 1999 by T. Okamoto, S. Uchiyama and E. Fujisaki of NTT Labs in Japan. It is based on the random oracle model, in which a primitive public-key encryption function is converted to a secure encryption scheme by use of a truly random hash function; the resulting scheme is designed to be semantically secure against a chosen ciphertext attack.
EPOC's primitive encryption function is the OU function, in which to invert the OU function is proven to be as hard as factoring a composite integer public key. There are three versions of EPOC:
- EPOC-1 uses a one-way trapdoor function and a random function ;
- EPOC-2 uses a one-way trapdoor function, two random functions and a symmetric-key encryption ;
- EPOC-3 uses the Okamoto–Uchiyama one-way trapdoor function and two random functions as well as any symmetric encryption scheme such as the one-time pad, or any classical block cipher.