Кіріспе

Блок шифрі

Криптографияда MacGuffin – 1994 жылы Брюс Шнайер мен Мэтт Блейз Fast Software Encryption семинарында жасаған блок шифрі. Ол жалпыланған теңгерімсіз Фейстель желілері (GUFN) деп аталатын жаңа шифр құрылымын талдауға арналған катализатор ретінде ойластырылған. Шифрді талдау өте жылдам жүргізілді, тіпті сол семинарда Винсент Риджмен мен Барт Пренел оны бұзып жіберді.

Алгоритм

Шнайер мен Блейз MacGuffin-ді DES-ке негіздеді, олардың басты өзгерісі – дерек блогы Фейстель желісінде тең екі бөлікке бөлінбейді. Оның орнына, 64 биттік дерек блогының 48 биті дөңгелек функциядан өтеді, ал оның нәтижесі дерек блогының қалған 16 битімен XOR операциясы жасалады. Алгоритм тәжірибелік болды, теңгерімсіз Фейстель желілерінің қауіпсіздік қасиеттерін зерттеу мақсатында жасалған. Төмендегі суретте MacGuffin алгоритмінің бір раунды көрсетілген. 64 биттік дерек блогы төрт 16 биттік сөзге бөлінеді (әрқайсысы бір жолмен көрсетілген). Оң жақтағы үш сөз құпия кілттен алынған кіші кілт биттерімен XOR операциясына түседі. Содан кейін олар сегіз S-блоктан өтеді, әрқайсысы 6 бит кіріс алып, 2 бит шығыс береді. Нәтиже (барлығы 16 бит) қайта біріктіріліп, дерек блогының сол жақтағы сөзімен XOR операциясы жасалады. Жаңа сол жақтанғы блок алынған дерек блогының оң жақтанғы позициясына жылдырылады. Алгоритм одан әрі раундтармен жалғасады. MacGuffin-нің кілт кестесі – шифрлау алгоритмінің өңделген нұсқасы. MacGuffin Фейстель желісі болғандықтан, шифрлауды кері бағытта орындау арқылы оңай шифрдан шығаруға болады. Шнайер мен Блейз 32 раунд қолдануды ұсынды және MacGuffin-ді 128 биттік кілтпен анықтады.

МакГаффиннің криптоанализі

MacGuffin таныстырылған сол семинарда Риджмен мен Пренел оның дифференциалдық криптоанализге осал екенін көрсетті. Олар 32 раундтық MacGuffin 16 раундтық DES-тен нашар екенін көрсетті, себебі жақсы бастапқы мәндері бар DES үшін жақсы дифференциалдық ерекшеліктерді алуға "бірнеше сағат" кетті, ал бастапқы мәндері жоқ MacGuffin үшін жақсы дифференциалдық ерекшеліктерді алуға да сондай уақыт қажет болды. Олар дифференциалдық криптоанализ арқылы соңғы раунд кілтін алуға болатынын және одан соңғы раундты кері қайтаруға, ал қалған раундтар үшін шабуылды қайталауға болатынын анықтады. Риджмен мен Пренел DES-тен тікелей алынған әртүрлі S-қораптармен MacGuffin-ге шабуыл жасауға тырысты. Бұл нұсқа сәл күштірек болып шықты, бірақ белгілі шабуылдарға ғана қарсы тұратын алгоритмді жобалау, әдетте, жақсы жобалау принципі емес екенін ескертеді.