Co to jest niezwykle podstawowy szyfr asymetryczny, który mogę przedstawić w pubie?

30

Próbuję wyjaśnić rodzicom podstawy Bitcoin.

Jednym z podstawowych elementów bitcoinów jest podpisywanie transakcji, aby upewnić się, że nie można podszyć się pod Twoją tożsamość, a zatem potrzeba wyjaśnienia uproszczonego szyfru asymetrycznego.

Jaki jest niezwykle prosty szyfr asymetryczny, którego mogę użyć jako przykładu?

Jak można wykorzystać ten uproszczony szyfr do podpisywania?

Ryan The Leach
źródło
17
Dlaczego miałbyś chodzić do kryptografii, aby porozmawiać w pubie o bitcoinach? O ile mi wiadomo, bitcoin rozwiązuje problem prowadzenia rozproszonej księgi rachunkowej, w szczególności unikając problemu podwójnych wydatków. Motywacją jest unikanie posiadania centralnego organu, a można to osiągnąć, pozwalając każdemu uczestnikowi zatwierdzić transakcję (zamiast przekazywać ten organ bankowi). Aby uniknąć akceptacji przez uczestników przeciwnych własnych nieważnych transakcji, wprowadzono pojęcie dowodu pracy. Nie trzeba rozmawiać o kryptografii klucza publicznego.
Ariel,
@Ariel Kryptografia klucza publicznego, a przynajmniej podpisy cyfrowe, pojawia się, gdy chcesz wiedzieć, że osoba, która chce wysłać 3 BTC z Ariel do Ryana, w rzeczywistości jest Ariel.
Derek Elkins
1
Racja, ale nie jest to specyficzne dla bitcoinów, więc jego rodzice uznają to za mylące.
Ariel
1
Możesz wyjaśnić asymetryczne szyfrowanie, blokowanie łańcucha lub Bitcoin. Wybierz jedno.
Raphael
2
To pytanie może lepiej pasować do kryptografii .
Raphael

Odpowiedzi:

28

Jeśli chcesz zaprezentować kryptografię z kluczem publicznym swoim rodzicom lub przyjaciołom, sugeruję przestrzegać kilku wskazówek. Po pierwsze, nie mów o konkretnych funkcjach, nikt nie dba o SHAxxx, zachowaj swoją koncepcję. Problem rozwiązany przez kryptografię klucza publicznego pozwala dwóm osobom, które nigdy wcześniej się nie spotkały, bezpiecznie wymieniać informacje w publicznym kanale. Nie należy mylić tego z innymi aplikacjami realizowanymi przez szyfrowanie kluczem publicznym, takim jak podpisy cyfrowe lub uwierzytelnianie.

Oto pouczająca prosta ilustracja tego, co widziałem. Załóżmy, że dwie strony mają wiadro i kilka kolorów i chcą uzgodnić konkretny tajny związek. Mogą przesyłać sobie wiadro z określonym związkiem, ale wszystko, co zostało wysłane, jest narażone na złego przeciwnika. Podkreślono, że mieszanie kolorów jest łatwe, ale rozkład mieszaniny na składniki jest trudny. To założenie (które łatwo można powiązać z formalną stroną rzeczy) pozwala osiągnąć cel. Wybierz publiczny kolor i pozwól obu stronom wybrać tajny kolor, oznaczmy je S 1 , S 2 . Pierwsza strona wysyła następnie wiadro mieszanki P , S 1P.S.1,S.2)P.,S.1. Podobnie druga strona wysyła wiadro zawierające mieszaninę . Wreszcie, każda ze stron dodaje swój prywatny kolor do otrzymanej mikstury, a teraz obie strony mają mieszankę P , S 1 , S 2 , która (z naszego założenia) pozostaje tajemnicą przed podsłuchującymi. Formalną wersją tego jest protokół wymiany kluczy Diffie-Hellmana, który opiera się na twardości dyskretnego dziennika.P.,S.2)P.,S.1,S.2)

Teraz moje rozumienie protokołu bitcoin jest ograniczone, ale kiedy rozmawiam o tym z twoimi rodzicami, nie widzę powodu, aby przejść do kryptografii. Większość popularnych wyjaśnień, które widziałem, niepotrzebnie zagłębiam się w szczegóły implementacji, i zaczynam mówić o znalezieniu wstępnego obrazu skrótu, tak aby wynik miał liczby zer, tracąc z oczu rzeczywisty problem. Tak jak poprzednio, sugeruję, aby rozmowa była konceptualna. Jaki problem próbuje rozwiązać bitcoin i dlaczego nie jest to banalne? O ile mi wiadomo, bitcoin rozwiązuje problem utrzymywania rozproszonej księgi rachunkowej, w szczególności unikając podwójnych wydatkówxproblem. Motywacją jest unikanie posiadania centralnego organu, a można to osiągnąć, pozwalając każdemu uczestnikowi zatwierdzić transakcję (zamiast przekazywać ten organ bankowi). Aby uniknąć akceptacji przez uczestników przeciwnych własnych nieważnych transakcji, wprowadzono pojęcie dowodu pracy. POW używa skrótu jako czarnej skrzynki, dzięki czemu można uniknąć wspominania o konkretnych kandydatach.

Ariel
źródło
Bitcoin rozwiązuje zarówno problem podwójnego wydatkowania (który robi to przez blockchain, dla którego opisany algorytm „dowód pracy” jest niezbędny), jak i rozproszone uwierzytelnianie żądań transferu (co jest rzadziej omawiane, ponieważ sprowadza się to do już -rozwiązany problem, tj. uwierzytelnianie wiadomości za pomocą kluczy asymetrycznych).
Jules
15

Powszechnie stosowaną przeze mnie metaforą jest wytwarzanie kłódek, trzymanie wszystkich kluczy i wysyłanie otwartych kłódek każdemu, kto tego chce. Wtedy każdy, kto ma taką kłódkę, może wysyłać ci tajne wiadomości, wkładając je do pudełka, a następnie używając jednej ze swoich kłódek, aby je zablokować przed wysłaniem do Ciebie. Nikt oprócz ciebie nie ma kluczy, więc nawet nadawca nie może odblokować skrzynki po jej zablokowaniu - w szczególności usługa pocztowa nie może w ogóle szpiegować twojej wiadomości. Mogą nawet mieć od ciebie kłódkę, ale to nie pomaga im odblokować pudełka.

(Podaję ten przykład, aby odpowiedzieć na twoje pytanie, jak stwierdzono, bez konkretnej opinii, czy faktycznie jest przydatne do wyjaśnienia bitcoin.)

Ben Millwood
źródło
1
Jest to użyteczne wyjaśnienie szyfrowania asymetrycznego, ale do wyjaśnienia, jak działa bitcoin, tak naprawdę potrzebujesz weryfikacji podpisu , a wręcz przeciwnie: masz partię kłódek, które pękają po ich otwarciu, i wysyłasz klucze każdemu, kto może potrzebować im. Następnie, gdy wysyłasz wiadomość, wkładasz ją do pudełka i wkładasz do niej kłódkę, aby każdy z kluczem mógł powiedzieć, że ją wysłałeś.
Jules
@Jules Bardzo podoba mi się to wyjaśnienie, które czyni je analogicznym do plomby zabezpieczającej.
Ryan The Leach
7

Problem z wyjaśnianiem asymetrycznych szyfrów (i powodem, dla którego większość popowych wyjaśnień w rzeczywistości niczego nie wyjaśnia) jest to, że są one splecione z myślą, że istnieją problemy, które są (rzekomo) nierozwiązywalne, co jest jedną z idei stojących za złożonością obliczeniową.

Po osiągnięciu tego punktu asymetryczny szyfr jest „tylko” funkcją, którą łatwo obliczyć, ale trudno ją odwrócić. Możesz nawet stworzyć własną, zobacz referencję oryginalnej wymiany kluczy Diffie-Hellmana.

szybkie sortowanie
źródło
3
To nie jest cała historia. Odwrócenie musi być trudne, chyba że masz klucz prywatny.
Ben Millwood,
+1 dla Diffie-Hellman. Jest to wystarczająco prosty protokół do wyjaśnienia, co odpowiada przykładowi kolorów.
Ariel
4

Nie sądzę, aby istniał łatwy do wykazania asymetryczny system szyfrowania. Zamiast tego opisz, co robi, a nie jak to robi. W rzeczywistości musiałem to zrobić niedawno, aby opisać, jak działa PGP. W przypadku BitCoin skoncentruj się na drugiej części, podpisywaniu wiadomości.

Mogę utworzyć dwa powiązane numery. Jeden nazywa się kluczem prywatnym , drugi kluczem publicznym . Trzymam pierwszy sekret i mówię wszystkim o drugim. Każdy, kto chce wysłać mi wiadomość, bierze mój klucz publiczny i szyfruje swoją wiadomość za jego pomocą. Po wykonaniu tej czynności nikt nie może odszyfrować wiadomości, nawet nadawca. Po otrzymaniu wiadomości mogę ją odszyfrować za pomocą mojego klucza prywatnego.

Albo mogę zaszyfrować wiadomość za pomocą mojego klucza prywatnego i wysłać zarówno zaszyfrowaną, jak i niezaszyfrowaną wiadomość do drugiej osoby. Jeśli mają mój klucz publiczny, mogą odszyfrować zaszyfrowaną część wiadomości i będzie ona taka sama jak część nieszyfrowana. To pokazuje, że to ja zaszyfrowałem wiadomość.

Jeśli zapytają, w jaki sposób generowane są klucze, powiedz

Myślę o dwóch bardzo dużych liczbach pierwszych, a następnie przekształcam je za pomocą funkcji matematycznej. Wyrzuca klucze prywatne i publiczne.

Jest to oczywiście pomijanie faktu, że asymetryczne szyfrowanie zwykle nie działa na samej wiadomości, zamiast na kluczu sesji (do szyfrowania) lub hash (weryfikacja podpisu). Ignoruje to również bardzo ważny warunek, że musi zachować swój prywatny klucz prywatny - każdy z dostępem do to może udawać, że cię.

CSM
źródło