Kryptografia krzywych eliptycznych (ECC)

ECC opisuje zestaw współczesnych algorytmów asymetrycznych.

Charakterystyka ECC

  • Względnie wysoka wydajność obliczeniowa
  • Krótkie klucze w porównaniu do RSA
  • Wysokie bezpieczeństwo

Krzywa eliptyczna

W kryptografii stosujemy postać Weierstrassa

Materiały wyjaśniające

Schemat działania

  1. Wybieramy dużą liczbę pierwszą p (tu przykład )
  2. Dla wybranych parametrów krzywej eliptycznej a i b definiujemy skończone ciało p punktów leżących na krzywej
  3. Każdy punkt w wybranym ciele ma całkowite x i y z zakresu od 0 do p-1
  4. Działania na elementach tego ciała realizowane są w arytmetyce modulo p
  5. Tworzymy krzywą oraz nałożone na nią skończone ciało składające się z punktów o współrzędnych całkowitych

  1. Wybieramy punkt w zaprojektowanym ciele (tzw. generator)
  2. Wybieramy liczbę całkowitą d z zakresu .
  3. Obliczamy - będzie to również punkt w ciele
  4. Wyróżniamy klucz prywatny oraz publiczny

Szyfrowanie

  1. Alice chce przesłać bezpiecznie wiadomość (W), którą reprezentuje jako punkt na krzywej.
  1. Alice losuje tymczasowy klucz (k) i oblicza dwa punkty: (C_1 = kG), który jest punktem dołączonym do zaszyfrowanej wiadomości, oraz (C_2 = W + kP), gdzie (W) to wiadomość reprezentowana jako punkt na krzywej, a (kP) to mnożenie klucza publicznego odbiorcy (P) przez losowy skalar (k).
  2. Zaszyfrowana wiadomość to para ((C_1, C_2)).

Deszyfrowanie

  1. Odbiorca (Bob) otrzymuje zaszyfrowaną wiadomość ((C_1, C_2)) oraz zna swój klucz prywatny (d) i oblicza (C_1’ = dC_1).

  2. Bob, mając (C_1’) (który jest równy (kdG)), może odwrócić działanie zastosowane przez Alice, obliczając (W = C_2 - C_1’). Odejmuje (kdG) od (C_2), ponieważ (kdG) był użyty przez Alice do „przesunięcia” wiadomości (W) na krzywej, a Bob może takie przesunięcie odwrócić.

  3. Rezultatem jest otryzmywanie punktu, który odpowiada oryginalnej wiadomości (W) - Bob pomyślnie deszyfrował wiadomość.

#it#pk