Какво е криптография с публичен ключ?
Начало
Статии
Какво е криптография с публичен ключ?

Какво е криптография с публичен ключ?

Напреднал
Публикувано Jan 31, 2019Актуализирано Nov 8, 2022
5m

Въведение

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


Как работи криптографията с публичен ключ?

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

Тъй като алгоритмите за асиметрично криптиране генерират двойки ключове, които са математически свързани, техните дължини на ключовете са много по-дълги от тези, използвани в симетричната криптография. Тази по-голяма дължина - обикновено между 1024 и 2048 бита - прави изключително трудно изчисляването на частен ключ от неговия публичен аналог. Един от най-разпространените алгоритми за асиметрично криптиране, който се използва днес, е известен като RSA. 

В схемата RSA ключовете се генерират с помощта на модул, който се получава чрез умножаване на две числа (често две големи прости числа). По принцип модулът генерира два ключа (един публичен, който може да бъде споделен, и един частен, който трябва да се пази в тайна). Алгоритъмът RSA е описан за първи път през 1977 г. от Rivest, Shamir и Adleman (оттук и RSA) и остава основен компонент на криптографските системи с публичен ключ.


PKC като инструмент за криптиране

Криптографията с публичен ключ решава един от дългогодишните проблеми на симетричните алгоритми, който е комуникацията на ключа, използван както за криптиране, така и за дешифриране. Изпращането на този ключ през несигурна връзка рискува да бъде показан на трети страни, които след това могат да прочетат всички съобщения, шифровани със споделения ключ. Въпреки че съществуват криптографски техники (като протокола за обмен на ключове Diffie-Hellman-Merkle) за решаване на този проблем, те все още са уязвими на атаки. В криптографията с публичен ключ, обратно, ключът, използван за криптиране, може да бъде сигурно споделен през всяка връзка. В резултат на това асиметричните алгоритми предлагат по-високо ниво на защита в сравнение със симетричните.


Генериране на дигитални подписи

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


Ограничения

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


Приложения на криптография с публичен ключ

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

Протоколът на слоя със защитени сокети (SSL), който прави възможни сигурни връзки към уебсайтове, също използва асиметрична криптография. PKC системите дори са изследвани като средство за осигуряване на сигурна среда за електронно гласуване, която потенциално би позволила на избирателите да участват в избори от домашните си компютри.

PKC също така заема видно място в технологиите за блокчейн и криптовалута. Когато се настрои нов портфейл за криптовалута, се генерира двойка ключове (публичен и частен ключ). Адресът на портфейла се генерира с помощта на публичния ключ и може да бъде споделян по сигурен начин. Частният ключ, от друга страна, се използва за създаване на дигитални подписи и проверка на трансакции и следователно трябва да се пази в тайна. 

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

Трябва да се отбележи, че асиметричната криптография, използвана в приложенията за криптовалута, е различна от тази, използвана за целите на компютърната сигурност. Bitcoin и Ethereum, например, използват специфичен алгоритъм за проверка на трансакции, известен като Алгоритъм за дигитален подпис на елиптична крива (ECDSA). Освен това ECDSA създава дигитални подписи без използването на криптиране. Това означава, че блокчейнът не се нуждае от криптиране, въпреки че много хора си мислят обратното.


Заключителни мисли

От компютърната сигурност до проверката на криптовалутни трансакции, криптографията с публичен ключ играе важна роля в защитата на съвременните цифрови системи. Чрез използване на сдвоени публични и частни ключове, асиметричните криптографски алгоритми разрешават фундаментални проблеми със сигурността, представени от симетричните шифри. Въпреки че PKC се използва от много години, за него редовно се разработват нови употреби и приложения, особено в областта на блокчейна и криптовалутата.