Съдържание:
- Навигация по статия
- Обобщение
- Шифроване и цифров подпис
- Цифрови подписи
- Постигане на сигурност на съобщенията
- Какво следва?
- Предишна статия
- Следваща статия
Навигация по статия
Вижте пълния набор от статии:
- Криптография и цифрови подписи
Обобщение
Предишните две статии ни предоставиха широко въведение в криптографията, преди да преминем директно към дискусията за цифровите подписи.
Цифровият подпис и неговата проверка е една от основните ключови концепции зад Blockchain, където се базират приложения за криптовалута като Bitcoin.
В мрежата на Blockchain е важно да можете да идентифицирате правилно участниците в транзакция, като докажете, че подписът идва от притежателя на частния ключ и че транзакцията е валидна.
Цифровите подписи осигуряват удостоверяване, целостта на данните и отказ от отказ, всички от които са от решаващо значение за мрежата на Blockchain. В резултат на това всеки в мрежата може да се довери на транзакциите дори без посредник.
Шифроване и цифров подпис
Подобно на това, което видяхме в предишната статия, криптографията с публичен ключ създава криптирано съобщение, докато частният ключ създава цифров подпис.
Използване на криптография
Цифрови подписи
Освен шифроването и декриптирането на данни, криптографията с публичен ключ може да се използва за създаване на цифров подпис, за да се осигури удостоверяване, целостта на данните и отказ от отказ в мрежа на Blockchain.
Следващите стъпки обясняват процеса за модел на цифров подпис, базиран на криптография с публичен ключ, изобразена на следната диаграма:
- Всички участващи възли в мрежата на Blockchain имат двойка частно-публичен ключ, генерирана математически.
- Съобщението в неговата форма на открит текст се подава в алгоритъм за хеширане, за да генерира хеширано съобщение, известно още като Message Digest. В приложение за криптовалута като биткойни съобщението съдържа транзакцията, издадена от подателя.
- След това хешираното съобщение се подписва от частния ключ на подателя и се изпраща по мрежата на Blockchain, заедно със съобщението в открит текст.
- Участващите възли в мрежата Blockchain сега ще се опитат да валидират съобщението, като проверят цифровия подпис, за да проверят дали то съвпада с публичния ключ на адреса, от който е изпратено съобщението, като премине през алгоритъм за проверка.
- Тъй като цифровият подпис е създаден с помощта на частния ключ на подателя, мрежата може лесно да докаже, че подписът е дошъл от притежателя на частния ключ, като използва публичния ключ на съответния подател.
- Съобщението за открит текст се подава чрез друг алгоритъм за хеширане, за да генерира хеш стойност. Тази хеш стойност се сравнява със стойността на хеш от изхода на алгоритъма за проверка по-горе. Проверката се извършва, без изпращачът да трябва да разкрие своя частен ключ.
В случай на биткойни, мрежата също така проверява дали подателят притежава достатъчно биткойни за изпращане и че подателят вече не го е изпратил до друг получател. Това се постига чрез преминаване през историята на транзакциите, която е публична в книгата за биткойни.
Модел за цифров подпис
Вместо директно цифрово подписване на съобщението за свободен текст, цифровият подпис се формира с хеш на данни. Хешираното съобщение е уникално представяне, но относително по-малък дайджест на данните. Това прави блокчейна по-ефективен.
Постигане на сигурност на съобщенията
Нека сега разгледаме защо е толкова важно да се използват цифрови подписи в Blockchain:
- Почтеност: Цифровите подписи и алгоритъмът за хеширане гарантират, че данните не са били незаконно достъпни и модифицирани от хакери. Това означава, че данните не могат да бъдат променяни без откриване.
- Удостоверяване: Цифровите подписи установяват доверие между подател и получател в мрежа на Blockchain. Получателят може да бъде сигурен, че само подателят е могъл да изпрати това съобщение.
- Неотричане: Подателят не може да откаже изпращането на съобщението, тъй като цифровият подпис може да бъде създаден само от подател, който притежава съответния частен ключ и никой друг.
Какво следва?
Не сме говорили много за хеширането, тъй като това ще бъде разгледано в следващата статия. Засега просто трябва да знаем, че хеширането е математически алгоритъм или функция, която преобразува данни с произволен размер в хеш с фиксиран размер. Пример,
Примери за хеш
В обобщение, хеширането проверява дали данните не са модифицирани или подправени.
Предишна статия
- Деблокиране на блокчейна: Криптографията с публичен ключ
Blockchain използва криптография с публичен ключ (асиметрични ключови алгоритми) за защита на съобщенията за транзакции в мрежата. В Blockchain цифровите подписи, базирани на криптография с публичен ключ, се използват, за да докажат, че съобщението произхожда от конкретен p
Следваща статия
- Деблокиране на Blockchain: Хеширане
Има две основни криптографски концепции, които държат Blockchain заедно. Цифровият подпис и хеширането гарантират, че транзакциите в блокчейн се извършват само от легитимни лица и че записите остават свободни от манипулации
© 2018 Heng Kiong Yap