RSA and integer factoring

RSA signature

In textbook RSA, only with a private key \(d\) can we generate a signature

\[\sigma \leftarrow m^{d}\equiv m \pmod{N}\]

but anyone with the public key \((e,N)\) can verify that

\[\sigma^e \equiv m \pmod{N}\]

The keys are constructed from two random prime numbers \(p,q\) such that

\[de\equiv 1 \pmod{\phi(N)}\]

where \(\phi(N)=(p-1)(q-1)\) is Euler’s totient function for such \(N\).

Warning

Anyone gaining knowledge of \(p\) or \(q\) can recover the private key \(d\) by computing either \(\gcd(p,N)\) or \(\gcd(q,N)\).

Details
There are plenty of ways to attack RSA in special cases. Even knowing \(\phi(N)\) allows computing \(e^{-1} \mod \phi(N)\). The above simplification is most relevant for our purpose here.

Important

The most efficient classical algorithm to factorize an \(N\) of length \(b\) bits, the GNFS, has complexity approximately

\[e ^ {3 b^{1/3} \cdot (\log b)^{2/3}}\]

A 3072-bit RSA public key provides \(\approx 128\) bits of security against a classical computer. [BGGHTZ_22]

Warning

Shor’s algorithm to factorize an \(N\) of length \(b\) bits has complexity approximately

\[b^3\]

. A 3072-bit RSA public key would provide \(\approx 34\) bits of security against a quantum computer running Shor’s algorithm. More recent estimates suggest it is possible to reach an efficiency closer to \(b^2\).

RSA and Shor’s algorithm

Note

Finding the period of the function \(a^k \mod N\) allows recovering the factors of \(N\).

Order of group elements

The order of a group element \(x\) is the smallest integer \(k\) for which \(a^k \equiv 1 \mod N\).

If no such \(k\) exists, the element is said to have infinite order. If it does, the subset \({a^j} \subseteq G\) is a subgroup of G generated by a, and its order is \(k\).

The order of every group element is a divisor of the number of group elements.

The order of the group \(G\) is the number of group elements in \(G\).

Lagrange’s theorem: the order of any subgroups of G is a divisor of the order of G itself.

Important

If \(x\) is a non-trivial solution to \(x^2-1\equiv 0 \pmod{N}\), then \((x\pm 1)\mid N\).

Warning

The factors of \(N\) can be efficiently recovered by \(\gcd(N,x\pm 1)\).

Consider the solutions to

\[ \begin{align} x^2 & \equiv 1 \pmod{N} \\ x^2 - 1^2 & = 0 \pmod{N} \\ (x+1)(x-1) & = 0 \pmod{N} \\ N & \mid (x+1)(x-1) \end{align} \]

\({1,-1}\) are solutions for any \(N\). There will be other solutions \(\neq \pm 1\) when \((x+1)(x-1)\) is divided by \(p\) or \(q\).

Example
Suppose \(p=3, q=7, N=21\). Non-trivial solutions are \({8,-8\equiv 13}\), for which \(\gcd(\pm x_i,N)={3,7}\) respectively.

Can’t we just use bigger keys?

No. Quantum algorithms for this particular problem scale much better than their classical best equivalent – polynomial (\(\approx n^2\)) vs. sub-exponential (\(e ^ {3 b^{1/3} \cdot (\log b)^{2/3}}\)), respectively. To keep using RSA with acceptable levels of securitty, we would have to increase public key sizes to terabytes. Scaling of GNFS vs quantum algorithms

Last updated on