Podstawowe zasady ECDSA
Matematyczne i algorytmiczne działanie ECDSA jest dość złożone. Na początek, ECDSA opiera swoje działanie na równaniu matematycznym, które rysuje krzywą. Ogólnie rzecz biorąc, proces ten wyglądałby następująco:
naciśnij tutaj aby bezpłatnie i bezpiecznie założyć konto użytkownika w języku hiszpańskim i otrzymać prezent o wartości 15 €.
Ealgorytm ECDSA Działa poprzez mechanizm kryptografia zwany, kryptografia asymetryczny. Ten system podpisywania generuje dwa klucze zwane kluczem prywatnym i klucz publicznyOba klucze są powiązane za pomocą skomplikowanej operacji matematycznej wykonywanej na funkcji krzywej eliptycznej.
W ramach tego systemu operacyjnego ECDSA gwarantuje w pierwszej kolejności:
- Unikalne i niepowtarzalne podpisy dla każdego zestawu generacji klucze prywatne i publiczne.
- Praktyczna niemożność podrobienia podpisów cyfrowych. Wynika to z faktu, że wymagana do tego moc obliczeniowa przekracza obecne możliwości.
Dzięki tym dwóm cechom ECDSA jest uważana za bezpieczny standard wdrażania systemów podpisu cyfrowego. Ich dzisiejsze zastosowanie jest tak różnorodne, że znajdują zastosowanie w niemal każdej dziedzinie informatyki, na przykład w infrastrukturze certyfikatów bezpieczeństwa. SSL y TLS Internet szeroko wykorzystuje ECDSA. Bitcoin, prekursor technologii blockchain, również wykorzystuje ECDSA, aby osiągnąć charakterystyczny dla siebie wysoki poziom bezpieczeństwa.
Na tej krzywej losowo wybiera się punkt, który uważa się za jej punkt początkowy.
Następnie generowana jest liczba losowa; to właśnie ta liczba losowa będzie nazywana kluczem prywatnym.

Następnie, używając klucza prywatnego i punktu początkowego, wykonujesz kolejne równanie i uzyskujesz drugi punkt na krzywej; to jest Twój klucz publiczny. To właśnie użycie tego nowego równania, wraz z punktem początkowym i kluczem publicznym, pozwala na ustalenie relacji między kluczem publicznym a prywatnym.
Proces ten jest uważany za bezpieczny, ponieważ na razie działa tylko w jedną stronę. Oznacza to, że możliwe jest jedynie ustalenie relacji matematycznej między kluczem prywatnym a publicznym, ale nie odwrotnie.
W ten sposób, gdy użytkownik będzie chciał podpisać plik, użyje swojego klucza prywatnego (liczby losowej) z haszysz Plik (unikalny numer reprezentujący plik) jest wprowadzany do magicznego równania, co daje Ci Twój podpis. Jeśli ktoś chce zweryfikować te informacje, potrzebuje jedynie klucza publicznego, dzięki któremu będzie mógł zweryfikować ich autentyczność.
Więc klucze publiczne Mogą być znane każdemu, bez narażania na szwank autentyczności naszego podpisu, ponieważ klucz publiczny służy wyłącznie do weryfikacji, a nie do podpisywania.
Dlaczego używamy ECDSA?
Potrzeba stworzenia systemu podpisów, takiego jak ECDSA, wynika z chęci bezpiecznego udostępniania danych. W świecie sieci potrzebny jest system, który pozwoli nam udostępniać i weryfikować informacje bez ujawniania tajemnic. Przyjrzyjmy się poniższemu przykładowi:
Spółka sporządziła sprawozdanie finansowe ze swojej działalności. Sprawozdanie to jest udostępniane wybranym inwestorom, którzy mają ograniczony dostęp do informacji. Inwestorzy ci chcą zweryfikować autentyczność sprawozdania i zawartych w nim danych.
W tym momencie zadajemy sobie pytanie: czy administrator zapewni inwestorowi pełny dostęp do danych spółki, czy wręcz przeciwnie, wstrzyma dostęp do informacji, aby inwestorzy mogli je zweryfikować?
Obie sytuacje są niepożądane i można je rozwiązać stosując trzecie podejście:
Administrator korzysta z asymetrycznego systemu podpisów ECDSA. W tym systemie administrator podpisuje raport swoim kluczem prywatnym i udostępnia klucz publiczny inwestorom. Natychmiast po tym inwestorzy mogą zweryfikować autentyczność podanych informacji za pomocą klucza publicznego, bez konieczności nieograniczonego dostępu do danych.
Klucz prywatny, klucz publiczny i podpisy
Schemat działania ECDSA opiera się na trzech następujących filarach:
- Klucz prywatny to w zasadzie tajny numer znany tylko osobie, która go wygenerowała. W Bitcoinie tylko osoba posiadająca klucz prywatny odpowiadający środkom na blockchainie może je wydać.
- Klucz publiczny to liczba generowana na podstawie zależności matematycznej z wykorzystaniem klucza prywatnego. Można go uzyskać tylko poprzez uprzednią znajomość klucza prywatnego, a nie odwrotnie. Klucz ten jest generowany w celu publicznego udostępniania, aby inni mogli zweryfikować autentyczność podpisu.
Podpis to w rzeczywistości po prostu liczba, która informuje weryfikatora, że operacja podpisu cyfrowego zakończyła się powodzeniem. Podpis jest generowany matematycznie na podstawie skrótu podpisywanego obiektu oraz klucza prywatnego. Sam podpis składa się z dwóch liczb, znanych jako „r"Y"s„Za pomocą klucza publicznego można zastosować algorytm matematyczny do podpisu. Celem jest ustalenie, co pierwotnie zostało wygenerowane z…” haszysz i klucz prywatny. System, który działa idealnie, bez konieczności znajomości klucza prywatnego.
ECDSA i technologia blockchain
Jednym z głównych problemów, z jakimi się zmierzył, Satoshi Nakamoto W przypadku Bitcoina chodziło o dystrybucję kluczy publicznych. Wizją Nakamoto było umożliwienie dzielenia się małymi, bezpiecznymi, niedrogimi obliczeniowo i łatwymi w użyciu kluczami publicznymi.
Te cechy byłyby możliwe do osiągnięcia dzięki kryptografii krzywych eliptycznych. Właśnie dlatego Nakamoto zdecydował się na użycie ECDSA w swoim systemie. Dzięki temu zapewnił, że:
- Był to bardzo bezpieczny system. Satoshi zdecydował się na wykorzystanie standardu krzywej eliptycznej. secp256k1 dla Bitcoina. Ta krzywa eliptyczna ma bardzo dobrze udowodnione bezpieczeństwo, więc okazała się idealna do zastosowania.
- Koszt obliczeniowy generowania kluczy i sprawdzania poprawności podpisów jest bardzo niski.
- Umożliwia generowanie nieskończonej liczby kluczy publicznych.
Jednak 256-bitowe klucze ECDSA są bardzo długie. Biorąc to pod uwagę, Nakamoto zdecydował refaktoryzacja klucze publiczne, aby je skrócić. W ten sposób używamy Kodowanie Base58 y funkcje skrótu jako SHA-256 y DOPASOWANY-160, zmniejszono rozmiar kluczy publicznych i utworzono Adresy Bitcoina.
Na przykład ten adres: 1PfS6w6MonCT976xe2jD9tqwo8QkDnonRW.
Wszystko to zaowocowało stworzeniem systemu komputerowego, który pozwala użytkownikom na bezpieczne wysyłanie i odbieranie bitcoinów.
Zabawa z ECDSA
Istnieje wiele stron internetowych, na których możemy grać w gry i dowiedzieć się więcej o działaniu ECDSA. Jedną z takich stron jest... GitHub Kenjiego Urushimy.
Urushima Pracuje dla Fuji Xerox w Japonii. Na jego stronie internetowej sieć Zawiera interaktywne narzędzie, które pomaga zrozumieć działanie ECDSA. Na tej stronie możesz tworzyć klucze prywatne i publiczne oraz podpisywać niestandardowe wiadomości. Eksperymentowanie może być kluczem do lepszego zrozumienia działania tego systemu podpisu cyfrowego.
naciśnij tutaj aby bezpłatnie i bezpiecznie założyć konto użytkownika w języku hiszpańskim i otrzymać prezent o wartości 15 €.


Autor


