Shor's algorithm (tsz. Shor's algorithms)
Shor algoritmusa egy kvantumalgoritmus, amelyet Peter Shor fejlesztett ki 1994-ben. Ez az algoritmus képes polinomiális időben faktorizálni nagy egész számokat – vagyis megtalálni egy szám prímtényezőit sokkal gyorsabban, mint a legjobb ismert klasszikus algoritmusok. Ennek óriási jelentősége van a kriptográfiában, különösen az olyan rendszerek esetében, mint az RSA, amelyek biztonsága a faktorizálás nehézségére épül.
A prímtényezőkre bontás (integer factorization) problémája:
Adott egy nagy egész szám , találj két nem triviális osztót (azaz ), amelyek szorzata .
Példa: → megoldás: 3 és 5
A klasszikus algoritmusok ezt nagyon lassan oldják meg nagy számok esetén – exponenciális időben.
Shor algoritmusa viszont kvantumszámítógépen képes ezt polinomiális idő alatt elvégezni!
Véletlenszerű választás: Válassz egy véletlen számot , ahol
Legnagyobb közös osztó: Ha , már meg is van egy osztó!
Perióduskeresés (kvantum): Találd meg a legkisebb számot, amire:
Ez a lépés a kvantum része az algoritmusnak, kvantum-Fourier-transzformációval valósul meg.
Faktorizálás: Ha páros, és , akkor:
egy nem triviális osztója -nek.
Válasszuk
Keressük -t, hogy
Mivel páros, és , akkor:
→ Osztók: 3 és 5 ✅
Klasszikusan: legjobb ismert módszer pl. GNFS → szuperpolinomiális idő
Shor algoritmusával (kvantum):
Ez exponenciális gyorsulás a klasszikushoz képest.
A RSA titkosítás a faktorizálás nehézségére épül. Ha lenne elérhető kvantumszámítógép, amely képes futtatni Shor algoritmusát nagy számokra, akkor:
A Shor algoritmus kis számokra szimulálható IBM Qiskit, Microsoft Q#, vagy más kvantumszimulátor segítségével.
from qiskit.algorithms import Shor
from qiskit.primitives import Sampler
from qiskit.utils import QuantumInstance
from qiskit import Aer
shor = Shor()
result = shor.factor(N=15)
print(result.factors)
Szempont | Állapot |
---|---|
Elmélet | Bizonyított, korrekt algoritmus |
Gyakorlati használat | Csak kis számokra (15, 21) |
Korlátozó tényező | Kevés kvantumbit, kvantumzaj |
Jövőbeni veszély | Nagy számú qubit esetén → komoly kriptográfiai kockázat |
Tulajdonság | Érték |
---|---|
Algoritmus neve | Shor’s algorithm |
Probléma típusa | Egész szám faktorizálás |
Hagyományos idő | Szuperpolinomiális |
Kvantumos idő | Polinomiális |
Kritikus hatás | RSA, kriptográfia megtörése |
Állapot | Kísérleti / kvantum-szimulátorral működő |