Реалізація криптографічного алгоритму (AES) Rijndael
Введення
Шифрування - спосіб перетворення відкритої інформації в закриту і назад. Застосовується для зберігання важливої вЂ‹вЂ‹інформації в ненадійних джерелах або передачі її по незахищених каналах зв'язку. Згідно ГОСТ 28147-89, шифрування підрозділяється на процес зашифровування і розшифрування. p align="justify"> Залежно від алгоритму перетворення даних, методи шифрування поділяються на гарантованої або тимчасової криптостойкости.
Залежно від структури використовуваних ключів методи шифрування поділяються на
В· симетричне шифрування: стороннім особам може бути відомий алгоритм шифрування, але невідома невелика порція секретної інформації - ключа, однакового для відправника і одержувача повідомлення; p>
В· асиметричне шифрування: стороннім особам може бути відомий алгоритм шифрування, і, можливо, відкритий ключ, але невідомий закритий ключ, відомий тільки одержувачу. p>
Історія AES
У далекому 1998 року NIST оголосив конкурс на створення алгоритму, який задовольняє висунутим інститутом вимогам. Він опублікував всі несекретні дані про тестування кандидатів на роль AES і зажадав від авторів алгоритмів повідомити про базові принципи побудови використовуються в них констант. На відміну від ситуації з DES, NIST при виборі AES не став спиратися на секретні і, як наслідок, заборонені до публікації дані про дослідження алгоритмів-кандидатів. p align="justify"> Щоб бути затвердженим в якості стандарту, алгоритм повинен був:
реалізувати шифрування приватним ключем;
представляти собою блоковий шифр;
працювати з 128-розрядними блоками даних і ключами трьох розмірів (128, 192 і 256 розрядів).
Додатково кандидатам рекомендувалося:
використовувати операції, легко реалізовані як апаратно (у мікрочіпах), так і програмно (на персональних комп'ютерах і серверах);
орієнтуватися на 32-розрядні процесори;
не ускладнювати без необхідності структуру шифру для того, щоб всі зацікавлені сторони були в змозі самостійно провести незалежний криптоаналіз алгоритму і переконатися, що в ньому не закладено жодних недокументованих можливостей.
Крім того, алгоритм, який претендує на роль стандарту, повинен поширюватися по всьому світу на неексклюзивної умовах і без плати за користування патентом.
Перед першим туром конкурсу в NIST надійшло 21 пропозиція, 15 з яких відповідали висунутим критеріям. Потім були проведе...