ECDLP

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 26. ledna 2015; kontroly vyžadují 13 úprav .

ECDLP (Elliptic Curve Discrete Logarithm Problem)  je problém diskrétního logaritmu ve skupině bodů eliptické křivky .

Nechť je dána eliptická křivka E, konečné pole F p a body P, Q ∈ E(F p ). Úkolem ECDLP je najít takové k, pokud existuje, že Q = [k]P.

Definice

Eliptická křivka E nad konečným polem F p je křivka tvaru (Weierstrassova forma):

, kde a, b ∈ F p .

Množina bodů na eliptické křivce v poli F p , včetně bodu "nekonečno" (označeno Ο), tvoří konečnou abelovskou grupu a označíme ji E(F p ) .

Bod Q ∈E (F p ) se nazývá inverzní bod k P ∈ E(F p ), pokud P + Q = Ο a je označen jako Q = -P .

Pro přirozené číslo n a P ∈ E(F p ) předpokládáme:

Označení [n]P a nP jsou ekvivalentní. Definici lze rozšířit na libovolné celé číslo n pomocí -P.

Řád skupiny bodů je číslo N rovné kardinalitě množiny E(F p ) a značí se |E(F p )| =N . Obvykle v eliptické kryptografii se křivky berou tak, že N = h * l, kde h = 1, 2 nebo 4 a l je velké prvočíslo.

Řád bodu P ∈ E(Fp) je minimální číslo s takové, že [s]P = Ο. V tomto případě se vytvoří podskupina a bod P se nazývá generátor .

Algoritmy řešení

Úplný výčet

Je to nejjednodušší útok na implementaci. Je pouze nutné umět provést operaci R = [k]P.

Algoritmus
  1. pokud , tak  - rozhodnutí
  2. jinak ; přejděte na [2].

Složitost algoritmu: Ο(N).

Polig-Hellmanův algoritmus

Popis

Nechť G je podgrupa E(F p ), (to znamená, že se předpokládá, že číslo N lze faktorizovat) a .

Vyřešíme problém nalezení k modulo , pak pomocí čínské věty o zbytku najdeme řešení k modulo N.

Z teorie grup je známo, že existuje skupinový izomorfismus:

kde  je cyklická podgrupa G,

Poté projekce na :

Proto v .

Ukážeme si, jak problém vyřešit v , redukujeme jej na řešení ECDLP v .

Nechte a .

Číslo je definováno modulo . Potom k lze napsat v následujícím tvaru:

Pojďme najít hodnoty indukcí. Předpokládejme, že víme  - hodnotu , tzn

Nyní chceme určit a tedy vypočítat :

Pak .

Nechte a pak

Nyní  - prvek řádu , k získání prvku řádu a tedy k redukci problému na je nutné vynásobit předchozí výraz číslem . Že.

a

Přijato ECDLP v terénu jako .

Za předpokladu, že tento problém lze vyřešit v , najdeme řešení v . Pomocí čínské věty o zbytku získáme řešení ECDLP v .

Jak bylo uvedeno výše, v praxi se eliptické křivky berou tak, že , kde  je velmi velké prvočíslo, což činí tuto metodu neúčinnou.

Příklad

Krok 1. Najděte

  • Najdeme projekce bodů na :
  • rozhodujeme se

Krok 2. Najděte

  • Najdeme projekce bodů na :
  • rozhodujeme se
Všimněte si toho

Krok 3. Najděte

  • Najdeme projekce bodů na :
  • rozhodujeme se

Krok 4. Najděte

  • Z čínské věty o zbytku pro hodnoty získané v předchozích krocích 1-3 to máme

Shanksův algoritmus (metoda Baby-Step/Giant-Step)

Popis

Dovolit být  cyklická podskupina .

Uveďme to ve tvaru:

Od té doby .

Vypočítáme seznam "malých kroků" a uložíme dvojice .

Složitost výpočtů: .

Nyní vypočítáme „velké kroky“. Pojďme najít . _

Během hledání se snažíme najít mezi uloženými dvojicemi takové, že . Pokud by bylo možné takový pár najít, pak .

Nebo, což je totéž:

.

Složitost výpočtů "velkých kroků": .

V tomto případě je celková složitost metody , ale také vyžaduje paměť pro ukládání, což je značná nevýhoda algoritmu.

Algoritmus
  1. Uložit
  2. check -in seznam [2]

Pollardova ρ-metoda

Popis

Dovolit být  cyklická podskupina .

Hlavní myšlenkou metody je najít odlišné páry a modulo tak, aby .

Potom nebo . Proto, .

K realizaci této myšlenky zvolíme náhodnou funkci pro iterace a náhodný bod pro zahájení procházení. Další bod se vypočítá jako .

Protože  je konečný, existují takové indexy , že .

Pak .

Vlastně pro .

Potom je sekvence  periodická s tečkou (viz obrázek).

Vzhledem k tomu, že f je náhodná funkce, podle narozeninového paradoxu se náhoda stane přibližně po iteracích. Pro urychlení hledání kolizí se používá metoda vynalezená společností Floyd k nalezení délky cyklu: dvojice hodnot se vypočítá najednou, dokud není nalezena shoda.

Algoritmus
  1. Inicializace. Vyberte počet poboček L (obvykle se bere 16) Vyberte funkci
  2. Výpočet . Vezměte náhodně
  3. Výpočet . Vezměte náhodně
  4. Příprava na cyklus.
  5. Cyklus.
  6. Výstup. CHYBA nebo spusťte algoritmus znovu.

Složitost algoritmu: .

Příklad

Krok 1. Definujte funkci.

Krok 2. Iterace.

Krok 3 Detekce kolize

  • v :
  • Chápeme to

Literatura

Bolotov, A. A., Gashkov, S. B., Frolov, A. B., Chasovskikh, A. A. Základní úvod do eliptické kryptografie: Algebraické a algoritmické základy. - M .: KomKniga, 2006. - S. 328. - ISBN 5-484-00443-8 .

Bolotov, A. A., Gashkov, S. B., Frolov, A. B., Chasovskikh, A. A. Elementary Introduction to eliptic cryptography: Elliptic curve cryptography protocols. - M .: KomKniga, 2006. - S. 280. - ISBN 5-484-00444-6 .

Galbraith, SD, Smart, NP HODNOCENÍ ZPRÁVA PRO CRYPTREC: BEZPEČNOSTNÍ ÚROVEŇ KRYPTOGRAFIE - MATEMATICKÝ PROBLÉM ECDLP.

Song Y. Yan Quantum Attacks on ECDLP-based Cryptosystems. – Springer USA, 2013 – ISBN 978-1-4419-7721-2