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