КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
ГОСТ 28147—89
AES DES Симетричні криптоалгоритми DES, АES Одним з найвідоміших криптостандартів є стандарт DES (Data Eucryption Standard). У 80-х роках він був прийнятий у США як федеральний стандарт симетричного криптоалгоритму для внутрішнього застосування і опублікований. Цей алгоритм був розроблений фірмою ІВМ і належить до шифрів збивання (перестановка плюс логічні операції). В ньому застосовується 64-бітний ключ. На сьогоднішній день цей алгоритм уже не задовольняє сучасні вимоги до криптографічних алгоритмів. Так, у ньому використовується недостатня величина ключа (перебір — 7×1016операцій), а також однакові зашифровані дані мають однаковий вигляд. На сьогодні DES і його версія Trіple DES (TDEA — Triple Data Encryption Algorithm) застосовуються в багатьох комерційних продуктах. Розвитком DES є метод IDEA (Improved Proposed Encryption Standard) — покращений стандарт шифрування, розроблений Джеймсом Мессі 1990 року, в якому використовується 128-бітний ключ. 1997 року Американський інститут стандартизації (NІST) оголосив конкурс на новий стандарт симетричного криптоалгоритму. Конкурс отримав назву Advanced Encryptіon Standard (AES). У ньому взяли участь найбільші криптологічні центри світу. Переможцем став алгоритм шифрування Rіjndael, розроблений бельгійськими криптологами, який у 2001 році був затверджений як офіційний стандарт. В AES специфіковано довжину вхідного блока даних — 128 біт (кількість стовпців масиву State — Nb = 4). Ключ може бути довжиною 128, 192 або 256 біт (кількість стовпців масиву Cipher Nk = 4, 6 або 8). На рис. 2 подано псевдокод для шифрування за алгоритмом Rіjndael.
Рис. 2. Шифрування за алгоритмом Rіjndael На початку шифрування (розшифровування) вхідний блок даних (In) переписується в масив State (рис. 3) за такими правилами: S[r,c] = In[r+4c], де 0 £ r < 4, 0 £ c < Nb. Після закінчення шифрування (розшифровування) масив State переписується у вихідний масив Out (див. рис. 16.1) за такими правилами: Out[r+4c] = S[r,c], де 0 £ r < 4, 0 £ c < Nb. Рис. 3. Вхідний, робочий та вихідний масиви Усі кроки алгоритму повторюються кілька разів (раундів). Кількість раундів залежить від довжини ключа і може бути відповідно Nr = 10, 12 або 14. Кожний раунд (як для зашифровування, так і розшифровування інформації) містить функцію, що складається з чотирьох байт-орієнтованих трансформацій — SubBytes(), ShіftRows(), MіxColumns(), AddRoundKey(). 1. SubBytes() — таблична підстановка — операції здійснюються з кожним байтом таблиці State з використанням матриці S-Box (рис. 4, 5). Рис. 4. Трансформація SubBytes()
Рис. 5. Матриця S-Box Наприклад, якщо s1,1 = {53}, то в рядку з індексом 5 і стовпці з індексом 3 знаходиться значення «ed», отже, s ' 1,1 = {ed}. 2. ShіftRows() — три рядки масиву State циклічно зміщуються на різну кількість позицій, а перший рядок не зміщується (рис. 6): s ' r,c = sr, (c+ shift(r,Nb))ModNb, де 0 £ r < 4, 0 £ c < Nb; shift(1,4) = 1, shift(2,4) = 2, shift(3,4) = 3. Рис. 6. Зміщення за функцією ShіftRows() 3. MіxColumns() — математичне перетворення, що передбачає роботу з кожним окремим стовпцем: s ' (x) = a(x) Å s(x), де a(x) = {03} x 3 + {01} x 2 + {01} x + {02}. Отже, , де 0 £ c < Nb. Результатом мультиплікації буде заміна чотирьох байтів стовпця наступними: ; ; ; . 4. AddRoundKey () — здійснюється додавання ключа для чергового раунду. Ключ раунду накладається шляхом виконання операції XOR над масивом State та ключовим словом Wl (рис. 7): [s ' 0,c, s ' 1,c, s ' 2,c, s ' 3,c] = [s0,c, s1,c, s2,c, s3,c] Å [w Round*Nb+c], 0 £ c < Nb. Рис. 7. Функція AddRoundKey() В останньому раунді операція перемішування стовпців не виконується, що робить всю послідовність операцій симетричною. Усі перетворення, що здійснюються в процесі шифрування, мають чітке математичне обґрунтування. Структура і послідовність операцій дозволяють ефективно виконувати цей алгоритм як на 8-бітних, так і на 32-бітних процесорах. У структурі алгоритму закладена можливість розпаралелювання операцій для виконання на багатопроцесорних комплексах. У найближчому майбутньому цей алгоритм захищений від спроб розшифровування методом перебору всіх можливих ключів. Йому притаманні висока швидкодія і помірні вимоги до пам’яті, тому АЕС може бути реалізований у різних пристроях, включаючи мобільні телефони і смарт-картки. Оскільки алгоритм Rіjndael не захищений патентами, він доступний для вільного використання в будь-яких продуктах. Аналогічним до алгоритму DES є вітчизняний ГОСТ 28147—89, проте він складніший, включає на окремих етапах гамування, імітовставки (послідовність даних фіксованої довжини, отриманих за певним правилом з відкритих даних і ключа). Імітовставка передається після зашифровування даних. Дані розшифровуються, і з отриманих відкритих даних формується імітовставка. Вона порівнюється з отриманою, і якщо з нею не збігається, то всі розшифровані дані вважаються неістинними. Імітовставки потрібні для запобігання дезінформації у разі підключення стороннього обладнання до каналу зв’язку. Цей алгоритм має ключ довжиною 256 біт. Він криптостійкіший, ніж DES, але через це досить по-
Дата добавления: 2014-01-07; Просмотров: 420; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |