Кіріспе

Блок шифрлар

Криптографияда Хуфу және Хафре – 1989 жылы Xerox компаниясының Пало-Альто зерттеу орталығында жұмыс істеген кезде Ральф Меркл жасаған екі блок шифрі. Снефру, криптографиялық хэш-функциясымен бірге, шифрлер египеттік фараондар Хуфу, Хафре және Снеферу аттарымен аталады. Ерікті түрде Xerox, Хуфу және Хафрені жариялау алдында АҚШ Ұлттық қауіпсіздік агенттігіне (NSA) ұсынды. NSA ұлттық қауіпсіздік туралы алаңдаушылықтарды айта отырып, Xerox компаниясынан алгоритмдерді жарияламауды сұрады. АҚШ үкіметінің ірі мердігері – Xerox компаниясы, талапқа бойын бұрды. Дегенмен, мақаланы қараған рецензент оның көшірмесін Джон Гилморға жіберді, ол оны sci.crypt жаңалықтар тобы арқылы қолжетімді етті. Бұл Мерклдің тілегіне қайшы болған сияқты. Схема кейіннен 1990 жылғы CRYPTO конференциясында жарияланды (Merkle, 1990). Хуфу және Хафре Xerox компаниясымен патенттелді; патент 1991 жылдың 26 наурызында берілді.

Хуфу

Хуфу – 64 биттік блок шифрі, ол ерекше жағдайда 512 биттік кілттерді қолданады; блок шифрлары әдетте әлдеқайда кішкентай кілттерге ие, көбінесе 256 биттен аспайды. Кілт материалының көп бөлігі шифрдің S-қораптарын құру үшін пайдаланылады. Кілтті орнату уақыты өте көп болғандықтан, Хуфу көптеген шағын хабарламаларды өңдеуге қолайлы емес. Ол үлкен көлемдегі деректерді шифрлеуге арналған. Хуфу – 16 раундты Феистель шифрі (8 мен 64 арасындағы сегіздің еселіктеріне рұқсат етіледі). Сегіз раундтан тұратын әрбір жиынтық октет деп аталады; әр октетте әртүрлі S-қорабы қолданылады. Бір раундта блоктың жартысының ең кіші байты 8×32 биттік S-қорабына жіберіледі. S-қорабының нәтижесі (XOR арқылы) басқа 32 биттік жартысымен біріктіріледі. Сол жақ жартысы жаңа байтты орнына келтіру үшін айналдырылады, ал жартылары ауыстырылады. Алгоритмнің басында және соңында қосымша кілт материалы блокпен XOR операциясынан өтеді (кілтті ақтарту). Осыдан басқа, барлық кілт S-қораптарында сақталады. Хуфудың 16 раундына қарсы дифференциалдық шабуыл жасалды, ол құпия кілтті қалпына келтіре алады. Ол үшін 243 таңдалған қарапайым мәтін және 243 уақыт күрделілігі қажет (Gilbert and Chauvaud, 1994). Шифрді кездейсоқтықтан ажырату үшін 232 қарапайым мәтін және күрделілік жеткілікті. Бумеранг шабуылы (Wagner, 1999) 218 сұраныспен және ұқсас уақыт күрделілігімен таңдалған қарапайым мәтін / таңдалған шифрланған мәтін сценарийінде қолданылуы мүмкін. Хуфу сонымен қатар шифрдің 18 раундына дейін бұзуға болатын мүмкін емес дифференциалдық шабуылға да осал (Biham et al., 1999). Schneier және Kelsey (1996) Khafre және Khufu шифрлерін «толық емес, гетерогенді, мақсатты, ауыр, теңгерімсіз Феистель желілері» деп жіктемелейді.

Хафре

Хафре Хуфуға ұқсас, бірақ стандартты S-қораптар жиынтығын пайдаланады және оларды кілттен есептемейді. (Олар RAND кестелерінен жасалады, "қолда ештеңе жоқ" сандарының көзі ретінде қолданылады.) Артықшылығы – Хафре шағын көлемдегі деректерді өте жылдам шифрлей алады – кілттің икемділігі жоғары. Дегенмен, Хафре Хуфу сияқты қауіпсіздік деңгейіне жету үшін көбірек раундтарды қажет етеді, бұл оның үлкен көлемдегі деректерді шифрлауын баяулатады. Хафре кілтінің мөлшері 64-ке есеулі биттерден тұрады. S-қораптар кілтке тәуелді емес болғандықтан, Хафре әр сегіз раунд сайын кіші кілттерді XOR операциясы арқылы өзгертеді. Дифференциалдық криптоанализ Хафреге қарсы тиімді: 16 раундты 1500 таңдалған қара мәтін немесе 238 белгілі қара мәтін арқылы бұзуға болады. Сол сияқты, 24 раундты 253 таңдалған немесе 259 белгілі мәтін арқылы шабуылға алуға болады.