Цифровий підпис - криптографічний прийом, який гарантує унікальність і цілісність інформації. По суті - щось на зразок звичайного «підтверджуючого підпису», тільки куди більш стійкий до підробок.
Будь-який цифровий підпис - це код. Його можна прикласти до будь-якого документу, щоб засвідчити його автентичність. Підробити такий підпис вкрай складно, а змінити вміст документа - ще складніше. Активне використання даної технології стало можливо завдяки створенню криптографії з відкритим ключем. Втім, на даний момент, використовуються і інші методи створення унікальних цифрових підписів.
Криптографія з відкритим ключем
Даний спосіб шифрування потребує існування двох видів ключів - приватного, який є тільки у власника, і публічного, який можна надавати всім бажаючим. Вони формуються на основі симетричного алгоритму, але знання публічного ключа не дозволяє розшифрувати або визначити зміст приватного. Однак між ними є прямий зв'язок, що здійснюється на програмному рівні.
Крім того, якщо приватний ключ додати до цифрової інформації і пропустити їх через хеш-функцію, можна отримати унікальний хеш, справжність якого в автоматичному режимі можна підтвердити за допомогою публічного ключа.
Важливий момент. При генерації цифрових підписів можуть використовуватися і додаткові методи шифрування, але в блокчейні біткоін цей метод не використовується. Підтвердження транзакції здійснюється за допомогою цифрового підпису на основі приватного ключа, що додається до опису транзакції. Називається ця справа - алгоритм ECDSA або «Алгоритм цифрового підпису еліптичної кривої».
Хеш-функція
Це спеціальна програма, яка перетворює будь-яку пропущену через неї інформацію в хеш або дайджест - унікальну комбінацію букв і цифр заданої довжини. Будь-яка зміна початкових даних призведе до формування зовсім іншого хеша. Саме тому більшість систем на основі блокчейн активно використовує цей метод шифрування даних.
Принципи роботи
- Хешування даних. Вкрай важливий момент при роботі з блокчейном. Незважаючи на те, що для верифікації даних досить підписування свого імені на основі приватного ключа, цей підпис завжди пропускають через власні хеш-алгоритми. Просто для того, щоб отримати дайджест заданої довжини і формату, з яким куди простіше працювати системі.
- Підпис. Існує ряд односпрямованих алгоритмів, які формують цифровий підпис на основі приватного ключа. І інших алгоритмів, що дозволяють підтвердити справжність отриманого результату на основі публічного ключа. Крім того, варто враховувати, що даний спосіб підтвердження формується не тільки на основі приватного ключа, а й з урахуванням вмісту повідомлення. Тому в кожному конкретному випадку він буде унікальним. Що робить неможливою «сліпу підстановку» одного цифрового підпису для підтвердження іншого вмісту.
- Перевірка. Приватний ключ завжди один, тоді як публічних може бути безліч. І кожен власник публічного може за допомогою спеціальних алгоритмів переконатися в тому, що прийняте повідомлення підписано саме приватним ключем, але без розуміння його вмісту. Тому основне завдання будь-якого шахрая - за всяку ціну заволодіти приватним ключем. На щастя, класичні методи соціальної інженерії тут не підходять - тільки пряме перехоплення повідомлень що вводяться.
Що дає цей спосіб підтвердження
- Цілісність даних. Кожний власник публічного ключа може упевнитися в достовірності інформації, зашифрованої приватним , без розшифровки її змісту.
- Аутентифікація. Кожний власник публічного ключа може переконатися, що має справу з володарем приватного.
- Незмінність. Дані, зашифровані приватним ключем, однозначно належать його власнику. І угоди, здійснені на таких умовах, не мають зворотної сили.
Можливі недоліки:
- Проблеми алгоритму. Якщо хеш-функція недостатньо складна, стає набагато простіше розшифрувати зміст цифрового підпису.
- Проблеми реалізації. Навіть повністю робочий цифровий підпис не допоможе, якщо кінцева програма її не сприймає.
- Проблема власності. Втрата приватного ключа - найстрашніше, що може трапитися з власником криптовалютных активів. Це все одно, що особисто відкрити двері перед грабіжниками і детально їм розповісти, де лежать цінності в будинку.
Цифровий або електронний?
Якщо коротко, то кожний цифровий підпис - електронна. А ось зворотне правило працює далеко не завжди. Цифровими є лише ті підписи, які використовують при своєму створенні криптографію з відкритим ключем, хеш-функції і різноманітні методи шифрування.
Варіанти використання:
- Інформаційні технології. За допомогою цієї технології можна домогтися куди більшої безпеки інтернет-комунікації.
- Фінанси. Аудит, кредити, звіти про витрати та інші документи, скріплені підписом, підробити і змінити заднім числом практично нереально.
- Юриспруденція. Ділові угоди і контракти, в тому числі і самого високого (урядового) рівня.
- Охорона здоров'я. Незмінні рецепти і медичні дані.
- Блокчейн. Достовірність будь переданої інформації. Підтвердження криптовалютних транзакцій.
Висновок
Використання цифрових підписів, а також унікальних алгоритмів кодування і шифрування, привело до створення унікальних електронних даних. Це та сама основа, на якій збудована сучасна система криптовалюти.
Цифрові підписи - головне підтвердження достовірності криптовалютних транзакцій, які свідчать про те, що монети витрачає людина, яка реально ними володіє.
Однак тільки однією криптоекономікою застосування даного способу захисту інформації не обмежується. Практично будь-яка галузь людської діяльності, в якій йде мова про унікальну електронну інформацію, може бути адаптована під використання даного способу підтвердження.