EPOC (Efficient Probabilistic Public Key Encryption) is a
probabilistic
Probability is the branch of mathematics concerning numerical descriptions of how likely an event is to occur, or how likely it is that a proposition is true. The probability of an event is a number between 0 and 1, where, roughly speaking, ...
public-key encryption
In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can dec ...
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
In cryptography, a random oracle is an oracle (a theoretical black box) that responds to every ''unique query'' with a (truly) random response chosen uniformly from its output domain. If a query is repeated, it responds the same way every time tha ...
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
A chosen-ciphertext attack (CCA) is an attack model for cryptanalysis where the cryptanalyst can gather information by obtaining the decryptions of chosen ciphertexts. From these pieces of information the adversary can attempt to recover the hidden ...
.
EPOC's primitive encryption function is the OU (Okamoto–Uchiyama) 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 (hash function);
* EPOC-2 uses a one-way trapdoor function, two random functions (hash functions) and a symmetric-key encryption (e.g., one-time padding and block-ciphers);
* EPOC-3 uses the Okamoto–Uchiyama one-way trapdoor function and two random functions (hash functions) as well as any symmetric encryption scheme such as the one-time pad, or any classical block cipher.
EPOC-1 is designed for key distribution; EPOC-2 and EPOC-3 are designed for both key distribution and encrypted data transfer.
See also
*
Cryptography
Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adve ...
*
Computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved ...
*
Okamoto–Uchiyama cryptosystem
References
* T. Okamoto, S. Uchiyama and E. Fujisaki (1999).
EPOC: Efficient Probabilistic Public-Key Encryption, Contribution to IEEE – describes EPOC-1 and EPOC-2.
* T. Okamoto and D. Pointcheval (2000).
, Contribution to IEEE – describes EPOC-3.
*
{{Cryptography navbox , public-key
Public-key encryption schemes