ECDLP

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 26. januar 2015; checks kræver 13 redigeringer .

ECDLP (Elliptic Curve Discrete Logaritm Problem)  er et diskret logaritmeproblem i en gruppe af punkter i en elliptisk kurve .

Lad en elliptisk kurve E, et endeligt felt F p og punkterne P, Q ∈ E(F p ) være givet. ECDLP's opgave er at finde sådan k, hvis den findes, at Q = [k]P.

Definitioner

En elliptisk kurve E over et begrænset felt F p er en kurve med formen (Weierstrass-form):

, hvor a, b ∈ F p .

Sættet af punkter på en elliptisk kurve i feltet F p , inklusive punktet "uendelighed" (betegnet som Ο), danner en endelig abelian gruppe og betegnes som E(F p ) .

Et punkt Q ∈E (F p ) kaldes et omvendt punkt til P ∈ E(F p ), hvis P + Q = Ο og betegnes som Q = -P .

For et naturligt tal n og P ∈ E(F p ) antager vi:

Notationerne [n]P og nP er ækvivalente. Definitionen kan udvides til et hvilket som helst heltal n ved at bruge -P.

Rækkefølgen af ​​en gruppe af punkter er tallet N lig med kardinalitet af mængden E(F p ) og betegnes som |E(F p )| =N . Normalt i elliptisk kryptografi tages kurver således, at N = h * l, hvor h = 1, 2 eller 4, og l er et stort primtal.

Rækkefølgen af ​​et punkt P ∈ E(Fp) er det minimale tal s, således at [s]P = Ο. I dette tilfælde dannes en undergruppe, og punktet P kaldes en generator .

Løsningsalgoritmer

Fuld opregning

Det er det enkleste angreb at implementere. Det er kun nødvendigt at kunne udføre operationen R = [k]P.

Algoritme
  1. hvis , så  - beslutning
  2. andet ; gå til [2].

Algoritmekompleksitet: Ο(N).

Polig-Hellman algoritme

Beskrivelse

Lad G være en undergruppe af E(F p ), (det vil sige, det antages, at tallet N kan faktoriseres), og .

Vi vil løse problemet med at finde k modulo , så vil vi ved hjælp af den kinesiske restsætning finde løsningen k modulo N.

Det er kendt fra gruppeteorien, at der er en gruppeisomorfi:

hvor  er en cyklisk undergruppe af G,

Derefter projektionen på :

Derfor, i .

Lad os vise, hvordan man løser problemet i , reducere det til at løse ECDLP i .

Lad og .

Tallet er defineret modulo . Så kan k skrives på følgende måde:

Lad os finde værdierne ved induktion. Antag, at vi kender  - værdien , det vil sige

Nu vil vi bestemme og dermed beregne :

Så .

Lad og så

Nu  - ordenselementet , for at opnå ordenselementet og derfor for at reducere problemet til det er det nødvendigt at gange det foregående udtryk med . At.

og

Modtog ECDLP i feltet som .

Forudsat at dette problem kan løses i , finder vi løsningen i . Ved at bruge den kinesiske restsætning får vi ECDLP-løsningen i .

Som nævnt ovenfor tages elliptiske kurver i praksis sådan, at , hvor  er et meget stort primtal, hvilket gør denne metode ineffektiv.

Eksempel

Trin 1. Find

  • Vi finder fremskrivningerne af punkter på :
  • Vi bestemmer

Trin 2. Find

  • Vi finder fremskrivningerne af punkter på :
  • Vi bestemmer
Bemærk det da

Trin 3. Find

  • Vi finder fremskrivningerne af punkter på :
  • Vi bestemmer

Trin 4. Find

  • Fra den kinesiske restsætning for værdierne opnået i de foregående trin 1-3, har vi det

Shanks' algoritme (Baby-Step/Giant-Step-metoden)

Beskrivelse

Lade være  en cyklisk undergruppe af .

Lad os sætte det i formen:

Siden da .

Vi beregner listen over "små skridt" og gemmer parrene .

Beregningernes kompleksitet: .

Nu beregner vi de "store skridt". Lad os finde .

Under søgningen forsøger vi at finde blandt de gemte par sådan, at . Hvis det var muligt at finde sådan et par, så .

Eller, som er det samme:

.

Kompleksiteten af ​​beregninger af "store trin": .

I dette tilfælde er den overordnede kompleksitet af metoden , men kræver også hukommelse til lagring, hvilket er en væsentlig ulempe ved algoritmen.

Algoritme
  1. Gemme
  2. check- in liste [2]

Pollards ρ-metode

Beskrivelse

Lade være  en cyklisk undergruppe af .

Hovedideen med metoden er at finde forskellige par og modulo sådan, at .

Så eller . Derfor ,.

For at implementere denne idé vælger vi en tilfældig funktion for iterationer og et tilfældigt punkt for at starte gennemgangen. Det næste punkt beregnes som .

Da  er endeligt, er der indekser sådan, at .

Så .

Faktisk for .

Derefter er rækkefølgen  periodisk med en periode (se figur).

Da f er en tilfældig funktion, vil sammenfaldet ifølge fødselsdagsparadokset ske efter ca. iterationer. For at fremskynde søgningen efter kollisioner bruges en metode opfundet af Floyd til at finde cykluslængden: et par værdier beregnes på én gang, indtil en match er fundet.

Algoritme
  1. Initialisering. Vælg antallet af grene L (normalt tages 16) Vælg funktion
  2. Beregning . Tag tilfældigt
  3. Beregning . Tag tilfældigt
  4. Forberedelse til en cyklus.
  5. Cyklus.
  6. Afslut. FEJL eller kør algoritmen igen.

Algoritmens kompleksitet: .

Eksempel

Trin 1. Definer funktionen.

Trin 2. Gentagelser.

Trin 3 Kollisionsdetektion

  • kl .:
  • Det forstår vi

Litteratur

Bolotov, A. A., Gashkov, S. B., Frolov, A. B., Chasovskikh, A. A. En elementær introduktion til elliptisk kryptografi: algebraiske og algoritmiske grundlag. - M .: KomKniga, 2006. - S. 328. - ISBN 5-484-00443-8 .

Bolotov, A. A., Gashkov, S. B., Frolov, A. B., Chasovskikh, A. A. En elementær introduktion til elliptisk kryptografi: elliptisk kurvekryptografiprotokoller. - M .: KomKniga, 2006. - S. 280. - ISBN 5-484-00444-6 .

Galbraith, SD, Smart, NP EVALUERINGSRAPPORT FOR CRYPTREC: SIKKERHEDSNIVEAU FOR KRYPTOGRAFI - ECDLP MATEMATISK PROBLEM.

Sangen Y. Yan Kvanteangreb på ECDLP-baserede kryptosystemer. - Springer USA, 2013 - ISBN 978-1-4419-7721-2