MacGuffin шифрі – 1994 ж. Б.Шнайер мен М.Блейз жасаған блок шифрі. GUFN желілерін талдауға арналған, бірақ бірден бұзылды. Криптография, DES негізінде.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Блок шифрі
Block cipher
Криптографияда MacGuffin – 1994 жылы Брюс Шнайер мен Мэтт Блейз Fast Software Encryption семинарында жасаған блок шифрі. Ол жалпыланған теңгерімсіз Фейстель желілері (GUFN) деп аталатын жаңа шифр құрылымын талдауға арналған катализатор ретінде ойластырылған. Шифрді талдау өте жылдам жүргізілді, тіпті сол семинарда Винсент Риджмен мен Барт Пренел оны бұзып жіберді.
In cryptography, MacGuffin is a block cipher created in 1994 by Bruce Schneier and Matt Blaze at a Fast Software Encryption workshop. It was intended as a catalyst for analysis of a new cipher structure, known as Generalized Unbalanced Feistel Networks (GUFNs). The cryptanalysis proceeded very quickly, so quickly that the cipher was broken at the same workshop by Vincent Rijmen and Bart Preneel.
Алгоритм
Шнайер мен Блейз MacGuffin-ді DES-ке негіздеді, олардың басты өзгерісі – дерек блогы Фейстель желісінде тең екі бөлікке бөлінбейді. Оның орнына, 64 биттік дерек блогының 48 биті дөңгелек функциядан өтеді, ал оның нәтижесі дерек блогының қалған 16 битімен XOR операциясы жасалады. Алгоритм тәжірибелік болды, теңгерімсіз Фейстель желілерінің қауіпсіздік қасиеттерін зерттеу мақсатында жасалған. Төмендегі суретте MacGuffin алгоритмінің бір раунды көрсетілген. 64 биттік дерек блогы төрт 16 биттік сөзге бөлінеді (әрқайсысы бір жолмен көрсетілген). Оң жақтағы үш сөз құпия кілттен алынған кіші кілт биттерімен XOR операциясына түседі. Содан кейін олар сегіз S-блоктан өтеді, әрқайсысы 6 бит кіріс алып, 2 бит шығыс береді. Нәтиже (барлығы 16 бит) қайта біріктіріліп, дерек блогының сол жақтағы сөзімен XOR операциясы жасалады. Жаңа сол жақтанғы блок алынған дерек блогының оң жақтанғы позициясына жылдырылады. Алгоритм одан әрі раундтармен жалғасады. MacGuffin-нің кілт кестесі – шифрлау алгоритмінің өңделген нұсқасы. MacGuffin Фейстель желісі болғандықтан, шифрлауды кері бағытта орындау арқылы оңай шифрдан шығаруға болады. Шнайер мен Блейз 32 раунд қолдануды ұсынды және MacGuffin-ді 128 биттік кілтпен анықтады.
Schneier and Blaze based MacGuffin on DES, their main change being that the data block is not split into equal halves in the Feistel network. Instead, 48 bits of the 64 bit data block are fed through the round function, whose output is XORed with the other 16 bits of the data block. The algorithm was experimental, intended to explore the security properties of unbalanced Feistel networks. The adjacent diagram shows one round of MacGuffin. The 64 bit data block is broken into four 16 bit words (each represented by one line). The rightmost three are XORed with subkey bits derived from the secret key. They are then fed through eight S boxes, each of which takes six bits of input and produces two bits of output. The output (a total of 16 bits) is then recombined and XORed with the leftmost word of the data block. The new leftmost block is then rotated into the rightmost position of the resulting data block. The algorithm then continues with more rounds. MacGuffin's key schedule is a modified version of the encryption algorithm itself. Since MacGuffin is a Feistel network, decryption is easy; simply run the encryption algorithm in reverse. Schneier and Blaze recommended using 32 rounds, and specified MacGuffin with a 128 bit key.
МакГаффиннің криптоанализі
MacGuffin таныстырылған сол семинарда Риджмен мен Пренел оның дифференциалдық криптоанализге осал екенін көрсетті. Олар 32 раундтық MacGuffin 16 раундтық DES-тен нашар екенін көрсетті, себебі жақсы бастапқы мәндері бар DES үшін жақсы дифференциалдық ерекшеліктерді алуға "бірнеше сағат" кетті, ал бастапқы мәндері жоқ MacGuffin үшін жақсы дифференциалдық ерекшеліктерді алуға да сондай уақыт қажет болды. Олар дифференциалдық криптоанализ арқылы соңғы раунд кілтін алуға болатынын және одан соңғы раундты кері қайтаруға, ал қалған раундтар үшін шабуылды қайталауға болатынын анықтады. Риджмен мен Пренел DES-тен тікелей алынған әртүрлі S-қораптармен MacGuffin-ге шабуыл жасауға тырысты. Бұл нұсқа сәл күштірек болып шықты, бірақ белгілі шабуылдарға ғана қарсы тұратын алгоритмді жобалау, әдетте, жақсы жобалау принципі емес екенін ескертеді.
At the same workshop where MacGuffin was introduced, Rijmen and Preneel showed that it was vulnerable to differential cryptanalysis. They showed that 32 rounds of MacGuffin is weaker than 16 rounds of DES, since it took "a few hours" to get good differential characteristics for DES with good starting values, and the same time to get good differential characteristics for MacGuffin with no starting values. They found that it is possible to get the last round key with differential cryptanalysis, and from that reverse the last round; and then repeat the attack for the rest of the rounds. Rijmen and Preneel tried attacking MacGuffin with different S boxes, taken directly from DES. This version proved to be slightly stronger, but they warn that designing an algorithm to resist only known attacks is generally not a good design principle.