kvantemigrasjon.no

Grunnleggende

Shors algoritme og Grovers algoritme

De to kvantealgoritmene som avgjør hva som må byttes ut, og hva som kan beholdes.

Sist oppdatert

Hvorfor kryptografi bygger på «vanskelige» problemer

Mye av moderne kryptografi bygger på at et matematisk problem er lett å sette opp men vanskelig å løse uten en hemmelighet. For RSA er det å gange to store primtall (lett) mot å finne dem igjen fra produktet (vanskelig). For Diffie–Hellman og elliptiske kurver er det diskrete logaritmeproblemet. De beste klassiske algoritmene bruker tid som vokser raskt med nøkkelstørrelsen, derfor er 2048-bits RSA trygt i dag.

Hva Shors algoritme gjør

Shors algoritme, publisert av Peter Shor i 1994, viser at begge problemene kan løses effektivt på en kvantedatamaskin. Intuisjonen er at begge kan omformes til å finne perioden i en repeterende funksjon. Kvantedatamaskiner er særlig gode på det, fordi de kan sette et register i en superposisjon av mange verdier og bruke den kvantemekaniske Fouriertransformasjonen til å lese av perioden. Fra perioden kan man regne seg tilbake til primtallsfaktorene eller den hemmelige eksponenten med vanlig tallteori.

Konsekvensen er at tiden for å bryte nøkkelen øker polynomisk, ikke eksponentielt, med nøkkelstørrelsen. Å doble RSA-nøkkelen gjør derfor ikke angrepet vesentlig vanskeligere.

Hva som rammes

Shors algoritme mot vanlige algoritmer
AlgoritmeMatematisk problemBrytes?
RSAFaktoriseringJa
Diffie–Hellman (DH)Diskret logaritmeJa
ECDH, ECDSA, X25519, Ed25519Diskret logaritme på elliptiske kurverJa
DSA, ElGamalDiskret logaritmeJa

Elliptiske kurver krever faktisk færre qubits å bryte enn RSA med tilsvarende sikkerhet i dag. De kortere nøklene som gjør dem effektive, gjør dem altså også til det første målet.

Grovers algoritme: en mindre trussel

Lov Grover viste i 1996 at en kvantedatamaskin kan søke i en usortert samling med N elementer på omtrent √N steg, mot N steg klassisk. Mot et kryptografisk søk betyr det at en nøkkel med n bits sikkerhet effektivt blir til omtrent n/2 bits. AES-128 får da i teorien rundt 64 bits kvantesikkerhet.

I praksis er trusselen svakere enn det høres ut. Grovers algoritme lar seg dårlig parallellisere, og hvert steg krever en dyr, feilrettet kvanteberegning av AES. Likevel anbefaler mange myndigheter 256-bits nøkler for symmetrisk kryptering som en enkel ekstra margin.

Shor mot Grover
Shors algoritmeGrovers algoritme
HastighetsgevinstEksponentiell (polynomisk tid)Kvadratisk
RammerRSA, DH, elliptiske kurverSymmetriske nøkler, hashfunksjoner
LøsningBytt til post-kvante-algoritmerBruk 256-bits nøkler og hash med minst 256 bits utdata

Hvor stor må kvantedatamaskinen være?

Å kjøre Shors algoritme mot en 2048-bits RSA-nøkkel krever ikke bare mange qubits, men qubits som er så feilfrie at beregningen kan kjøre i timer eller dager. Fysiske qubits er svært feilutsatte, så man må sette sammen mange av dem til ett logisk qubit ved hjelp av feilrettende koder. Anslagene har gått kraftig ned over tid:

Dagens største maskiner har noen hundre til noen tusen fysiske qubits, så gapet er fortsatt stort. Les mer i Når kommer kvantedatamaskinen?

Vanlige misforståelser

Vanlige spørsmål

Hvem oppfant Shors algoritme?

Matematikeren Peter Shor publiserte algoritmen i 1994, mens han arbeidet ved Bell Labs.

Kan Shors algoritme bryte Bitcoin?

Bitcoin bruker elliptiske kurver (ECDSA og Schnorr) for signaturer, som Shors algoritme kan bryte. Derfor diskuteres post-kvante-signaturer også i kryptovaluta-miljøene. Selve SHA-256 som brukes i utvinning er i liten grad truet.

Hva er forskjellen på fysiske og logiske qubits?

Et fysisk qubit er maskinvare med feil. Et logisk qubit er satt sammen av mange fysiske qubits med feilretting og oppfører seg som et nesten feilfritt qubit. Kryptoangrep krever logiske qubits.