Що таке надзвичайно базовий асиметричний шифр, який я можу представити в пабі?


30

Я намагаюся пояснити ази Bitcoin своїм батькам.

Однією з основних складових біткойна є підписання транзакцій, щоб переконатися, що ваша особа не може бути представленою особою, а отже, необхідність пояснення спрощеного асиметричного шифру.

Що таке надзвичайно простий асиметричний шифр, який я можу використовувати як приклад?

Як цей спрощений шифр можна використовувати для підписання?


17
Чому вам потрібно зайнятися криптографією, щоб паб поговорив про біткойн? Наскільки я розумію, біткойн вирішує проблему збереження розподіленої книги, зокрема уникаючи проблеми подвійного витрачання. Мотивація полягає у тому, щоб не мати центрального органу, а цього можна досягти, дозволяючи кожному учаснику схвалити транзакцію (замість того, щоб надавати цьому повноваження банку). Щоб уникнути змагальних учасників, які затверджують власні недійсні угоди, вводиться концепція доказування роботи. Не потрібно говорити про криптографію з відкритим ключем.
Аріель

@Ariel Криптографія відкритого ключа або, принаймні, цифрові підписи, надходить тоді, коли ви хочете знати, що людина, яка говорить про те, щоб відправити 3 BTC з Аріеля до Райана, - це насправді Аріель.
Дерек Елкінс

1
Правильно, але це не специфічно для біткойна, тому його батьки вважають його лише заплутаним.
Аріель

1
Ви можете пояснити асиметричну криптовалюту, блокову ланцюжок або біткойн. Вибрати один.
Рафаель

2
Це питання може бути краще підходить для криптографії .
Рафаель

Відповіді:


28

Якщо ви хочете представити криптографії відкритого ключа своїм батькам або друзям, то я пропоную вам дотримуватися деяких вказівок. По-перше, не говоріть про конкретні функції, ніхто не піклується про SHAxxx, тримайте ваші розмови концептуальні. Проблема, що вирішується криптографією відкритого ключа, дозволяє двом сторонам, які ніколи раніше не зустрічалися, безпечно обмінюватися інформацією на загальнодоступному каналі. Не плутайте це з іншими програмами, які досягаються шифруванням відкритого ключа, наприклад цифровим підписом або автентифікацією.

Простішою ілюстрацією цього, що я бачив, є наступна. Припустимо, що дві сторони мають відро і ряд кольорів, і вони хочуть домовитись про конкретний секретний склад. Їм дозволено надсилати один одному відро з певним складом, але все, що надсилається, піддається злому противнику. Основне припущення полягає в тому, що змішувати кольори легко, але розкласти суміш на її інгредієнти важко. Це припущення (яке легко пов'язане з формальною стороною речей) дозволяє досягти їх мети. Виберіть загальнодоступний колір та дозвольте обом сторонам вибрати таємний колір, позначимо їх через S 1 , S 2 . Потім перша сторона надсилає відро суміші P , S 1ПS1,S2П,S1. Аналогічно, друга сторона надсилає відро, що містить суміш . Нарешті, кожна сторона додає своє приватне забарвлення отриманій суміші, і тепер обидві сторони мають суміш P , S 1 , S 2 , яка (на наш припущення) залишається таємницею від будь-яких підслуховувачів. Офіційною версією цього є протокол обміну ключами Diffie-Hellman, який спирається на твердість дискретного журналу.П,S2П,S1,S2

Зараз моє розуміння протоколу біткойна обмежене, але, розмовляючи з вашими батьками про це, я не бачу причин заглиблюватися в криптографію. Більшість популярних пояснень, які я бачив, непотрібно заглиблюватися в деталі реалізації, і почати говорити про пошук зображення хешу, таким чином, щоб результат мав кількість нулів, втрачаючи вигляд реальної проблеми. Як і раніше, я пропоную тримати розмову концептуальною. Яку проблему намагається вирішити біткойн, і чому це не банально? Наскільки я розумію, біткойн вирішує проблему збереження розподіленої книги, зокрема уникаючи подвійних витратхпроблема. Мотивація полягає у тому, щоб не мати центрального органу, а цього можна досягти, дозволяючи кожному учаснику схвалити транзакцію (замість того, щоб надавати цьому повноваження банку). Щоб уникнути змагальних учасників, які затверджують власні недійсні угоди, вводиться концепція доказування роботи. POW використовує хеш як чорну скриньку, тому ви можете уникнути згадування конкретних кандидатів.


Біткойн вирішує як проблему подвійного витрачання (що робиться через блокчейн, для якого алгоритм "доказ роботи", який ви описуєте, є важливим), так і розподілену аутентифікацію запитів на передачу (що рідше обговорюється, оскільки воно просто зводиться до вже - вирішена проблема, тобто автентифікація повідомлення за допомогою асиметричних ключів).
Жуль

15

Поширена метафора, яку я чую, - це виготовлення кучей замків, зберігання всіх ключів та надсилання відкритих висячих замоків усім, хто бажає. Тоді кожен, хто має такий замок, може надіслати вам таємні повідомлення, поклавши їх у коробку, а потім за допомогою одного із замків заблокувати його, перш ніж надсилати вам його. Ключі не мають нікого, але у вас немає, тому навіть відправник не може розблокувати коробку після її блокування - зокрема, поштова служба взагалі не може прослухати ваше повідомлення. Вони можуть навіть мати замок від вас, але це не допоможе їм розблокувати коробку.

(Я надаю цей приклад, щоб відповісти на ваше запитання, як було зазначено, без особливої ​​думки щодо того, чи корисно це для пояснення біткойна.)


1
Це корисне пояснення асиметричного шифрування, але для пояснення того, як біткойн працює, що вам насправді потрібно, є перевірка підписів , що навпаки: у вас є партія замків, які ламаються, коли ви їх відкриваєте, і надсилаєте ключі кожному, кому це може знадобитися їх. Потім, коли ви надсилаєте повідомлення, ви поміщаєте його в коробку і кладете на нього замок, щоб кожен, хто має ключ, міг сказати, що ви його надіслали.
Жуль

@Jules Мені дуже подобається це пояснення, що робить його аналогічним печатці з підробкою
Райан Ліч

7

Проблема пояснення асиметричних циферб (і причини, чому більшість естрадних пояснень насправді нічого не пояснює) полягає в тому, що вони пов'язані з думкою, що існують проблеми, які (нібито) є нерозв'язними, що є однією з ідей обчислювальної складності.

Після того, як ви отримаєте цю точку впоперек, асиметричний комір - це "просто" функція, яку легко обчислити, але вважається, що її важко перевернути. Ви навіть можете зробити своє власне, дивіться ключ Diffie-Hellman, який обмінюється оригінальною реалізацією в якості посилання.


3
Це ще не вся історія. Інвертувати це має бути важко, якщо у вас немає приватного ключа.
Бен Мілвуд

+1 для Діффі-Хеллмана. Це досить простий протокол для пояснення, який відповідає прикладу кольорів.
Аріель

4

Я не думаю, що існує легко демонструється асиметрична система шифрування. Натомість опишіть що це робить, а не як це робить. Насправді мені довелося це зробити недавно, щоб описати, як працює PGP. Для BitCoin зосередьтеся на другій частині, підписуючи повідомлення.

Я можу створити два споріднених числа. Один називається приватним ключем , інший - відкритим . Я зберігаю першу таємницю, а всім розповідаю другу. Кожен, хто хоче надіслати мені повідомлення, бере мій відкритий ключ і шифрує його повідомлення. Після цього ніхто не може розшифрувати повідомлення, навіть відправник. Коли я отримаю повідомлення, я можу розшифрувати його своїм приватним ключем.

Або я можу зашифрувати повідомлення своїм приватним ключем та надіслати як зашифроване, так і незашифроване повідомлення другій особі. Якщо у них є мій відкритий ключ, вони можуть розшифрувати зашифровану частину повідомлення, і це буде те саме, що і незашифрована частина. Це показує, що я був людиною, яка зашифрувала повідомлення.

Якщо вони запитують, як створюються ключі, то скажіть

Я думаю про два дуже великих простих числа, а потім перетворюю їх за допомогою математичної функції. Він виплескує приватний та відкритий ключі.

Це, звичайно, переслідування того, що асиметричне шифрування зазвичай не працює на самому повідомленні, а не на сеансовому ключі (для шифрування) або на хеші (перевірка підпису). Він також ігнорує дуже важливу вимогу, що ви повинні зберігати приватний ключ приватним - кожен, хто має доступ до нього, може претендувати на те, що ви є.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.