Ноу-хау / Шифроване

Как работи алгоритъмът за шифроване Rijndael?

Познат и с абревиатурата AES

Сигурното предаване на строго поверителна информация, без неоторизирани лица да получат достъп до нея, винаги е било предизвикателство. Ранните „тайни езици“ – например простите замени на букви – се разбиват лесно с днешната изчислителна мощ. Днес защитаваме данните с криптографски методи, които са математически прецизно дефинирани и чиято сигурност е публично оценена.

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

Password Depot шифрова Вашите поверителни данни с алгоритъма Rijndael, който е стандартизиран като AES (Advanced Encryption Standard).

По-долу обясняваме алгоритъма и го поставяме в технически контекст.

Advanced Encryption Standard (AES) – стандартизираният вариант на Rijndael

Американското National Bureau of Standards (днес NIST) стандартизира през 1977 г. DES; този стандарт беше оттеглен през 2005 г.от употреба, тъй като вече не беше достатъчно сигурен (съобщение на NIST). Като наследник NIST избира през 2001 г. Rijndael и го стандартизира като Advanced Encryption Standard (AES) (FIPS 197).

Важно: AES е подмножество от семейството Rijndael. AES фиксира размера на блока на 128 бита и допуска ключове с 128, 192 или 256 бита (Бележка от NIST, FIPS 197 (PDF)).

AES е разрешен за защита на информация на правителствени агенции на САЩ до ниво TOP SECRET (вижте CNSSP‑15 Fact Sheet както и актуалния CNSA‑2.0‑FAQ на NSA).

Как работи Rijndael/AES (кратък преглед)

Rijndael е шифър от тип Substitution-Permutation Network. Основните идеи са замествания на ниво байт, линейни трансформации и XOR-операции.

Последователност на ниво блок (128-битов „state“)

  • Разширяване на ключа (Key Schedule): От ключа се извеждат Nr + 1 подключа за рундовете (напр. 11 при AES-128, 13 при AES-192, 15 при AES-256). Източник: FIPS 197.
  • Начален рунд: AddRoundKey – блокът открит текст (като матрица 4×4 байта) се комбинира чрез XOR с първия подключ за рунда.
  • Рундове 1 … Nr:
    • SubBytes: Всеки байт се заменя чрез S-Box (мултипликативна обратна стойност в GF(28) плюс афинна трансформация с константа 0x63). Източник: FIPS 197.
    • ShiftRows: редовете на матрицата State се изместват циклично.
    • MixColumns: колоните се смесват чрез умножение на матрици над GF(28).
    • AddRoundKey: XOR със съответния кръгов ключ.

Забележка: В последния кръг се пропуска MixColumns. Броят на кръговете е 10/12/14 за ключове с 128/192/256 Bit (FIPS 197).

AES може да бъде имплементиран в софтуер, фърмуер или хардуер (FIPS 197). За практическо приложение Режими на работа се използват, напр. CBC, CTR или GCM (удостоверено криптиране). Препоръки ще намерите в NIST SP 800–38A и NIST SP 800–38D (GCM/GMAC).

Важно за уточнение: AES е симетричен шифър за криптиране на данни. Обменът на ключове обикновено се извършва с асиметрични методи ((EC)DH/RSA). AES обаче може сигурно да капсулира ключове („Key Wrap“) – вж. NIST SP 800–38F.

Официална спецификация

Референтният документ ще намерите тук: https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf

Brute-Force атаки

Brute-Force означава, че атакуващият изпробва всички възможни ключове. Класически методи като DES с ключове от само 56 бита днес на практика могат да бъдат разбити – затова през 2005 г. NIST официално го оттегли (NIST).

Съвременни методи като AES с ключове от 128/192/256 бита, за разлика от тях, разполагат с астрономически голямо пространство на ключовете. На практика по-важен от алгоритъма е извеждането на ключове от пароли и качеството на главната парола.

Password Depot допълнително затруднява Brute-Force атаките чрез функция за забавяне: след неправилно въвеждане на главната парола програмата остава заключена за няколко секунди.

Заключение: При коректна имплементация, подходящи режими на работа (напр. GCM) и достатъчна дължина на ключа, AES според днешните разбирания се счита за много сигурен в дългосрочен план.

Още за Brute-Force атаки.

Разберете Brute‑Force атаките

Научете защо дължината на паролата е решаваща и как да се защитите.

Повече за Brute‑Force атаките