Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Блок шифрлар
Block ciphers
Криптографияда Хуфу және Хафре – 1989 жылы Xerox компаниясының Пало-Альто зерттеу орталығында жұмыс істеген кезде Ральф Меркл жасаған екі блок шифрі. Снефру, криптографиялық хэш-функциясымен бірге, шифрлер египеттік фараондар Хуфу, Хафре және Снеферу аттарымен аталады. Ерікті түрде Xerox, Хуфу және Хафрені жариялау алдында АҚШ Ұлттық қауіпсіздік агенттігіне (NSA) ұсынды. NSA ұлттық қауіпсіздік туралы алаңдаушылықтарды айта отырып, Xerox компаниясынан алгоритмдерді жарияламауды сұрады. АҚШ үкіметінің ірі мердігері – Xerox компаниясы, талапқа бойын бұрды. Дегенмен, мақаланы қараған рецензент оның көшірмесін Джон Гилморға жіберді, ол оны sci.crypt жаңалықтар тобы арқылы қолжетімді етті. Бұл Мерклдің тілегіне қайшы болған сияқты. Схема кейіннен 1990 жылғы CRYPTO конференциясында жарияланды (Merkle, 1990). Хуфу және Хафре Xerox компаниясымен патенттелді; патент 1991 жылдың 26 наурызында берілді.
In cryptography, Khufu and Khafre are two block ciphers designed by Ralph Merkle in 1989 while working at Xerox's Palo Alto Research Center. Along with Snefru, a cryptographic hash function, the ciphers were named after the Egyptian Pharaohs Khufu, Khafre and Sneferu. Under a voluntary scheme, Xerox submitted Khufu and Khafre to the US National Security Agency (NSA) prior to publication. NSA requested that Xerox not publish the algorithms, citing concerns about national security. Xerox, a large contractor to the US government, complied. However, a reviewer of the paper passed a copy to John Gilmore, who made it available via the sci. crypt newsgroup. It would appear this was against Merkle's wishes. The scheme was subsequently published at the 1990 CRYPTO conference (Merkle, 1990). Khufu and Khafre were patented by Xerox; the patent was issued on March 26, 1991.
Хуфу
Хуфу – 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 шифрлерін «толық емес, гетерогенді, мақсатты, ауыр, теңгерімсіз Феистель желілері» деп жіктемелейді.
Khufu is a 64 bit block cipher which, unusually, uses keys of size 512 bits; block ciphers typically have much smaller keys, rarely exceeding 256 bits. Most of the key material is used to construct the cipher's S boxes. Because the key setup time is quite time consuming, Khufu is not well suited to situations in which many small messages are handled. It is better suited to bulk encryption of large amounts of data. Khufu is a Feistel cipher with 16 rounds by default (other multiples of eight between 8 and 64 are allowed). Each set of eight rounds is termed an octet; a different S box is used in each octet. In a round, the least significant byte of half of the block is passed into the 8×32 bit S box. The S box output is then combined (using XOR) with the other 32 bit half. The left half is rotated to bring a new byte into position, and the halves are swapped. At the start and end of the algorithm, extra key material is XORed with the block (key whitening). Other than this, all the key is contained in the S boxes. There is a differential attack on 16 rounds of Khufu which can recover the secret key. It requires 243 chosen plaintexts and has a 243 time complexity (Gilbert and Chauvaud, 1994). 232 plaintexts and complexity are required merely to distinguish the cipher from random. A boomerang attack (Wagner, 1999) can be used in an adaptive chosen plaintext / chosen ciphertext scenario with 218 queries and a similar time complexity. Khufu is also susceptible to an impossible differential attack, which can break up to 18 rounds of the cipher (Biham et al., 1999). Schneier and Kelsey (1996) categorise Khafre and Khufu as "even incomplete heterogeneous target heavy Unbalanced Feistel Networks".
Хафре
Хафре Хуфуға ұқсас, бірақ стандартты S-қораптар жиынтығын пайдаланады және оларды кілттен есептемейді. (Олар RAND кестелерінен жасалады, "қолда ештеңе жоқ" сандарының көзі ретінде қолданылады.) Артықшылығы – Хафре шағын көлемдегі деректерді өте жылдам шифрлей алады – кілттің икемділігі жоғары. Дегенмен, Хафре Хуфу сияқты қауіпсіздік деңгейіне жету үшін көбірек раундтарды қажет етеді, бұл оның үлкен көлемдегі деректерді шифрлауын баяулатады. Хафре кілтінің мөлшері 64-ке есеулі биттерден тұрады. S-қораптар кілтке тәуелді емес болғандықтан, Хафре әр сегіз раунд сайын кіші кілттерді XOR операциясы арқылы өзгертеді. Дифференциалдық криптоанализ Хафреге қарсы тиімді: 16 раундты 1500 таңдалған қара мәтін немесе 238 белгілі қара мәтін арқылы бұзуға болады. Сол сияқты, 24 раундты 253 таңдалған немесе 259 белгілі мәтін арқылы шабуылға алуға болады.
Khafre is similar to Khufu, but uses a standard set of S boxes, and does not compute them from the key. (Rather, they are generated from the RAND tables, used as a source of "nothing up my sleeve numbers".) An advantage is that Khafre can encrypt a small amount of data very rapidly — it has good key agility. However, Khafre probably requires a greater number of rounds to achieve a similar level of security as Khufu, making it slower at bulk encryption. Khafre uses a key whose size is a multiple of 64 bits. Because the S boxes are not key dependent, Khafre XORs subkeys every eight rounds. Differential cryptanalysis is effective against Khafre: 16 rounds can be broken using either 1500 chosen plaintexts or 238 known plaintexts. Similarly, 24 rounds can be attacked using 253 chosen plaintexts or 259 known plaintexts.