The Okamoto–Uchiyama cryptosystem is a
public key cryptosystem proposed in 1998 by
Tatsuaki Okamoto and
Shigenori Uchiyama. The system works in the
multiplicative group of integers modulo n
In modular arithmetic, the integers coprime (relatively prime) to ''n'' from the set \ of ''n'' non-negative integers form a group under multiplication modulo ''n'', called the multiplicative group of integers modulo ''n''. Equivalently, the el ...
,
, where ''n'' is of the form ''p''
2''q'' and ''p'' and ''q'' are large
primes.
Background
Let
be an odd prime. Define
.
is a subgroup of
with
(the elements of
are
).
Define
by
is a homomorphism between
and the additive group
: that is,
. Since
is bijective, it is an isomorphism.
One can now show the following as a corollary:
Let
such that
and
for
. Then
:
The corollary is a direct consequence of
.
Operation
Like many
public key cryptosystems, this scheme works in the group
. This scheme is
homomorphic and hence
malleable
Ductility refers to the ability of a material to sustain significant plastic deformation before fracture. Plastic deformation is the permanent distortion of a material under applied stress, as opposed to elastic deformation, which is reversi ...
.
Key generation
A public/private key pair is generated as follows:
# Generate two large primes
and
.
# Compute
.
# Choose a random integer
such that
.
# Compute
.
The public key is then
and the private key is
.
Encryption
A message
can be encrypted with the public key
as follows.
# Choose a random integer
.
# Compute
.
The value
is the encryption of
.
Decryption
An encrypted message
can be decrypted with the private key
as follows.
# Compute
.
# Compute
.
and
will be integers.
# Using the
Extended Euclidean Algorithm
In arithmetic and computer programming, the extended Euclidean algorithm is an extension to the Euclidean algorithm, and computes, in addition to the greatest common divisor (gcd) of integers ''a'' and ''b'', also the coefficients of Bézout's id ...
, compute the inverse of
modulo
:
#:
.
# Compute
.
The value
is the decryption of
.
Example
Let
and
. Then
. Select
. Then
.
Now to encrypt a message
, we pick a random
and compute
.
To decrypt the message 43, we compute
:
.
:
.
:
.
And finally
.
Proof of correctness
We wish to prove that the value computed in the last decryption step,
, is equal to the original message
. We have
:
So to recover
we need to take the
discrete logarithm
In mathematics, for given real numbers a and b, the logarithm \log_b(a) is a number x such that b^x=a. Analogously, in any group G, powers b^k can be defined for all integers k, and the discrete logarithm \log_b(a) is an integer k such that b^k=a ...
with base
. This can be done by applying
, as follows.
By
Fermat's little theorem
In number theory, Fermat's little theorem states that if is a prime number, then for any integer , the number is an integer multiple of . In the notation of modular arithmetic, this is expressed as
a^p \equiv a \pmod p.
For example, if and , t ...
,
. Since
one can write
with
. Then
and the corollary from earlier applies:
.
Security
Inverting the encryption function can be shown to be as hard as factoring ''n'', meaning that if an adversary could recover the entire message from the encryption of the message they would be able to factor ''n''. The
semantic security
In cryptography, a semantically secure cryptosystem is one where only negligible information about the plaintext can be feasibly extracted from the ciphertext. Specifically, any probabilistic, polynomial-time algorithm (PPTA) that is given the ci ...
(meaning adversaries cannot recover any information about the message from the encryption) rests on the ''p''-subgroup assumption, which assumes that it is difficult to determine whether an element ''x'' in
is in the subgroup of order ''p''. This is very similar to the
quadratic residuosity problem
The quadratic residuosity problem (QRP) in computational number theory is to decide, given integers a and N, whether a is a quadratic residue modulo N or not.
Here N = p_1 p_2 for two unknown primes p_1 and p_2, and a is among the numbers which a ...
and the
higher residuosity problem.
References
*
{{DEFAULTSORT:Okamoto-Uchiyama cryptosystem
Public-key encryption schemes