Cryptology Academy · Lekcja

Prawo grupy krzywej eliptycznej

Zwizualizować dodawanie i podwajanie punktów na krzywych Weierstrassa

Lekcja 1 z 413 kroki

Prawo grupy krzywej eliptycznej to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Wprowadzenie

Krzywe eliptyczne tworzą grupę matematyczną, w której problem „logarytmu dyskretnego” jest trudniejszy niż w ciałach skończonych. Dzięki temu można używać mniejszych kluczy przy zachowaniu równoważnego poziomu bezpieczeństwa.

Krótka postać Weierstrassa

Eliptyczna krzywa Weierstrassa: y² = x³ + ax + b (mod p) Warunek: 4a³ + 27b² ≠ 0 (nieosobliwa) Zbiór wszystkich par (x,y) spełniających to równanie wraz z „punktem w nieskończoności” tworzy grupę.

Parametry krzywej P-256

NIST P-256 (secp256r1): p = 2^256 - 2^224 + 2^192 + 2^96 - 1 (liczba pierwsza) a = p-3 b = 41058363725152142129326129780047268409114441015993725554835256314039467401291 Punkt bazowy G o rzędzie n ≈ 2^256

Dodawanie punktów: dwa różne punkty

P + Q (P ≠ Q): 1. nachylenie λ = (Qy - Py) / (Qx - Px) mod p 2. x3 = λ² - Px - Qx mod p 3. y3 = λ(Px - x3) - Py mod p 4. Wynik: R = (x3, y3)

Podwajanie punktu: P + P

P + P = 2P: 1. λ = (3Px² + a) / (2Py) mod p 2. x3 = λ² - 2Px mod p 3. y3 = λ(Px - x3) - Py mod p 4. Dzielenie = mnożenie przez odwrotność modularną

Punkt w nieskończoności (element neutralny)

„Punkt w nieskończoności” O jest elementem neutralnym: P + O = P dla każdego P. Dodanie do P jego elementu przeciwnego -P = (x, -y) daje O. Każdy punkt na krzywej ma element przeciwny.

Interpretacja geometryczna

Dodawanie punktów: proszę poprowadzić prostą przez P i Q; przetnie ona krzywą w trzecim punkcie; odbicie względem osi x daje P+Q. Podwajanie punktu: proszę poprowadzić styczną w punkcie P, znaleźć punkt przecięcia i wykonać odbicie.

Rząd grupy

Rząd grupy |E| to liczba punktów na krzywej, włącznie z O. Twierdzenie Hassego: |p+1-2√p| ≤ |E| ≤ p+1+2√p. Dla P-256 mamy n ≈ 2^256 — ogromną grupę o strukturze podgrup.

Kofaktor

Kofaktor h = |E| / n. Dla P-256: h=1 (punkt bazowy generuje całą grupę). Dla Curve25519: h=8. Mały kofaktor umożliwia ataki na małe podgrupy — problem ten rozwiązuje mnożenie przez kofaktor w X25519.

Dlaczego grupy EC są wyjątkowe

W grupach Z*p algorytmy rachunku indeksów rozwiązują DLP w czasie podwykładniczym. Dla grup EC nad ciałami pierwszymi nie jest znany żaden algorytm podwykładniczy dla krzywych ogólnych. Dlatego 256-bitowe EC ≈ 3072-bitowe RSA.

Kompresja punktu

Punkt EC (x,y) można przechowywać jako samo x + 1 bit parzystości. Odtworzenie y: y² = x³+ax+b mod p → y = √(x³+ax+b) mod p. Istnieją dwa rozwiązania — bit parzystości wybiera właściwe. Zmniejsza to o połowę rozmiar transmisji.

Szybkie sprawdzenie

Jaki jest element neutralny grupy krzywej eliptycznej?

Podsumowanie

Prawo grupowe EC jest już jasne. Następnie omówimy mnożenie skalarne i ECDLP — trudny problem, na którym opierają się bezpieczeństwo ECDH i ECDSA.
Bezpłatny start

Ucz się Cryptology Academy dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
67
Lekcje
261

Często zadawane pytania

Czy lekcja „Prawo grupy krzywej eliptycznej” jest bezpłatna?

Tak — pełny tekst „Prawo grupy krzywej eliptycznej” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Prawo grupy krzywej eliptycznej”?

Zwizualizować dodawanie i podwajanie punktów na krzywych Weierstrassa Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?

Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Prawo grupy krzywej eliptycznej”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?

Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Prawo grupy krzywej eliptycznej
  2. Mnożenie skalarne i ECDLP
  3. Standardowe krzywe: P-256, Curve25519 i secp256k1
  4. ECC a RSA: kompromisy między bezpieczeństwem a wydajnością
← Powrót do Cryptology Academy