NP-intermediate as of 2020 for similar reasons as integer factorization.
An important case is the discrete logarithm of the cyclic group in which the group is a cyclic group.
This is natural question because both integer factorization and discrete logarithm are the basis for the most popular public-key cryptography systems as of 2020 (RSA and Diffie-Hellman key exchange respectively), and both are NP-intermediate. Why not use something more provenly hard?
- cs.stackexchange.com/questions/356/why-hasnt-there-been-an-encryption-algorithm-that-is-based-on-the-known-np-hard "Why hasn't there been an encryption algorithm that is based on the known NP-Hard problems?"
Quantum computers are not expected to solve NP-complete problems Updated 2024-12-15 +Created 1970-01-01
Only NP-intermediate, which includes notably integer factorization:
- quantumcomputing.stackexchange.com/questions/16506/can-quantum-computer-solve-np-complete-problems
- www.cs.virginia.edu/~robins/The_Limits_of_Quantum_Computers.pdf by Scott Aaronson
- cs.stackexchange.com/questions/130470/can-quantum-computing-help-solve-np-complete-problems
- www.quora.com/How-can-quantum-computing-help-to-solve-NP-hard-problems
Based on the fact that we don't have a P algorithm for integer factorization as of 2020. But nor proof that one does not exist!
The private key is made of two randomly generated prime numbers: and . How such large primes are found: how large primes are found for RSA.
The public key is made of:
n = p*q
- a randomly chosen integer exponent between
1
ande_max = lcm(p -1, q -1)
, wherelcm
is the Least common multiple
Given a plaintext message This operation is called modular exponentiation can be calculated efficiently with the Extended Euclidean algorithm.
m
, the encrypted ciphertext version is:c = m^e mod n
The inverse operation of finding the private
m
from the public c
, e
and is however believed to be a hard problem without knowing the factors of n
.However, if we know the private
p
and q
, we can solve the problem. As follows.First we calculate the modular multiplicative inverse. TODO continue.
Bibliography:
- www.comparitech.com/blog/information-security/rsa-encryption/ has a numeric example