Зміст:
- Навігація статтями
- Підсумок
- Шифрування та цифровий підпис
- Цифрові підписи
- Досягнення безпеки повідомлень
- Що далі?
- Попередня стаття
- Наступна стаття
Навігація статтями
Ознайомтесь із повним набором статей:
- Криптографія та цифрові підписи
Підсумок
Попередні дві статті дали нам широкий вступ до криптографії, перш ніж перейти безпосередньо до обговорення цифрових підписів.
Цифровий підпис та його перевірка є однією з основних ключових концепцій Blockchain, де базуються додатки для криптовалют, такі як Bitcoin.
У мережі Blockchain важливо мати можливість правильно ідентифікувати учасників транзакції, довівши, що підпис надійшов від власника приватного ключа і що транзакція є дійсною.
Цифрові підписи забезпечують автентифікацію, цілісність даних та відмову від них, що є критичним для мережі Blockchain. Як результат, будь-яка людина в мережі може довіряти транзакціям навіть без посередника.
Шифрування та цифровий підпис
Як і те, що ми бачили в попередній статті, криптографія відкритого ключа створює зашифроване повідомлення, тоді як приватний ключ - цифровий підпис.
Використання криптографії
Цифрові підписи
Окрім шифрування та дешифрування даних, криптографія з відкритим ключем може використовуватися для створення цифрового підпису для забезпечення автентифікації, цілісності даних та відмови у мережі Blockchain.
Наступні кроки пояснюють процес створення моделі цифрового підпису на основі криптографії відкритого ключа, зображеної на наступній схемі:
- Усі вузли, що беруть участь у мережі Blockchain, мають пару приватно-відкритих ключів, створену математично.
- Повідомлення у формі відкритого тексту подається в алгоритм хешування для генерування хешованого повідомлення, також відомого як дайджест повідомлення. У додатку для криптовалют, такому як біткойни, повідомлення містить транзакцію, видану відправником.
- Потім хешоване повідомлення підписується приватним ключем відправника та надсилається через мережу Blockchain разом із повідомленням у форматі відкритого тексту.
- Вузли-учасники мережі Blockchain тепер намагатимуться перевірити повідомлення, перевіряючи цифровий підпис, щоб переконатися, що воно відповідає відкритому ключу адреси, з якої було надіслано повідомлення, проходячи через алгоритм перевірки.
- Оскільки цифровий підпис було створено з використанням приватного ключа відправника, мережа може легко довести, що підпис надійшов від власника приватного ключа, використовуючи відкритий ключ відповідного відправника.
- Відкрите текстове повідомлення подається через інший алгоритм хешування для генерування хеш-значення. Це хеш-значення порівнюється із хеш-значенням із результату алгоритму перевірки вище. Перевірка виконується без відправника, який не повинен розкривати свій приватний ключ.
У випадку з біткойнами мережа також перевіряє, чи має відправник достатню кількість біткойнів для відправки, і що відправник ще не надсилав їх іншому одержувачу. Це досягається шляхом перегляду історії транзакцій, яка є загальнодоступною в книзі біткойнів.
Модель цифрового підпису
Замість прямого цифрового підпису відкритого тексту повідомлення цифровий підпис формується за допомогою хешу даних. Хешоване повідомлення - це унікальне подання, але порівняно менший дайджест даних. Це робить блокчейн більш ефективним.
Досягнення безпеки повідомлень
Давайте зараз розберемося, чому так важливо використовувати цифрові підписи в блокчейні:
- Цілісність: Цифрові підписи та алгоритм хешування гарантують, що зловмисники не отримували незаконний доступ до даних та не змінювали їх. Це означає, що дані неможливо змінити без виявлення.
- Аутентифікація: Цифрові підписи встановлюють довіру між відправником та одержувачем у мережі Blockchain. Одержувач може бути впевнений, що лише відправник міг надіслати це повідомлення.
- Відмова від відмови: відправник не може заперечувати надсилання повідомлення, оскільки цифровий підпис може створити лише відправник, який має відповідний закритий ключ, і ніхто інший.
Що далі?
Ми не багато говорили про хешування, оскільки це буде висвітлено в наступній статті. Наразі нам просто потрібно знати, що хешування - це математичний алгоритм або функція, яка відображає дані довільного розміру в хеш фіксованого розміру. Приклад,
Хеш-приклади
Таким чином, хешування перевіряє, що дані не були змінені або підроблені.
Попередня стаття
- Розблокування блокчейну: криптографія відкритого ключа
Blockchain використовує криптографію відкритого ключа (асиметричні алгоритми ключів) для захисту повідомлень про транзакції в мережі. У Blockchain цифрові підписи, засновані на криптографії з відкритим ключем, використовуються для доведення того, що повідомлення походить від певного p
Наступна стаття
- Розблокування блокчейну: хешування
Існує дві основні криптографічні концепції, що утримують блокчейн разом. Цифровий підпис і хешування гарантують, що транзакції на блокчейні здійснюються лише законними особами, і що записи залишаються вільними від маніпуляцій
© 2018 Хен Кіонг Яп