Розуміння та реалізація Aes: Практичний посібник з визначенням прикладів
Table of Contents
Розширений стандарт шифрування (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.