Розширений стандарт шифрування (AES) - це широко використовується алгоритм шифрування, який забезпечує безпеку даних. Він працює в різних додатках, від забезпечення зв'язку для захисту збережених даних. Ця стаття забезпечує практичний огляд AES, включаючи приклади обчислення, щоб допомогти зрозуміти її функціонування.

Основи АС

AES є симетричним алгоритмом шифрування ключів, тобто тим самим ключом використовується як для шифрування, так і для розшифрування. Він працює на фіксованих блоках даних, як правило, 128 біт, і підтримує ключові розміри 128, 192, або 256 біт. Процес шифрування передбачає кілька раундів заміщення, перестановки і змішування даних для отримання надійного контексту.

Процес шифрування

Процес шифрування AES складається з декількох кроків:

  • SubBytes: Заміщення Byte за допомогою попередньо визначеної S-box.
  • ShiftRows: Циклічно змінює ряди державного масиву.
  • MixColumns: Змішує стовпці для дифузії даних.
  • AddRoundKey: Комбінує стан з круглим ключем, отриманим з основного ключа.

Ця послідовність повторює кількість раундів залежно від розміру ключа, з кінцевим круглим опуском кроку міксколони.

Приклад розрахунку

Розглянемо шифрування простий 128-бітовий блок з 128-розрядним ключем. Початковий звичайний текст представлений в шістнадцятковому вигляді 00112233445566778899aabbccddeeff. Ключ - 000102030405060708090a0b0b0c0d0f. Перший крок передбачає додавання круглого ключа до рівнинного тексту, що призводить до нового стану. Послідовні раунди застосовуються заміщення, перемикання, змішування, ключові етапи додавання, перетворення даних в ciphertext.

Наприклад, після операції першого Адрегуляції, стан стає:

Плайнтекст: 00112233445566778899aabbccddeeff

Круглий ключ: 000102030405060708090a0b0d0e0f

Результатів пошуку (hex): 00102030405060708090a0b0c0d0e0f

Цей процес продовжується через всі раунди, в кінцевому рахунку, що виробляє зашифрований ciphertext.