Strona główna Kryptografia Kryptografia krzywych eliptycznych

📈 Kryptografia krzywych eliptycznych

Zobacz dodawanie punktów na krzywej eliptycznej nad ciałem liczb rzeczywistych. Przekonaj się, jak mnożenie skalarne tworzy parę kluczy i dlaczego jego odwrócenie jest tak trudne.

Kryptografia2DŚredni60 FPS
elliptic-curve ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O kryptografii krzywych eliptycznych

Ta symulacja wizualizuje prawo grupowe na krzywej eliptycznej postaci y² = x³ + ax + b nad liczbami rzeczywistymi. Gdy dodajesz dwa punkty P i Q, przez oba prowadzona jest prosta cięciwa; przecina ona krzywą w trzecim punkcie, który jest następnie odbijany względem osi x, dając P+Q. Podwojenie punktu (P+P) wykorzystuje zamiast tego styczną. Mnożenie skalarne k·P łańcuchowo powtarza tę operację k razy, a wynikowy punkt skacze w sposób nieprzewidywalny po krzywej.

Ta nieprzewidywalność jest sercem kryptografii krzywych eliptycznych. Podczas gdy obliczenie k·P na podstawie k i P jest szybkie, odzyskanie k na podstawie P i k·P — problem logarytmu dyskretnego na krzywej eliptycznej — uważa się za wymagające czasu wykładniczego, co czyni tę operację jednokierunkową pułapką. ECC leży u podstaw TLS/HTTPS, SSH, Signal oraz krzywej secp256k1, która zabezpiecza Bitcoina i Ethereum, zapewniając bezpieczeństwo na poziomie RSA przy znacznie mniejszych kluczach.

Najczęściej zadawane pytania

Czym jest dodawanie punktów na krzywej eliptycznej?

Mając dwa punkty P i Q na krzywej, prowadzi się przez nie linię, znajduje trzeci punkt, w którym ta linia przecina krzywą, i odbija go względem osi x. Odbity punkt definiuje się jako P+Q. Ta geometryczna reguła zamienia punkty krzywej w strukturę matematyczną zwaną grupą.

Czym jest mnożenie skalarne k·P i dlaczego ma znaczenie?

Mnożenie skalarne dodaje punkt P do samego siebie k razy. To podstawowa operacja ECC: klucz prywatny to skalar k, a klucz publiczny to punkt k·P. Łatwo obliczyć to w przód, ale niezwykle trudno odwrócić.

Dlaczego kryptografia krzywych eliptycznych jest uważana za bezpieczną?

Jej bezpieczeństwo opiera się na problemie logarytmu dyskretnego na krzywej eliptycznej: odzyskaniu skalara k na podstawie punktów P i k·P. Nie jest znany żaden efektywny algorytm klasyczny, więc dla dobrze dobranych krzywych najlepsze ataki wymagają czasu wykładniczego względem rozmiaru klucza.

Co oznacza podwojenie punktu?

Podwojenie to dodanie punktu do samego siebie, P+P. Ponieważ nie da się poprowadzić cięciwy przez pojedynczy punkt, wykorzystuje się styczną do krzywej w P, znajduje miejsce, w którym ponownie przecina krzywą, i odbija ten punkt względem osi x.

Czym jest „punkt w nieskończoności”?

To element neutralny grupy krzywej, działający jak zero w zwykłym dodawaniu. Gdy dodajesz punkt P do jego lustrzanego odbicia −P, cięciwa jest pionowa i przecina krzywą „w nieskończoności”, dając element neutralny. Symulacja zgłasza to jako „Punkt w ∞”.

Dlaczego krzywa musi być nieosobliwa?

Prawo grupowe działa tylko wtedy, gdy krzywa nie ma ostrzy ani samoprzecięć. Wymaga to, aby wyróżnik −16(4a³ + 27b²) był różny od zera, co gwarantuje gładkie, dobrze zdefiniowane styczne i cięciwy wszędzie.

Czym ECC różni się od RSA?

Oba są systemami klucza publicznego, ale ECC osiąga równoważne bezpieczeństwo przy znacznie mniejszych kluczach. Klucz krzywej eliptycznej o długości 256 bitów oferuje mniej więcej taką samą siłę jak klucz RSA o długości 3072 bitów, dając szybsze operacje i mniejsze zużycie przepustowości.

Jakiej krzywej używa Bitcoin?

Bitcoin i Ethereum wykorzystują secp256k1, zdefiniowaną jako y² = x³ + 7 nad 256-bitowym ciałem pierwszym. Każdy adres portfela wywodzi się z klucza publicznego będącego wielokrotnością skalarną stałego punktu generującego tej krzywej.

Dlaczego symulacja używa liczb rzeczywistych zamiast ciała skończonego?

Liczby rzeczywiste pozwalają narysować krzywą jako gładki, intuicyjny obraz, dzięki czemu widać geometrię cięciw i stycznych. Produkcyjna kryptografia wykorzystuje tę samą algebrę nad dużym ciałem skończonym, gdzie punkty tworzą zbiór dyskretny, którego nie da się przedstawić jako ciągłej krzywej.

Czy komputery kwantowe mogą złamać ECC?

W zasadzie tak — algorytm Shora mógłby rozwiązać problem logarytmu dyskretnego na krzywej eliptycznej na wystarczająco dużym, odpornym na błędy komputerze kwantowym. To ryzyko napędza rozwój postkwantowych schematów kryptograficznych, choć obecnie taka maszyna nie istnieje.

Podobne symulacje