Fugue (xash funktsiyasi) - Fugue (hash function)

Fug a kriptografik xash funktsiyasi tomonidan taqdim etilgan IBM uchun NIST xash funktsiyalari raqobati. U tomonidan ishlab chiqilgan Shai Halevi, Uilyam E. Xoll va Charanjit S. Jutla. Fugue o'zboshimchalik bilan uzunlikdagi xabarni oladi va uni sobit bit uzunligiga qadar siqadi (yoki 224, 256, 384 yoki 512 bit). Har xil chiqish uzunliklari uchun xash funktsiyalari Fugue-224, Fugue-256, Fugue-384 va Fugue-512 deb nomlanadi. Mualliflar Fugue-ning parametrlangan versiyasini ham tasvirlashadi. Fugue-256 ning zaif versiyasi ham ushbu parametrlangan versiyadan foydalanib tavsiflanadi.

Fugue-ning savdo nuqtasi mualliflarning hozirgi hujum strategiyasining keng doirasiga asoslanganligini tasdiqlovchi dalilidir differentsial kriptanaliz Fugue qarshi samarali bo'lishi mumkin emas. Shuningdek, u NIST xesh funktsiyasi bilan raqobatbardosh deb da'vo qilmoqda SHA-256 ham dasturiy ta'minot, ham apparat samaradorligi jihatidan 36,2 ga erishish bayt uchun tsikllar Intel Family 6 Model 15 Xeon 5150-da va 25 tagacha bayt uchun tsikllar Intel Core 2 protsessorida T7700. 45 nm Core2 protsessorlarida, masalan. T9400, Fugue-256 SSE4.1 ko'rsatmalaridan foydalangan holda har bayt uchun 16 tsiklda ishlaydi. Yangi Westmere arxitekturalarida (32 nm), masalan. Core i5, Fugue-256 14 tsikl / baytda ishlaydi.

Fugue dizayni xash funktsiyasidan boshlanadi Grindaxl, va Grindahl kabi ishlatadi S-box dan AES, lekin u 4 × 4 ustunli aralashtirish matritsasini diffuziyani sezilarli darajada yaxshilaydigan 16 × 16 "super-mix" operatsiyasi bilan almashtiradi. Biroq, "super-mix" operatsiyasi hisoblash uchun AES aralashtirish strategiyasidan bir oz qimmatroq.

SuperMix

Fugue ning 224 va 256 bitli variantlari 4 ta 30 ta imzosiz bayt matritsasida ifodalanishi mumkin bo'lgan holat bilan ishlaydi, 384 va 512 bitli variantlar esa 4 x 36 baytli matritsalar bilan ishlaydi. Amaliyotlar ushbu holat bo'yicha o'z joylarida amalga oshirilishi mumkin.

"SuperMix transformatsiyasi" deb nomlangan algoritmning yadrosi kirish sifatida 4 × 4 matritsani oladi va yangi 4x4 matritsani qaytaradi. SuperMix-ga kirish shunchaki joriy 30 ustunli holatning dastlabki to'rtta ustunidir va natijada aynan shu holat maydonini almashtirish uchun foydalaniladi (ya'ni SuperMix holatning boshidagi faqat 4x4 matritsaga ta'sir qiladi).

SuperMix funktsiyasini quyidagicha aniqlash mumkin:

qaerda:

;
4x4 bayt matritsasi (ya'ni kirish S-box o'rnini bosgandan keyin matritsa); va
M.ning transpozitsiyasidir.

Transformatsiya 4x4 matritsani oladi va ni aylantiradi chap tomonda - uchinchi qator bayt, ya'ni

Fugue 2.0

Fugue 2.0 - asl Fugue-ning tweakidir, u 256-bitli chiqish uchun Fugue tezligidan taxminan ikki baravar tezroq ishlaydi. Dizaynerlar ushbu takomillashtirilgan versiya uchun differentsial to'qnashuv hujumlariga qarshilik ko'rsatishning ilg'or dalillarini da'vo qilishmoqda.

Tashqi havolalar