Симетрично шифроване на ключове срещу криптиране на публичен ключ
Криптографията е изследване на скриването на информация и се използва при комуникация през ненадежден носител като интернет, където информацията трябва да бъде защитена от други трети страни. Съвременната криптография се фокусира върху разработването на криптографски алгоритми, които могат да кодират данни, така че е трудно да се прекъсне от противник поради изчислителната твърдост (следователно не може да бъде разбита с практически средства). Шифроването използва алгоритъм, наречен шифър за криптиране на данни и той може да бъде дешифриран само с помощта на специален ключ. Шифрованата информация е известна като шифротекст и процесът на получаване на оригиналната информация (незабележим текст) от шифротекста е известен като декриптиране. Два от широко използваните методи за криптиране са симетрично шифроване на ключове и криптиране на публичния ключ. Симетричната ключова криптография включва методи за криптиране, при които както изпращачът, така и получателят споделят един и същи ключ, използван за криптиране на данните. В криптографията с публичен ключ се използват два различни, но математически свързани ключа.
Какво е симетрично шифроване на ключове?
При симетрично шифроване на ключове (известно още като секретен ключ, единичен ключ, споделен ключ, криптиране на един ключ или частен ключ) и изпращачът, и получателят споделят един и същ ключ, използван както за криптиране, така и за декриптиране на данните. Всъщност двата ключа могат да бъдат идентични или тривиално свързани (т.е. има много проста трансформация, която трябва да премине между двете). В реалния живот използването на тайна се споделя от две или повече страни, които могат да бъдат използвани за поддържане на частна връзка за комуникация. AES (Advanced Encryption Standard) е много популярен алгоритъм, който принадлежи към семейството на алгоритмите за криптиране на симетрични ключове.
Какво е криптиране на публичния ключ?
В криптирането на публичните ключове се използват два различни, но математически свързани ключа. Шифроването на публичния ключ криптира данните, като използва публичния ключ на получателя и не може да бъде дешифрирано, без да се използва съответстващ частен ключ. С други думи, имате нужда от един ключ за заключване (шифроване на очевидния текст) и още един ключ, за да отключите (дешифрирате ципертекста). Важното е, че единият ключ не може да се използва на мястото на другия. В зависимост от това кой ключ е публикуван, криптирането с публичен ключ може да се използва за две цели. Ако заключващият ключ е публично достъпен, тази система може да се използва от всеки, за да изпрати частна комуникация до притежателя на ключа за отключване. Ако е обратното, системата дава възможност за проверка на документи, заключени от собственика. Шифроването на публичния ключ е асиметричен ключов алгоритъм. Но само някои асиметрични ключови алгоритми имат особеното свойство да не могат да разкрият единия ключ със знанието на другия. Така че, асиметричните ключови алгоритми с това специално свойство се наричат алгоритми за криптиране на публични ключове.
Каква е разликата между симетрично шифроване на ключове и криптиране на публичен ключ?
Основна разлика между криптирането на симетричния ключ и криптирането на публичния ключ е фактът, че при симетричното криптиране на ключовете се използва един и същ (частен, секретен) ключ за криптиране / дешифриране, докато криптирането с публичен ключ използва както публичен, така и частен ключ. И двете страни трябва да знаят ключа при симетрично шифроване на ключове, докато няма такова изискване за криптиране на публичния ключ. Само, че единият от ключовете е известен от двете страни при криптиране с публичен ключ. Тъй като това премахва необходимостта от споделяне на вашия личен ключ (както при симетрично криптиране на ключовете) и рискът от компрометиране, криптирането с публичен ключ може да се счита за по-сигурно в това отношение.
Но основен недостатък на криптирането на публичния ключ е, че той е много пъти по-бавен от симетричното криптиране на ключовете. Така че, симетричното криптиране на ключове може да е по-добро за криптиране на големи количества данни. Освен това алгоритмите за криптиране на публичните ключове трябва да използват сравнително по-силен ключ от симетричното криптиране на ключовете, за да постигнат същата сила (по простата причина, че един ключ се публикува в криптографията с публичен ключ).