CAST-256 (або CAST6) в криптографії — блоковий алгоритм симетричного шифрування на основі мережі Фейстеля, опублікований у червні 1998 року як кандидат на участь у конкурсі AES. Алгоритм розроблений фахівцями канадської компанії .
Розробники | канадська компанія Entrust Technologies |
---|---|
Уперше оприлюднений | 1998 р. |
Раундів | 48 |
Тип | Мережа Фейстеля |
Основні відомості
Цей алгоритм заснований на більш ранньому алгоритмі CAST-128. Обидва шифру побудовані на основі методології CAST, запропонованої Карлайлом Адамсом (англ. Carlisle Adams) і Стаффордом Таварес (англ. Stafford Tavares), перші дві букви імені яких формують назву методології. У створенні «дизайну» шифру брали участь також і Майкл Вінер.
CAST-256 побудований з тих же елементів, що і CAST-128, включаючи S-бокси, але розмір блоку збільшено вдвічі і дорівнює 128 бітам. Це впливає на дифузійні властивості і захист шифру.
В RFC 2612 зазначено, що CAST-256 можна вільно використовувати в усьому світі в комерційних і некомерційних цілях.
Характеристики і структура алгоритму
Алгоритм шифрує інформацію 128-бітними блоками і використовує кілька фіксованих розмірів ключа шифрування: 128, 160, 192, 224 або 256 бітів.
В алгоритмі CAST-256 48 раундів. Розглянемо першу половину шифру. 128-бітний вхідний блок може бути розділений на чотири 32-бітних субблока A in , B in , C in і D in . Субблок C in складається по модулю 2 з D in , видозміненого в залежності від раундової функції f. В результаті, отримуємо субблок D out . Після зсуву вхідних субблоків вправо на одну позицію, отримуємо чотири вихідних субблока: A out , B out , C out і D out . Для другої половини шифру розглядається зрушення субблоків на одну позицію вліво.
Нелінійні функції S j (де 1 <j <4) є підстановками з таблиці (S-бокс) 8x32 (в результаті, відбувається заміна 8-бітного вхідного значення на 32-бітове). Через нелінійну природу, S-функції є невід'ємною складовою безпеки шифру.
Операції «b», «c», і «d» являють собою операції додавання і віднімання, які виконуються з 32-бітними операндами по модулю . Операція «a» являє собою накладення вхідного 32-бітного субблока і 32-бітного підключа (який називається маскуючим підключеням). Ця операція, використовуючи одну з 3 операцій («b», «c», або «d»), виробляє обертання залежно від 5-бітного підключа (який називається підключем зсуву). Раундові функції CAST-256 відрізняються між раундами, тому що об'єднання операцій, що використовуються для «a», «b», «c» і «d», по-різному.
Математично, типова раундова функція має такий вигляд:
де X i представляє вхідні 32-біта даних, W j вхідні 8-біт даних в S j функції, K mi і K ri представляють маскує з'єднання і з'єднання зсуву відповідно, Y i , є вихідні 32-біт даних, після впливу раундової функції, « »операції «+» і «-», являють собою додавання і віднімання відповідно по модулю 2. Позначення «» представляє лівий зсув V по відношенню до U. W, X i , Y i і K mi , всі вони являють собою 32-бітові субблоки. K ri має довжину 5 біт. Розшифрування здійснюється за аналогією з шифруванням, з тією лише різницею, що підключи використовуються в зворотній послідовності.
Диференціальні властивості
Важливим критерієм криптографічного шифру, є невиродженість : властивість, що всі вихідні біти залежать від всіх вхідних бітів, і навпаки. Впливи вхідних бітів на вихідні біти називається дифузією. Невироджених раундової функції імовірна, так як кожна S-функція невироджена.
Зазначимо, що XOR операція не невирождена, так як тільки один біт з кожного субблока впливає на вихідний біт. При розгляді диференціальних властивостей CAST-256, отримуємо, що вихідний субблок D out у першому раунді залежить від всіх вхідних біт субблока D in . Вихідні біти субблоків A out , B out і C out не залежать від відповідних вхідних біт субблоків A in , B in і C in .
В результаті, отримуємо таблицю (таблиця № 1), яка показує залежність шифру даних на виході від зазначених раундів. Нехай чотирьом 32-бітовим вхідним субблокам A in , B in , C in і D in відповідають P 1 , P 2 , P 3 і P 4 .
Таблиця № 1: Залежність шифру від раунду
Раунд | |
---|---|
Залежності | |
1 | () |
2 | (, ) |
3 | (, , ) |
4 | (, , , ) |
5 | (, , , ) |
6 | (, , , ) |
7 | (, , , ) |
Після одного раунду біти, відповідні P 3 субблоки відкритого тексту тепер невирождені в біти перетвореного відкритого тексту субблока P 4 . Аналогічно після двох раундів субблок P 2 невирождений в біти перетворених P 3 і P 4 . Після 4 раундів субблок, відповідний субблоку P 4 , залежить від усіх біт всіх субблоків тексту. Після 7 раунду отримуємо повну залежність вихідних бітів від вхідних, так як всі чотири субблока P 1 , P 2 , P 3 і P 4 залежать від всіх біт перетвореного відкритого тексту.
Захист від лінійного криптоаналізу
Лінійний криптоаналіз використовує побудову співвідношень між відкритим текстом, шифротекста і ключем, які справедливі з високою ймовірністю у раундовій функції повторного шифрування. Основним принципом лінійного криптоаналізу є пошук апроксимацій у вигляді:
де i 1 , i 2 , ..., i a позиції біт відкритого тексту P, j 1 , j 2 , ..., j b позиції зашифрованого тексту C і k 1 , k 2 , ..., k c позиції ключа К. Ймовірність співвідношень для раундів шифру оцінюється таким чином:
де p L ймовірність того, що лінійне вираз (2) виконано, p B ймовірність найкращою лінійної апроксимації будь S-функції, і a кількість S-функцій, що беруть участь в лінійному апроксимації. Стійкість до лінійного криптоаналізу строго залежить від загального лінійного вираження, що обмежує ймовірність (яке також називають «лінійної оболонкою»). Лінійні атаки будуються на основі лінійного вираження, що включає біти відкритого тексту і шифротекста (як показано в лівій частині (2)). У правій частині рівності (2) обчислюється XOR сума бітів ключа. Для цього потрібно, приблизно, наступне число відкритих текстів:
Найкращу лінійну апроксимацію визначає:
де m кількість біт вхідних текстів і NL min нелінійність S-функції. Для S-функцій CAST-256, m = 8 і NL min = 74. У кожному раунді вихідний біт даних раундової функції дорівнює XOR сумі всіх біт 4-х вхідних подблоків даних (кожен підблок розміром m). Тому лінійна апроксимація вихідних біт повинна складатися з лінійних апроксимацій біт всіх вхідних подблоков. На практиці ймовірність лінійних апроксимацій CAST-256 набагато більше 1/2.
Нехай для r-раундів шифру a = r. При r = 48, NL min = 74, число відомих відкритих текстів, яке потрібно для лінійного криптоаналізу, становить близько . Зауважимо, що це майже дорівнює загальній кількості заданих відкритих текстів () і виступає практичності проти лінійного нападу на цей шифр.
Точнішу оцінку числа відкритих текстів, для лінійного криптоаналізу шифру CAST, можна отримати, розглядаючи об'єднання S-функцій в раундової функції. За рахунок об'єднання S-функцій в результаті XOR операції нелінійність NL min S-боксу (який складається з S-функцій) вище 74. Розглянемо 32х32 S-бокс, тоді m = 32 і а = r / 4 (так як ми апроксимируємо раундові функції кожен 4-й раунд). Таким чином, отримуємо число відкритих текстів, необхідних для лінійного криптоаналізу 48-раундового шифру, більш ніж (більше ніж кількість заданих відкритих текстів). Експериментальні дані свідчать про те, що об'єднання S-функції, використовуючи такі операції, як додавання або віднімання, а не XOR, може збільшити нелінійність S-боксу ще більше.
Захист від диференціального криптоаналізу
Диференціальний криптоаналіз заснований на вивченні перетворення різниць між шифрованими значеннями на різних раундах шифрування. Блокові шифри стійкі по відношенню до диференціального криптоаналізу, якщо в кожному раунді для заданих різниць вхідних відкритих текстів та вихідних шіфротекста існує єдина пара різниць. Такі відмінності називають характеристиками. Як правило, найефективніші відмінності в разі розгляду XOR двох блоків даних. У хорошому шифрі ймовірність всіх відмінностей повинна бути , де N розмір блоку. Для отримання загальної характеристики на вході і відповідної їй характеристики на виході XOR, складається ряд характеристик, які залежать від вхідних, вихідних даних, які зазнали операції XOR, в кожному раунді.
Аналіз тут заснований на припущеннях, що всі ключі раундів незалежні і, що вихід XOR (результат, отриманий після перетворення вхідних даних операцією XOR), відповідний конкретному входу XOR (вхідні дані), незалежні на різних раундах. При таких умовах, r-раундова характеристика представляється у вигляді:
де p i ймовірність різниць виходу XOR, відповідні різниці входу XOR в раунді i.
Шифр CAST-256 з R раундами, показаний у таблиці № 2, заснований на переборі 4-раудовой характеристики.
Таблиця № 2: Найкраща r-раундова характеристика R-раундового шифру
(0, 0, 0, ) | |
(0, 0, 0, ) | |
(0, 0, 0, ) | |
XOR вектор (0, 0, 0, ) заданих різниць, для 4 вхідних 32-бітних субблоків, де 3 перших субблока (A in , B in і C in ) мають нульові XOR різниці, а 4-й вхідний субблок (D in в раунді) має деяку відмінну від нуля XOR різницю, .
У таблиці показана характеристика загального R-раундового шифру, вхід XOR раунду R / 2 + 1 являє собою вектор, в якому різниця одного з субблоків не дорівнює нулю, а різниці інших трьох субблоків дорівнюють нулю. Вектор (0, 0, 0, ), представлений в таблиці, відповідає шифру CAST-256 з R = 48.
Ненульова різниця на вході XOR відповідає нульової різниці виходу XOR кожен 4 раунд характеристики в таблиці № 2 (як показано в 1, 5 і т. д. раундах). Імовірність, з якою заданим різницями відкритих текстів і заданим різницями шіфротекста відповідає єдина пара різниць, для CAST . Це засновано на тому факті, що всі чотири S-функції в раундової функції CAST ін'ектівни і XOR пари відкритих текстів і шіфротекста мають різниці, рівні 0. В результаті раундової функції, що використовує поєднання таких операцій, як додавання і віднімання, буде зменшена ймовірність існування пари різниць відкритих текстів і шіфротекста. Найкраща r-раунд характеристика, як показано в таблиці № 2 і на основі припущень, описаних вище, визначається ймовірністю:
Зокрема для 40-раундової характеристики (яка потенційно могла б бути використана для атаки 48-раундового шифру) ймовірність повинна бути менше або дорівнює . Отже, число обраних відкритих текстів, необхідних для цієї атаки, має бути більше, ніж для 48-раундового шифру (істотно більше, ніж кількість відкритих текстів для 128-бітового розміру блоку).
Розширення ключа
Процедура розширення ключа складніша ніж саме шифрування даних. Нехай масив ключів k = (ABCDEFGH) являє собою 256-бітний блок, де фрагменти A, B, ..., H кожен довжиною по 32 біта. Нехай «k ← w i (k)», де w () є функція розширення і представима в такому вигляді:
В результаті 4 перетворень по 5 молодших біта утворюються підключи зсуву:
де 5LSB (x) означає утворення 5 молодших біт в результаті операції x. Аналогічно утворюються маскуючі підключи:
Реалізація процедури розширення ключа
У кожному раунді функції розширення ключа використовуються по 8 додаткових змінних і .
1. Ініціалізація
Нехай = Tmij, = Trij.
for (i = 0; i <24; i + +) for (j = 0; j <8; j + +) { Tmij = Cm Cm = (Cm + Mm) mod2 ^ 32 Trij = Cr Cr = (Cr + Mm) mod32 }
2. Ключ розширення:
- K = ABCDEFGH = 256 біт вихідного ключа K. Нехай "" "", " "" "," "" "," "" "
for (j = 0; j <12; j + +) { W2i (k) W2i +1 (k) kr km }
Якщо розмір ключа k менше 256 біт, то «зайві» фрагменти ключа вважаються нульовими:
Переваги і недоліки алгоритму
У результаті всебічного аналізу на першому етапі конкурсу AES, причому досліджувалися не тільки криптографічні властивості, такі як стійкість до відомих атак, відсутність слабких ключів, хороші статистичні властивості, а й практичні аспекти реалізації: оптимізацію швидкості виконання коду на різних архітектурах (від ПК до смарт -карт і апаратних реалізацій), можливість оптимізації розміру коду, можливість розпаралелювання, були виявлені наступні переваги і недоліки CAST-256 шифру.
Основними перевагами є:
- Відсутність вразливостей.
- Можливість швидкого виконання розширення ключа, тобто в процесі операції кодування, але не декодування.
В алгоритмі було знайдено ряд недоліків, через які він не увійшов до другого раунду конкурсу:
- Швидкість шифрування алгоритму невисока в порівнянні з рядом алгоритмів - учасників конкурсу, в тому числі всіх фіналістів конкурсу.
- Високі вимоги до оперативної і енергозалежною пам'яті.
Література
- Сергій Панасенко. Алгоритми шифрування.
Посилання
- RFC 2612 [ 1 липня 2012 у Wayback Machine.]
- ~ howard/PAPERS/cast256.pdf An Analysis of the CAST-256 Cipher [ 5 серпня 2014 у Wayback Machine.]
- Конкурс AES [ 30 січня 2012 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
CAST 256 abo CAST6 v kriptografiyi blokovij algoritm simetrichnogo shifruvannya na osnovi merezhi Fejstelya opublikovanij u chervni 1998 roku yak kandidat na uchast u konkursi AES Algoritm rozroblenij fahivcyami kanadskoyi kompaniyi CAST 256Rozrobnikikanadska kompaniya Entrust TechnologiesUpershe oprilyudnenij1998 r Raundiv48TipMerezha FejstelyaOsnovni vidomostiCej algoritm zasnovanij na bilsh rannomu algoritmi CAST 128 Obidva shifru pobudovani na osnovi metodologiyi CAST zaproponovanoyi Karlajlom Adamsom angl Carlisle Adams i Staffordom Tavares angl Stafford Tavares pershi dvi bukvi imeni yakih formuyut nazvu metodologiyi U stvorenni dizajnu shifru brali uchast takozh i Majkl Viner CAST 256 pobudovanij z tih zhe elementiv sho i CAST 128 vklyuchayuchi S boksi ale rozmir bloku zbilsheno vdvichi i dorivnyuye 128 bitam Ce vplivaye na difuzijni vlastivosti i zahist shifru V RFC 2612 zaznacheno sho CAST 256 mozhna vilno vikoristovuvati v usomu sviti v komercijnih i nekomercijnih cilyah Harakteristiki i struktura algoritmuAlgoritm CAST 256raundova funkciya CAST256 Algoritm shifruye informaciyu 128 bitnimi blokami i vikoristovuye kilka fiksovanih rozmiriv klyucha shifruvannya 128 160 192 224 abo 256 bitiv V algoritmi CAST 256 48 raundiv Rozglyanemo pershu polovinu shifru 128 bitnij vhidnij blok mozhe buti rozdilenij na chotiri 32 bitnih subbloka A in B in C in i D in Subblok C in skladayetsya po modulyu 2 z D in vidozminenogo v zalezhnosti vid raundovoyi funkciyi f V rezultati otrimuyemo subblok D out Pislya zsuvu vhidnih subblokiv vpravo na odnu poziciyu otrimuyemo chotiri vihidnih subbloka A out B out C out i D out Dlya drugoyi polovini shifru rozglyadayetsya zrushennya subblokiv na odnu poziciyu vlivo Nelinijni funkciyi S j de 1 lt j lt 4 ye pidstanovkami z tablici S boks 8x32 v rezultati vidbuvayetsya zamina 8 bitnogo vhidnogo znachennya na 32 bitove Cherez nelinijnu prirodu S funkciyi ye nevid yemnoyu skladovoyu bezpeki shifru Operaciyi b c i d yavlyayut soboyu operaciyi dodavannya i vidnimannya yaki vikonuyutsya z 32 bitnimi operandami po modulyu 232 displaystyle 2 32 Operaciya a yavlyaye soboyu nakladennya vhidnogo 32 bitnogo subbloka i 32 bitnogo pidklyucha yakij nazivayetsya maskuyuchim pidklyuchenyam Cya operaciya vikoristovuyuchi odnu z 3 operacij b c abo d viroblyaye obertannya zalezhno vid 5 bitnogo pidklyucha yakij nazivayetsya pidklyuchem zsuvu Raundovi funkciyi CAST 256 vidriznyayutsya mizh raundami tomu sho ob yednannya operacij sho vikoristovuyutsya dlya a b c i d po riznomu Matematichno tipova raundova funkciya maye takij viglyad W Kmi Xi lllKri 1 displaystyle W K m i X i lllK r i 1 Yi S1 W1 S2 W2 S3 W3 S4 W4 displaystyle Y i S 1 left W 1 right oplus S 2 left W 2 right S 3 left W 3 right S 4 left W 4 right de X i predstavlyaye vhidni 32 bita danih W j vhidni 8 bit danih v S j funkciyi K mi i K ri predstavlyayut maskuye z yednannya i z yednannya zsuvu vidpovidno Y i ye vihidni 32 bit danih pislya vplivu raundovoyi funkciyi displaystyle oplus operaciyi i yavlyayut soboyu dodavannya i vidnimannya vidpovidno po modulyu 2 Poznachennya V lllU displaystyle V lllU predstavlyaye livij zsuv V po vidnoshennyu do U W X i Y i i K mi vsi voni yavlyayut soboyu 32 bitovi subbloki K ri maye dovzhinu 5 bit Rozshifruvannya zdijsnyuyetsya za analogiyeyu z shifruvannyam z tiyeyu lishe rizniceyu sho pidklyuchi vikoristovuyutsya v zvorotnij poslidovnosti Diferencialni vlastivostiVazhlivim kriteriyem kriptografichnogo shifru ye nevirodzhenist vlastivist sho vsi vihidni biti zalezhat vid vsih vhidnih bitiv i navpaki Vplivi vhidnih bitiv na vihidni biti nazivayetsya difuziyeyu Nevirodzhenih raundovoyi funkciyi imovirna tak yak kozhna S funkciya nevirodzhena Zaznachimo sho XOR operaciya ne nevirozhdena tak yak tilki odin bit z kozhnogo subbloka vplivaye na vihidnij bit Pri rozglyadi diferencialnih vlastivostej CAST 256 otrimuyemo sho vihidnij subblok D out u pershomu raundi zalezhit vid vsih vhidnih bit subbloka D in Vihidni biti subblokiv A out B out i C out ne zalezhat vid vidpovidnih vhidnih bit subblokiv A in B in i C in V rezultati otrimuyemo tablicyu tablicya 1 yaka pokazuye zalezhnist shifru danih na vihodi vid zaznachenih raundiv Nehaj chotirom 32 bitovim vhidnim subblokam A in B in C in i D in vidpovidayut P 1 P 2 P 3 i P 4 Tablicya 1 Zalezhnist shifru vid raundu RaundZalezhnosti1 P3 displaystyle P 3 P4 displaystyle P 4 2 P2 displaystyle P 2 P3 displaystyle P 3 P4 displaystyle P 4 3 P1 displaystyle P 1 P2 displaystyle P 2 P3 displaystyle P 3 P4 displaystyle P 4 4 P4 displaystyle P 4 P1 displaystyle P 1 P2 displaystyle P 2 P3 displaystyle P 3 P4 displaystyle P 4 5 P3 displaystyle P 3 P1 displaystyle P 1 P2 displaystyle P 2 P3 displaystyle P 3 P4 displaystyle P 4 6 P2 displaystyle P 2 P1 displaystyle P 1 P2 displaystyle P 2 P3 displaystyle P 3 P4 displaystyle P 4 7 P1 displaystyle P 1 P1 displaystyle P 1 P2 displaystyle P 2 P3 displaystyle P 3 P4 displaystyle P 4 Pislya odnogo raundu biti vidpovidni P 3 subbloki vidkritogo tekstu teper nevirozhdeni v biti peretvorenogo vidkritogo tekstu subbloka P 4 Analogichno pislya dvoh raundiv subblok P 2 nevirozhdenij v biti peretvorenih P 3 i P 4 Pislya 4 raundiv subblok vidpovidnij subbloku P 4 zalezhit vid usih bit vsih subblokiv tekstu Pislya 7 raundu otrimuyemo povnu zalezhnist vihidnih bitiv vid vhidnih tak yak vsi chotiri subbloka P 1 P 2 P 3 i P 4 zalezhat vid vsih bit peretvorenogo vidkritogo tekstu Zahist vid linijnogo kriptoanalizuLinijnij kriptoanaliz vikoristovuye pobudovu spivvidnoshen mizh vidkritim tekstom shifroteksta i klyuchem yaki spravedlivi z visokoyu jmovirnistyu u raundovij funkciyi povtornogo shifruvannya Osnovnim principom linijnogo kriptoanalizu ye poshuk aproksimacij u viglyadi Pi1 Pi2 Pia Cj1 Cj2 Cib Kk1 Kk2 Kkc 2 displaystyle P i 1 oplus P i 2 oplus oplus P i a oplus C j 1 oplus C j 2 oplus oplus C i b K k 1 oplus K k 2 oplus oplus K k c 2 dei 1 i 2 i a poziciyi bit vidkritogo tekstu P j 1 j 2 j b poziciyi zashifrovanogo tekstu C ik 1 k 2 k c poziciyi klyucha K Jmovirnist spivvidnoshen dlya raundiv shifru ocinyuyetsya takim chinom PL 12 2a 1 pB 12 3 displaystyle P L frac 1 2 leqslant 2 a 1 cdot p B frac 1 2 3 de p L jmovirnist togo sho linijne viraz 2 vikonano p B jmovirnist najkrashoyu linijnoyi aproksimaciyi bud S funkciyi i a kilkist S funkcij sho berut uchast v linijnomu aproksimaciyi Stijkist do linijnogo kriptoanalizu strogo zalezhit vid zagalnogo linijnogo virazhennya sho obmezhuye jmovirnist yake takozh nazivayut linijnoyi obolonkoyu Linijni ataki buduyutsya na osnovi linijnogo virazhennya sho vklyuchaye biti vidkritogo tekstu i shifroteksta yak pokazano v livij chastini 2 U pravij chastini rivnosti 2 obchislyuyetsya XOR suma bitiv klyucha Dlya cogo potribno priblizno nastupne chislo vidkritih tekstiv NL pL 12 2 4 displaystyle N L p L frac 1 2 2 4 Najkrashu linijnu aproksimaciyu viznachaye PB 12 2m 1 NLmin2m 5 displaystyle P B frac 1 2 frac 2 m 1 NL m in 2 m 5 de m kilkist bit vhidnih tekstiv i NL min nelinijnist S funkciyi Dlya S funkcij CAST 256 m 8 i NL min 74 U kozhnomu raundi vihidnij bit danih raundovoyi funkciyi dorivnyuye XOR sumi vsih bit 4 h vhidnih podblokiv danih kozhen pidblok rozmirom m Tomu linijna aproksimaciya vihidnih bit povinna skladatisya z linijnih aproksimacij bit vsih vhidnih podblokov Na praktici jmovirnist linijnih aproksimacij CAST 256 nabagato bilshe 1 2 Nehaj dlya r raundiv shifru a r Pri r 48 NL min 74 chislo vidomih vidkritih tekstiv yake potribno dlya linijnogo kriptoanalizu stanovit blizko 2122 displaystyle 2 122 Zauvazhimo sho ce majzhe dorivnyuye zagalnij kilkosti zadanih vidkritih tekstiv 2128 displaystyle 2 128 i vistupaye praktichnosti proti linijnogo napadu na cej shifr Tochnishu ocinku chisla vidkritih tekstiv dlya linijnogo kriptoanalizu shifru CAST mozhna otrimati rozglyadayuchi ob yednannya S funkcij v raundovoyi funkciyi Za rahunok ob yednannya S funkcij v rezultati XOR operaciyi nelinijnist NL min S boksu yakij skladayetsya z S funkcij vishe 74 Rozglyanemo 32h32 S boks todi m 32 i a r 4 tak yak mi aproksimiruyemo raundovi funkciyi kozhen 4 j raund Takim chinom otrimuyemo chislo vidkritih tekstiv neobhidnih dlya linijnogo kriptoanalizu 48 raundovogo shifru bilsh nizh 2176 displaystyle 2 176 bilshe nizh kilkist zadanih vidkritih tekstiv Eksperimentalni dani svidchat pro te sho ob yednannya S funkciyi vikoristovuyuchi taki operaciyi yak dodavannya abo vidnimannya a ne XOR mozhe zbilshiti nelinijnist S boksu she bilshe Zahist vid diferencialnogo kriptoanalizuDiferencialnij kriptoanaliz zasnovanij na vivchenni peretvorennya riznic mizh shifrovanimi znachennyami na riznih raundah shifruvannya Blokovi shifri stijki po vidnoshennyu do diferencialnogo kriptoanalizu yaksho v kozhnomu raundi dlya zadanih riznic vhidnih vidkritih tekstiv ta vihidnih shifroteksta isnuye yedina para riznic Taki vidminnosti nazivayut harakteristikami Yak pravilo najefektivnishi vidminnosti v razi rozglyadu XOR dvoh blokiv danih U horoshomu shifri jmovirnist vsih vidminnostej povinna buti 2 N displaystyle 2 N de N rozmir bloku Dlya otrimannya zagalnoyi harakteristiki na vhodi i vidpovidnoyi yij harakteristiki na vihodi XOR skladayetsya ryad harakteristik yaki zalezhat vid vhidnih vihidnih danih yaki zaznali operaciyi XOR v kozhnomu raundi Analiz tut zasnovanij na pripushennyah sho vsi klyuchi raundiv nezalezhni i sho vihid XOR rezultat otrimanij pislya peretvorennya vhidnih danih operaciyeyu XOR vidpovidnij konkretnomu vhodu XOR vhidni dani nezalezhni na riznih raundah Pri takih umovah r raundova harakteristika predstavlyayetsya u viglyadi Pwr prodi 1rpi 6 displaystyle P w r prod i 1 r p i 6 dep i jmovirnist riznic vihodu XOR vidpovidni riznici vhodu XOR v raundii Shifr CAST 256 z R raundami pokazanij u tablici 2 zasnovanij na perebori 4 raudovoj harakteristiki Tablicya 2 Najkrasha r raundova harakteristika R raundovogo shifru 0 0 0 D displaystyle Delta input XOR to round 1 displaystyle input XOR to round 1 0 D displaystyle 0 leftarrow Delta round1 displaystyle round1 0 0 displaystyle 0 leftarrow 0 round2 displaystyle round2 0 0 displaystyle 0 leftarrow 0 round3 displaystyle round3 0 0 displaystyle 0 leftarrow 0 round4 displaystyle round4 0 0 0 D displaystyle Delta input XOR to round 5 displaystyle input XOR to round 5 0 D displaystyle 0 leftarrow Delta round5 displaystyle round5 0 0 displaystyle 0 leftarrow 0 round6 displaystyle round6 0 0 displaystyle 0 leftarrow 0 round7 displaystyle round7 0 0 displaystyle 0 leftarrow 0 round8 displaystyle round8 displaystyle repeat up to R 2 rounds displaystyle repeat up to R 2 rounds 0 0 0 D displaystyle Delta input XOR to round R 2 1 displaystyle input XOR to round R 2 1 0 D displaystyle 0 leftarrow Delta roundR 2 1 displaystyle roundR 2 1 0 0 displaystyle 0 leftarrow 0 roundR 2 2 displaystyle roundR 2 2 0 0 displaystyle 0 leftarrow 0 roundR 2 3 displaystyle roundR 2 3 0 0 displaystyle 0 leftarrow 0 roundR 2 4 displaystyle roundR 2 4 displaystyle repeat up to r rounds displaystyle repeat up to r rounds XOR vektor 0 0 0 Delta displaystyle Delta zadanih riznic dlya 4 vhidnih 32 bitnih subblokiv de 3 pershih subbloka A in B in i C in mayut nulovi XOR riznici a 4 j vhidnij subblok D in v raundi maye deyaku vidminnu vid nulya XOR riznicyu Delta displaystyle Delta U tablici pokazana harakteristika zagalnogo R raundovogo shifru vhid XOR raundu R 2 1 yavlyaye soboyu vektor v yakomu riznicya odnogo z subblokiv ne dorivnyuye nulyu a riznici inshih troh subblokiv dorivnyuyut nulyu Vektor 0 0 0 D displaystyle Delta predstavlenij v tablici vidpovidaye shifru CAST 256 z R 48 Nenulova riznicya na vhodi XOR vidpovidaye nulovoyi riznici vihodu XOR kozhen 4 raund harakteristiki v tablici 2 yak pokazano v 1 5 i t d raundah Imovirnist z yakoyu zadanim riznicyami vidkritih tekstiv i zadanim riznicyami shifroteksta vidpovidaye yedina para riznic dlya CAST p 2 14 displaystyle p leqslant 2 14 Ce zasnovano na tomu fakti sho vsi chotiri S funkciyi v raundovoyi funkciyi CAST in ektivni i XOR pari vidkritih tekstiv i shifroteksta mayut riznici rivni 0 V rezultati raundovoyi funkciyi sho vikoristovuye poyednannya takih operacij yak dodavannya i vidnimannya bude zmenshena jmovirnist isnuvannya pari riznic vidkritih tekstiv i shifroteksta Najkrasha r raund harakteristika yak pokazano v tablici 2 i na osnovi pripushen opisanih vishe viznachayetsya jmovirnistyu Pwr 2 14 r 4 4 displaystyle P w r leqslant 2 14 r 4 4 Zokrema dlya 40 raundovoyi harakteristiki yaka potencijno mogla b buti vikoristana dlya ataki 48 raundovogo shifru jmovirnist povinna buti menshe abo dorivnyuye 2 140 displaystyle 2 140 Otzhe chislo obranih vidkritih tekstiv neobhidnih dlya ciyeyi ataki maye buti bilshe nizh 2140 displaystyle 2 140 dlya 48 raundovogo shifru istotno bilshe nizh kilkist vidkritih tekstiv dlya 128 bitovogo rozmiru bloku Rozshirennya klyuchaRozshirennya klyucha Procedura rozshirennya klyucha skladnisha nizh same shifruvannya danih Nehaj masiv klyuchiv k ABCDEFGH yavlyaye soboyu 256 bitnij blok de fragmenti A B H kozhen dovzhinoyu po 32 bita Nehaj k w i k de w displaystyle cdot ye funkciya rozshirennya i predstavima v takomu viglyadi G G f1 H tr0 tm0 displaystyle G G oplus f 1 H t r 0 t m 0 F F f2 G tr1 tm1 displaystyle F F oplus f 2 G t r 1 t m 1 E E f3 F tr2 tm2 displaystyle E E oplus f 3 F t r 2 t m 2 D D f1 E tr3 tm3 displaystyle D D oplus f 1 E t r 3 t m 3 C C f2 D tr4 tm4 displaystyle C C oplus f 2 D t r 4 t m 4 B B f3 C tr5 tm5 displaystyle B B oplus f 3 C t r 5 t m 5 A A f1 B tr6 tm6 displaystyle A A oplus f 1 B t r 6 t m 6 H H f2 A tr7 tm7 displaystyle H H oplus f 2 A t r 7 t m 7 V rezultati 4 peretvoren kr i k displaystyle k r i leftarrow k po 5 molodshih bita utvoryuyutsya pidklyuchi zsuvu Kr0 i 5LSB A kr1 i 5LSB C kr2 i 5LSB E kr3 i 5LSB G displaystyle K r 0 i 5LSB A k r 1 i 5LSB C k r 2 i 5LSB E k r 3 i 5LSB G de 5LSB x oznachaye utvorennya 5 molodshih bit v rezultati operaciyi x Analogichno km i k displaystyle k m i leftarrow k utvoryuyutsya maskuyuchi pidklyuchi Km0 i H km1 i F km2 i D km3 i B displaystyle K m 0 i H k m 1 i F k m 2 i D k m 3 i B Realizaciya proceduri rozshirennya klyucha U kozhnomu raundi funkciyi rozshirennya klyucha vikoristovuyutsya po 8 dodatkovih zminnih T i mj displaystyle T i mj i T i rj displaystyle T i rj 1 Inicializaciya Cm 2302 5A82799916 displaystyle Cm 2 30 sqrt 2 5A827999 1 6 Mm 2303 6ED9EBA116 displaystyle Mm 2 30 sqrt 3 6ED9EBA1 1 6 Cr 19 displaystyle Cr 19 Mr 17 displaystyle Mr 17 Nehaj T i mj displaystyle T i mj Tmij T i rj displaystyle T i rj Trij for i 0 i lt 24 i for j 0 j lt 8 j Tmij Cm Cm Cm Mm mod2 32 Trij Cr Cr Cr Mm mod32 2 Klyuch rozshirennya K ABCDEFGH 256 bit vihidnogo klyucha K Nehaj k w2i k displaystyle k leftarrow w 2 i k displaystyle sim W2i k displaystyle W2i k k w2i 1 k displaystyle k leftarrow w 2i 1 k displaystyle sim W2i 1 k displaystyle W2i 1 k kri k displaystyle k r i leftarrow k displaystyle sim kr displaystyle kr kmi k displaystyle k m i leftarrow k displaystyle sim km displaystyle km for j 0 j lt 12 j W2i k W2i 1 k kr km Yaksho rozmir klyucha k menshe 256 bit to zajvi fragmenti klyucha vvazhayutsya nulovimi K 128 E F G H 0 displaystyle K 128 rightarrow E F G H 0 K 160 F G H 0 displaystyle K 160 rightarrow F G H 0 K 192 G H 0 displaystyle K 192 rightarrow G H 0 K 224 H 0 displaystyle K 224 rightarrow H 0 Perevagi i nedoliki algoritmuU rezultati vsebichnogo analizu na pershomu etapi konkursu AES prichomu doslidzhuvalisya ne tilki kriptografichni vlastivosti taki yak stijkist do vidomih atak vidsutnist slabkih klyuchiv horoshi statistichni vlastivosti a j praktichni aspekti realizaciyi optimizaciyu shvidkosti vikonannya kodu na riznih arhitekturah vid PK do smart kart i aparatnih realizacij mozhlivist optimizaciyi rozmiru kodu mozhlivist rozparalelyuvannya buli viyavleni nastupni perevagi i nedoliki CAST 256 shifru Osnovnimi perevagami ye Vidsutnist vrazlivostej Mozhlivist shvidkogo vikonannya rozshirennya klyucha tobto v procesi operaciyi koduvannya ale ne dekoduvannya V algoritmi bulo znajdeno ryad nedolikiv cherez yaki vin ne uvijshov do drugogo raundu konkursu Shvidkist shifruvannya algoritmu nevisoka v porivnyanni z ryadom algoritmiv uchasnikiv konkursu v tomu chisli vsih finalistiv konkursu Visoki vimogi do operativnoyi i energozalezhnoyu pam yati LiteraturaSergij Panasenko Algoritmi shifruvannya PosilannyaRFC 2612 1 lipnya 2012 u Wayback Machine howard PAPERS cast256 pdf An Analysis of the CAST 256 Cipher 5 serpnya 2014 u Wayback Machine Konkurs AES 30 sichnya 2012 u Wayback Machine