ОПИС АЛГОРИТМУ ШИФРУВАННЯ RIJNDAEL. ПРОСТА РЕАЛІЗАЦІЯ АЛГОРИТМУ НА МОВІ ПРОГРАМУВАННЯ C#
06.09.2021 23:13
[1. Інформаційні системи і технології]
Автор: Самойлов В.В., бакалавр, кафедра інформатики і кібернетики, Мелітопольський державний педагогічний університет, м. Мелітополь
Advanced Encryption Standard (AES), також відомий під назвою Rijndael — симетричний алгоритм, фіналіст конкурсу AES і прийнятий в якості американського стандарту шифрування урядом США. Вибір припав на AES з розрахуванням на широке використання і активний аналіз алгоритму, як це було із його попередником, DES. Державний інститут стандартів і технологій (NIST) США опублікував попередню специфікацію AES 26 жовтня 2001 року, після п'ятилітньої підготовки. 26 травня 2002 року AES оголошено стандартом шифрування. Станом на 2006 рік AES являється одним із найбільш поширених алгоритмів симетричного шифрування.
В принципі, алгоритм, запропонований Рейменом і Дейцменом, і AES не одне і те ж. Алгоритм Рейндол підтримує широкий діапазон розміру блоку та ключа. AES має фіксовану довжину у 128 біт, а розмір ключа може приймати значення 128, 192 або 256 біт. В той час як Рейндол підтримує розмірність блоку та ключа із кроком 32 біт у діапазоні від 128 до 256. Через фіксований розмір блоку AES оперує із масивом 4×4 байт, що називається станом.
Реалізація алгоритму на мові програмування С#, відбувається таким чином: створюємо клас, наприклад class RijndaelCipher, потім підключаємо через using простір імен System.Security.Cryptography і описуємо два методи класу: для шифрування Encrypt() та дешифрування Decrypt().
Рисунок 1 – Опис класу RijndaelCipher
Рисунок 2 - Опис методу шифрування
Рисунок 3 - Опис методу дешифрування
Рисунок 4 - Результат шифрування, яке має ключ – «алгоритм»
Література:
1. Шифр Rijndael [Електронний ресурс] - https://wiki.tntu.edu.ua/Шифр_Rijndael.
2. Rijndael Class [Електронний ресурс] - https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.rijndael?view=net-5.0