Chcę zademonstrować asymetryczne szyfrowanie za pomocą rzeczywistych zamków. Na przykład chcę napisać sekret na kartce papieru i złożyć go w zamkniętym pudełku. Czy mogę kupić blokadę z dwoma kluczami, jeden, który tylko blokuje zamek, a drugi tylko odblokowuje blokadę?Czy istnieje blokada fizyczna, która może wykazywać asymetryczne zasady crytograficzne?
Odpowiedz
Typowym przykładem jest kłódka i klucz do niej.
Bob daje Alice kłódkę (jego "klucz publiczny") i trzyma klucz do tej kłódki (jego "klucz prywatny").
Alicja umieszcza wiadomość w pudełku i zatrzaskuje na niej kłódkę. Następnie wysyła pudełko do Boba.
Bob może odblokować to za pomocą swojego klucza.
rozszerzona wersja ta jest opisana w https://web.archive.org/web/20130708131404/http://www.economicexpert.com/a/Asymmetric:key:algorithm.html
Użyj pudełka z dwojgiem drzwi i dwoma różnymi zamkami. Rozmieść wnętrze pudełka, aby działał w jedną stronę, podobnie jak skrzynka pocztowa na rogu ulicy.
Alternatywnie, wyświetl kombinację z kombinacją jako kluczem szyfrowania. Budujesz wiadomość, pobierając 1) pudełko, 2) kłódkę, 3) wkładając coś do pudełka i blokując je. Kluczem fizycznym dla tej kłódki jest klucz odszyfrowywania, który pasuje do modelu, ponieważ klucz szyfrowania nie może odblokować wiadomości.
Jeśli chcesz wziąć to krok dalej, sprawdź CoreStreet's smart card lock products. To jest ich sprawa.
Lubię odpowiedź Dawida, ale po prostu pomyślałem, że wspomnieć, że widziałem, że wykazane jako złej przykład bezpieczeństwa - rozumowanie było to, że nie było sposobu, aby upewnić się, że Alice otrzymała kłódkę, że Bob wysłany (Ewa mogła zamienić ją na inną kłódkę w tranzycie)
demonstracja następnie przeniósł się na przykład z jednego pola i dwóch kłódek, który był demonstracyjnie bezpieczny ...
Alice umieszcza wiadomość w skrzynce i zamków to z kłódką (kłódka z kluczem publicznym) Wysyła pudełko do odbiorcy (Bob)
Bob dodaje inny kłódkę (kłódka klucz prywatny) Wysyła okno z powrotem do Alicji
Alice usuwa klucz kłódkę publicznego (ze swoim kluczem), co oznacza, że pakiet jest teraz chroniony tylko przez klucz prywatny.
Alicja zwraca pole do Boba, który może teraz odblokować kluczem prywatnym.
Dla dodatkowego efektu możesz mieć Ewę, która podaje pudełka w tę iz powrotem i pokazuje, że w żadnym momencie Eve nie może dostać się do pudełka. Jest to świetny przykład fizyczny i łatwe do zrozumienia, aby pokazać pakiet jest bezpieczny we wszystkich punktach.
Co, jeśli Ewa robi co następuje na każdym kroku; ** 1.** trzyma pudełko od Alice (nazwijmy to pole1) i wysyła Bobowi kolejne pudełko (nazwijmy to pole2) z wiadomością Eve i zablokowane kłódką Eve, ** 2. ** trzyma box2 od Boba i wysyła Alice box1 z Eve's kłódka, ** 3. ** po odzyskaniu box1 od Alice jest chroniona tylko własną kłódką Eve (od kroku 2), więc Eve ma dostęp do wiadomości w polu1 ** i ** może wysłać box2 z powrotem do Boba (z kłódką) po zdjęciu z niej własnej kłódki (z kroku 1). –
@ Piotr. Miło, dobrze zrobione! – PaulG
Jak Eve usuwa kłódkę Alicji bez klucza, aby przenieść wiadomość do box2? To tutaj rozkładają się fizyczne przykłady. Cyfrowo, możesz skopiować całe pudełko i zablokować. W świecie fizycznym nie mamy jeszcze replikatorów cząstek takich jak w Star Trek :) –
- 1. Szyfrowanie asymetryczne
- 2. Czy istnieje biblioteka Java, która może "zmienić" dwa obiekty?
- 3. Czy istnieje automatyczna blokada nawiasów klamrowych dla Geany IDE?
- 4. D3 ciąża fizyczna
- 5. Blokada i blokada Reentrant z Javą
- 6. Czy "blokada" zabiera czas procesora?
- 7. VmSize = pamięć fizyczna + zamiana?
- 8. Czy istnieje wersja $ getJSON, która nie oddzwoni?
- 9. Fizyczna odległość między dwoma miejscami
- 10. Dlaczego otrzymuję komunikat "MySQL nie działa, ale blokada istnieje"?
- 11. Niepewna blokada opcji
- 12. Czy istnieje macierz transformacji, która może skalować logarytmicznie oś X i/lub Y?
- 13. Czy istnieje struktura danych przypominająca tablicę, która może rosnąć po obu stronach?
- 14. Czy istnieje algorytm lub biblioteka, która może wykrywać rozmycie ruchu w obrazach?
- 15. Czy istnieje biblioteka Ruby, która może umieścić tablicę tablic w tabeli ascii?
- 16. Czy istnieje biblioteka uczenia maszynowego .NET, która może na przykład sugerować tagi dla pytania?
- 17. Czy istnieje baza danych SQL, która może wycofać się w czasie?
- 18. Czy istnieje usługa lub procedura, która może wygenerować adres IP, gdy zostanie podana lokalizacja?
- 19. Blokada asynchroniczna niedozwolona
- 20. nie może wykryć, czy istnieje zmienna Session
- 21. Czy należy stosować metodę opartą na interfejsie, która używa "dynamicznego" nadal spełnia zasady rozdzielczości metody C#?
- 22. Unity 3d - klasa fizyczna do udziału
- 23. Jak głęboka jest blokada?
- 24. C# Asymetryczne monitory z pełnym dupleksem .NET
- 25. Czy blokada muteksu dotyczy również wywoływanych funkcji?
- 26. Dlaczego num_get i num_put są asymetryczne?
- 27. Czy istnieje polityka kontroli TFS, która automatycznie formatuje kod?
- 28. Czy istnieje sposób na wyjście z funkcji, która zwraca void?
- 29. Minimalna blokada hashtable wątku?
- 30. Czy naruszenie zasady DRY jest zawsze złe?
W celu demonstracji sama kłódka to "klucz" (klucz publiczny) – Paolo
Podoba mi się, jak to działa. To trochę niefortunne, że publiczny * klucz * jest reprezentowany za pomocą fizycznej * blokady * ... mam nadzieję, że nie będzie zbytnio mylić ludzi. Wygląda na to, że ten przykład działał wcześniej w przypadku innych odbiorców. –