Какво е симетрично криптиране?

Има много различни части на криптографията. Ако все пак искате да шифровате някои данни, има два вида алгоритми, които можете да използвате: алгоритми за симетрично шифроване и алгоритми за асиметрично шифроване. Цялостната концепция е същата, те могат да криптират данни, но работят на различни принципи и имат различни случаи на употреба. Заглавната разлика обаче описва ключовете за криптиране. Алгоритъмът за симетрично криптиране използва един споделен ключ за криптиране и декриптиране на данни. Алгоритъмът за асиметрично криптиране използва два свързани ключа, един за дешифриране и един за декриптиране.

Свойства на алгоритмите за симетрично криптиране

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

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

Ключовете за алгоритмите за симетрично криптиране обикновено са доста малки, поне в сравнение с асиметричното криптиране. Това ги прави относително лесни за предаване дори през бавна мрежова връзка и по-малко уязвими към грешки в ненадеждна мрежа. Алгоритмите за симетрично криптиране също са бързи в сравнение с асиметричните алгоритми.

Всички тези свойства правят алгоритмите за симетрично криптиране особено полезни за масово криптиране на данни. Това е особено актуално, когато скоростта е проблем.

Поточни шифри и блокови шифри

AES е може би най-известният алгоритъм за симетрично криптиране. Използва се в почти всичко, което криптира много данни и е стандартна част от пакетите за криптиране, използвани в HTTPS. AES е блоков шифър със 128-битови блокове. Блоковият шифър работи чрез криптиране на блокове от данни наведнъж. Всеки блок трябва да бъде с еднакъв размер. Това е добре, когато оставащите данни са по-големи от размера на блока, но означава, че трябва да се използва някаква форма на подложка, за да се завърши блокът.

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

Симетричните алгоритми са склонни да бъдат уязвими към атаки с познат обикновен текст, атаки с избран обикновен текст, диференциален криптоанализ и линеен криптоанализ. Съвременните алгоритми обаче са внимателно проектирани с това предвид и затова тези проблеми не са проблем.

Заключение

Симетричното криптиране е форма на криптиране, която използва един и същ ключ за криптиране и декриптиране на данни. В някои случаи самият алгоритъм е един и същ както за криптиране, така и за декриптиране, въпреки че това не е непременно така. Ключовете за криптиране обикновено са относително кратки и лесни за предаване. Ключът обаче трябва да бъде предаден по защитен канал, тъй като трябва да бъде комуникиран между всички участващи страни. Алгоритмите за симетрично криптиране обикновено са много по-бързи от алгоритмите за асиметрично криптиране.