Криптографията в Биткойн

В тази статия ще ви представим криптографията в Биткойн. Това е третата поред статия от поредицата на Chris Pacia. В предходните статии разгледахме защо копачите имат стимул да бъдат честни и механиката на биткойн копаенето, а тук ще разгледаме по-подробно криптографията в Биткойн. Материята не е трудна, просто трябва да отделите нужното време да я прочетете.

Основни положения

Има два вида криптография: криптография, която ще попречи на малката ви сестричка да чете файловете ви; и такава, която ще попречи на правителството да ви проследи.

Брус Шнайер

Очевидно ще се занимаваме с второто. Криптографията е наука, която използва математика за криптиране и декриптиране на данни. Целта е или да ги съхраним или изпратим на някого по такъв начин, че само той да може да ги прочете. На практика можем да вземем обикновен текст (некриптирани данни) и да го шифроваме по определен начин (с шифър). В традиционната криптография този шифър се използва и за криптиране и за декриптиране на съобщението. Тази техника се нарича криптография със симетричен ключ.

криптографиране със симетричен ключ

Един от най-ранните и най-известни шифри от този тип е ползван от Цезар за защита на военната му кореспонденция. Той се е състоял в замяна: всяка буква в съобщението е заменена с друга, която се намира на три позиции вляво от нея в азбуката. Ключът за дешифроване логично е просто да се замести всяка буква със стоящата три позиции надясно от нея в азбуката. Цезаровият шифър дори е използван от руснаците през Първата световна война, след като тяхната армия не успява да усвои по-сложни шифри. Тъй като този шифър е прекалено лесен, немските и австрийските криптоаналитици не са имали проблеми да разчетат шифрованите текстове.

Днес, най-широко използваният симетричнен шифър е Advanced Encryption Standard (AES), създаден през 2001 г. от Националния институт за стандарти и технологии на правителството на САЩ, след като е проведен открит конкурс за създаване на заместник на разбития Data Encryption Standard (DES). Представени са петнадесет проекта от цял свят. Списъкът е сведен до пет финалиста: Rijndael, Serpent, Twofish, RC6 и MARS. В крайна сметка Rijndael, разработен от двама белгийски криптографи, е избран като шифър за AES.

Алгоритъмът AES е публичен. Това означава, че не само е безплатен за ползване, но също така е подложен на криптоанализ от множество световни специалисти. Към днешна дата не са известни успешни атаки. Националната агенция за сигурност (NSA) на САЩ дори го е одобрила за използване в криптирането на свръхсекретна информация. Това може да се приеме като вот на доверие.

Трябва да се отбележи, че при достатъчно време, всеки шифър може да бъде разбит при атака с „груба сила“ (brute force). Атака с „груба сила“ е когато атакуващият се опитва да декриптира данните просто като опитва различни ключове отново и отново. Времето, необходимо за изпълнение на такава атака обаче, се увеличава експоненциално с увеличаване дължината на ключовете. Към днешна дата най-големият ключ, разкрит при атака с груба сила, е 64-битов ключ за RC5. За намирането на ключа са използвани общо 331 252 компютри и над 1 757 дни. Трите версии на AES използват 128 бита, 192 бита и 256 бита, които са извън обхвата на атака с груба сила. В действителност, ако всеки един от седемте милиарда души на Земята имаше 10 компютъра, тестващи 1 млрд. ключови комбинации в секунда, откриването на един 128-битов AES ключ ще отнеме 77 000 000 000 000 000 000 000 000 години.

Сигурно си мислите за квантовите компютри? Могат ли те с груба сила да разкрият AES ключ? Квантовите компютри вероятно ще удвоят размера на ключа, който може да бъде разбит с груба сила. Това може да предизвика отпадането на 128 битовия AES, но 192 и 256 битовите все още би трябвало да са в безопасност.

Ясно е, че ако някой иска да разкрие AES ключ по начина проба-грешка, няма как да стане. За да бъде разбит, трябва да се намери някаква слабост в алгоритъма му. Ами NSA и нейния неоповестен бюджет от 52,9 милиарда долара? Какви са шансовете агенцията да е успяла да направи криптографски пробив, но обществеността или академичните среди да не са наясно? Възможно е, но е малко вероятно подобен пробив да позволи да се види всъщност обикновения текст (некриптираните данни). Когато DES бе пробит, най-добрата атака не разкри обикновения текст, просто ефективно отслаби ключа за кодиране с около 17 бита, което го направи по-лесен за атака с груба сила. Така че, ако NSA наистина са пробили AES и никой не знае за това, малко вероятно е всъщност да са декриптирали нещо. Най-вероятно по-голямата част от времето им е прекарана в намиране на грешки в AES реализации, лоши пароли, или в извършване на анализ на трафика. Фактът, че притискат компании като Google, Apple, Microsoft и други, за да им дават достъп през задни вратички в техните системи, е доказателство, че не могат да разбият търговските криптирани системи.

Шифроване на съобщенията

Симетричният ключ за криптиране работи добре с данни на вашия компютър или на сървър, но той не е толкова добър за комуникация. Това е така, защото се използва един и същ ключ за криптиране и за декриптиране от две страни, които желаят да общуват една с друга, и трябва по някакъв начин да се споразумеят за него. Очевидно е, че основната причина за криптирането на вашите комуникации е, че не вярвате в защитата на вашия канал за комуникация. Това означава, че не можете просто да изпратите ключ за криптиране в имейл или текст, или чрез телефонно обаждане, тъй като той ще бъде прихванат. При невъзможност за среща лице в лице е трудно за двете страни да споделят общ ключ за криптиране. Представете си тежкото положение на Едуард Сноудън, когато се опитва да изпрати строго секретни файлове на Глен Грийнуолд, без да имат предварително споделен ключ за криптиране.

Дифи-Хелман обменен ключСъществува метод за надеждно предаване на ключ за криптиране, наречен обменен ключ на Дифи-Хелман. Този метод позволява на потребителите да комуникират през един несигурен канал за създаване на споделена тайна. На снимката в ляво е показано как работи. Разбира се, в реалния свят обменът се извършва с математиката.

Обменният ключ работи достатъчно добре, но има няколко неудобства. Първо, трябва да се вземат допълнителни предпазни мерки, за да сте сигурни, че създавате споделена тайна с лицето, с което всъщност искате да общувате, а не с друг, представящ се за него. Второ, и двамата трябва да сте онлайн по едно и също време, за да се осъществи „ръкостискане”.

Optimization WordPress Plugins & Solutions by W3 EDGE