Główna zawartość
Finanse i rynki kapitałowe
Kurs: Finanse i rynki kapitałowe > Rozdział 8
Lekcja 6: Bitcoin- Bitcoin: co to jest?
- Bitcoin: wprowadzenie
- Bitcoin: kryptograficzne funkcje skrótu
- Bitcoin: podpisy cyfrowe
- Bitcoin: dokumentacja transakcji
- Bitcoin: dowód pracy
- Bitcoin: łańcuchy bloków
- Bitcoin: Podaż pieniądza
- Bitcoin: bezpieczeństwo transakcji
© 2023 Khan AcademyWarunki użytkowaniapolitykę prywatnościInformacja o plikach cookie
Bitcoin: podpisy cyfrowe
Objaśnienie schematów podpisu cyfrowego, który stanowi fundamentalny składnik wielu protokołów kryptograficznych. Stworzone przez: Zulfikar Ramzan.
Chcesz dołączyć do dyskusji?
- Kompletnie nie kumam i NIKT nie potrafi tego wyjaśnić jak krypto pieniądze mogą być skradzione i zginąć bez śladu w sieci ? Sorry ! toż każde durne 10 zł ma swój indywidualny numer a jednostki cyfrowej waluty nie mają swioch cyferek ? .. przecież nie mogą istnieć poza blockchainem i systemem danej waluty ..to jakiś absurd , ponoć blockchain jest transparentny ....?(1 głos)
Transkrypcja filmu video
Podpis cyfrowy
to matematyczny mechanizm do łączenia publicznego ciągu liczb
z daną wiadomością cyfrową. Można interpretować go różnie, np. jako elektroniczny odpowiednik
podpisu fizycznego. Podpisując się,
dołączacie do dokumentów ciąg znaków
reprezentujący waszą tożsamość. Ten proces łączy waszą tożsamość
z dokumentem. Ponadto, układając znaki
w swoim nazwisku w szczególny sposób,
właściwy tylko wam, macie nadzieję, że nikt nie zdoła
sfałszować waszego podpisu. W podpisie cyfrowym
można to osiągnąć matematycznie. Do najbardziej znanych
standardów podpisu cyfrowego należy RSA
("Rivest, Shamir, Adleman"); jest też DSS,
czyli Digital Signature Standard. Gdy używamy standardu
takiego jak RSA czy DSS, cyfrowy podpis jest znacznie trudniej
podrobić niż podpis odręczny. W tym filmiku postaram się przedstawić zaawansowane mechanizmy
standardów podpisu cyfrowego. Nie będę się jednak zajmował matematycznymi detalami
poszczególnych standardów, przynajmniej nie teraz. Objaśnię, jak to działa.
Jest użytkowniczka, Alicja. Powiedzmy, że chce
cyfrowo podpisać dokument. W wybranym standardzie
Alicja wygeneruje dwa klucze. Mają swoje nazwy.
Pierwszy to klucz podpisu. Klucz prywatny.
Napiszę to na czerwono. Będziemy używać skrótu "SK". Alicja wygeneruje także
klucz weryfikacyjny. Klucze do złożenia podpisu
i do weryfikacji powstaną jednocześnie. Alicja wygeneruje oba naraz.
Będą powiązane matematycznie. Co ciekawe, klucz weryfikacyjny
jest publiczny, a klucz podpisu - prywatny. Ponadto w standardzie
podpisu cyfrowego powinno być trudno
wygenerować klucz weryfikacyjny, a raczej klucz podpisu, gdy widać tylko klucz weryfikacyjny. Pomyślmy o następstwach
cyfrowego podpisywania wiadomości. Macie wiadomość, w skrócie M, i chcecie podpisać ją cyfrowo. Sprowadza się to
do przekształcenia matematycznego. Alicja podda przekształceniu
wiadomość M i swój klucz podpisu, SK. Efektem tego przekształcenia będzie konkretny ciąg liczb, który nazywamy podpisem. Podpisem na wiadomości M. Co ciekawe, ten podpis
w gruncie rzeczy powstaje z połączenia wiadomości M z kluczem podpisu, czyli z kluczem prywatnym Alicji. Wynikiem będzie
stosunkowo krótki ciąg liczb. Standardy podpisu cyfrowego
powinny być projektowane tak, by tylko posiadacz klucza prywatnego
do składania podpisu mógł wygenerować tego rodzaju
wynik, podpis cyfrowy. Podpis SM na wiadomości M. Weryfikacja to proces
analogiczny do podpisywania, wymaga jednak publicznego
klucza weryfikacyjnego. Dane wejściowe składają się
z trzech części. Pierwsza to wiadomość, której podpis sprawdzacie. Potrzebujecie również podpis na tej wiadomości.
Jak to będzie wyglądać? I wreszcie ostatni element
danych wejściowych do standardu weryfikacji
to klucz publiczny należący do Alicji. Wprowadzone wartości
są poddane przekształceniu... A to przekształcenie matematyczne
stara się określić, czy podpis, który odpowiada
wiadomości M, mógł powstać z użyciem
klucza prywatnego Alicji. Ten klucz prywatny odpowiada
publicznemu kluczowi weryfikacyjnemu. Nadzwyczajne jest to,
że można przeprowadzić ten proces mając sam klucz weryfikacyjny.
Wcale nie trzeba klucza prywatnego, by uwierzytelnić podpis cyfrowy.
Nie jest potrzebny nawet pośrednio. Można sprawdzić wszystko, znając tylko klucz publiczny. Wynikiem weryfikacji jest zwykle
"tak" lub "nie". Informacja, czy przyjąć
podpis, czy go odrzucić. To podstawowa procedura
uwierzytelniania. Zatem, jak widzicie,
proces podpisywania łączy publiczny klucz weryfikacyjny... z Alicją. Pamiętajcie,
że to ona ogłosiła ten klucz. Powiedziała wszystkim:
"To mój klucz weryfikacyjny w systemie. Tylko wiadomości podpisane przeze mnie
zostaną potwierdzone za pomocą tego klucza". A ponieważ wiadomość została
związana z kluczem publicznym, który możemy uznać za jakiś identyfikator,
może Alicji, to składanie podpisu cyfrowego jest procesem wiążącym
tożsamość z wiadomością. Jest to zatem matematyczny odpowiednik tradycyjnego podpisu odręcznego. Teraz dwie bardzo ważne uwagi. Po pierwsze, zobaczycie,
że przekształcenie, z którego wynika sam cyfrowy podpis, i które daje nam podpisaną wiadomość, w gruncie rzeczy
po prostu przyjmuje ją jako swoje dane wejściowe. A to oznacza, że podpis zależy od wiadomości. Zmieniając wiadomość,
uzyskacie inny podpis. Pod tym względem podpis
cyfrowy różni się od odręcznego. Wasz podpis odręczny
raczej się nie zmienia, jest taki sam,
cokolwiek podpisujecie. A podpis cyfrowy zmienia się
zależnie od tego, co nim opatrujecie. Podpisując inną wiadomość,
zyskujecie inny podpis. I drugie spostrzeżenie: podpisy cyfrowe często są kojarzone z kryptograficzną funkcją skrótu.
Mówiłem w poprzednim odcinku i teraz powtórzę, że pierwsze
kryptograficzne funkcje skrótu zaprojektowano z myślą
o podpisach cyfrowych. To miało być zastosowanie. Gdy chcemy
podpisać dowolną wiadomość... powiedzmy, że będzie bardzo długa. Przed złożeniem podpisu skorzystacie z kryptograficznej
funkcji skrótu i uzyskacie... Z kryptograficznej funkcji skrótu
uzyskacie krótsze dane wyjściowe, skrót wiadomości. Algorytm, zamiast podpisać
oryginalną wiadomość, najpierw ją haszuje,
a potem podpisuje skrót. Podpisany zostanie skrót
zamiast oryginalnej wiadomości. Te dwa etapy, haszowania i podpisu, upraszczają proces podpisu cyfrowego, bo nie trzeba się męczyć
z wielką ilością danych wejściowych; skrót ma stałą, określoną długość. Haszowanie i podpisywanie
jest bezpieczne, ponieważ trudno jest znaleźć dwie wiadomości, które po zastosowaniu
funkcji skrótu dają to samo. Innymi słowy, nie utworzycie
dwu różnych wiadomości, które kryptograficzna funkcja skrótu
przetworzy identycznie. Zatem funkcja skrótu,
jeśli jest odporna na kolizje, zapewnia bezpieczny standard podpisu
z uprzednim haszowaniem. Gdyby mimo wszystko
udało się znaleźć dwie wiadomości, różne, ale zwracające to samo po zastosowaniu funkcji skrótu, prowadziłoby to do problemów. Podpis na pierwszej wiadomości
byłby identyczny z podpisem na drugiej, bo nie podpisujemy wiadomości,
tylko ich skróty. Przy identycznych skrótach mielibyście
ten sam podpis na dwu wiadomościach. A wtedy byłoby ryzyko
sfałszowania wiadomości z wykorzystaniem podpisu cyfrowego.
Tego nie chcecie! Byłoby źle, gdyby ktoś złożył
wasz podpis na wiadomości innej niż ta, którą zamierzaliście podpisać. Powiem wprost:
dałoby się przedstawić temat z większą dozą formalizmu, ale chciałem oswoić was ze sprawą
bez matematycznych niuansów.