SipHash - SipHash - Wikipedia

SipHash bu qo'shish – aylantirish – xor (ARX) asosidagi oila pseudorandom funktsiyalari tomonidan yaratilgan Jan-Filipp Aumasson va Daniel J. Bernshteyn 2012 yilda,[1]:165[2] "hash toshqini" ning ko'payishiga javoban xizmatni rad etish xurujlari 2011 yil oxirida.[3]

Sifatida ishlatish uchun mo'ljallangan bo'lsa-da xash funktsiyasi kompyuter fanida SipHash tubdan farq qiladi kriptografik xash funktsiyalari kabi SHA chunki u faqat a sifatida mos keladi xabarni tasdiqlash kodi: a kalit kabi xash funktsiyasi HMAC. Ya'ni SHA shunday tuzilganki, tajovuzkor ikki xabarni topishi qiyin bo'ladi X va Y shunday qilib SHA (X) = SHA (Y), garchi har kim SHA-ni hisoblashi mumkin (X). Buning o'rniga SipHash buni kafolatlaydi Xmen va SipHash (Xmen, k), kalitni bilmagan tajovuzkor k topa olmayapti (haqida biron bir ma'lumot) k yoki SipHash (Y, k) har qanday xabar uchun Y ∉ {Xmen} ular ilgari ko'rmagan.

Umumiy nuqtai

SipHash 64 bitli hisoblaydi xabarni tasdiqlash kodi o'zgaruvchan uzunlikdagi xabar va 128 bitli maxfiy kalitdan. U qisqa kirish uchun ham samarali bo'lishi uchun ishlab chiqilgan, masalan, kriptografik bo'lmagan xash funktsiyalari bilan solishtirish mumkin CityHash,[4]:496[2]Shunday qilib, xizmatni rad etish hujumlarini oldini olish uchun foydalanish mumkin xash jadvallar ("hash toshqini"),[5] yoki autentifikatsiya qilish uchun tarmoq paketlari. Keyinchalik 128-bitli natijani beradigan variant qo'shildi.[6]

SHA kabi belgilanmagan xash funktsiyasi faqat to'qnashuvga chidamli bo'ladi, agar butun chiqish ishlatilsa. Agar ishlab chiqarish uchun ishlatilsa kichik chiqish, masalan, amaliy hajmdagi xash-jadvalga indeks, keyin hech qanday algoritm to'qnashuvlarning oldini ololmaydi; tajovuzkor faqat iloji boricha ko'proq urinishlarni amalga oshirishi kerak.

Masalan, tarmoq serveri bir vaqtning o'zida milliongacha so'rovlarni bajarishi uchun mo'ljallangan deb taxmin qiling. U xash funktsiyasidan foydalangan holda har bir so'rovdan ikki million mumkin bo'lgan jadval yozuvlaridan biriga aniqlovchi ma'lumotlarni xaritalash uchun xash-jadvalda kelgan so'rovlarni ikki million yozuv bilan kuzatib boradi. Xash funktsiyasini biladigan tajovuzkorga uni faqat o'zboshimchalik bilan kiritish kerak; ikki milliondan bittasi o'ziga xos xash qiymatiga ega bo'ladi. Agar tajovuzkor hozirda bir necha yuz so'rov yuboradigan bo'lsa, ularning hammasi so'ralgan bir xil serverga xash qiymati, bu juda ko'p miqdordagi xash to'qnashuvlarini keltirib chiqaradi, serverni shunga o'xshash effekt bilan sekinlashtiradi (yoki to'xtatadi). paketli toshqin millionlab so'rovlardan.[7]

Tajovuzkorga noma'lum kalitni ishlatib, SipHash kabi keshlangan xesh funktsiyasi bunday hujumni oldini oladi. Belgilanmagan xash funktsiyasiga kalit qo'shish mumkin bo'lsa ham (HMAC mashhur texnika), SipHash ancha samarali.

SipHash oilasidagi funktsiyalar SipHash- deb belgilanganv-d, qayerda v - har bir xabar bloki uchun tur soni va d yakuniy bosqichlar soni. Tavsiya etilgan parametrlar - eng yaxshi ishlash uchun SipHash-2-4 va konservativ xavfsizlik uchun SipHash-4-8.

The ma'lumotnomani amalga oshirish sifatida chiqarildi jamoat mulki dasturlari ostida CC0.[6]

Foydalanish

SipHash-da ishlatiladi xash jadvali amalga oshirish turli xil dasturiy ta'minot:[8]

Amaliyotlar

Shuningdek qarang

Adabiyotlar

  1. ^ Dobraunig, Kristof; Mendel, Florian; Schläffer, Martin (2014 yil 29-noyabr). SipHashning differentsial kriptanalizi. Kriptografiyada tanlangan hududlar bo'yicha xalqaro seminar. Kompyuter fanidan ma'ruza matnlari. 8781. 165-182 betlar. doi:10.1007/978-3-319-13051-4_10. ISBN  978-3-319-13050-7. Olingan 28 fevral 2018.
  2. ^ a b Jan-Filipp Aumasson va Daniel J. Bernshteyn (2012-09-18). "SipHash: tezkor qisqa muddatli PRF".
  3. ^ Lennon, Mayk (2011-12-28). "Hash jadvalining zaifligi keng DDoS hujumlarini ta'minlaydi". SecurityWeek.
  4. ^ Shunday qilib, Won; Narayanan, Ashok; Oran, Dovud; Stapp, Mark (2013). Routerda nomlangan ma'lumotlar tarmog'i: 20 gig / s va undan yuqori tezlikda yo'naltirish. SIGCOMM bo'yicha ACM SIGCOMM 2013 konferentsiyasi materiallari. p. 495. doi:10.1145/2486001.2491699. ISBN  9781450320566. S2CID  1457918. Olingan 28 fevral 2018. Yaqinda taklif qilingan SipHash [1] yaxshi muvozanatni taqdim etadi, chunki to'qnashuv qarshiligi va kripto bo'lmagan xeshlarga taqqoslanadigan ko'rsatkichlar mavjud.
  5. ^ Aumasson, Jan-Filipp; Bernshteyn, Daniel J.; Bosslet, Martin (2012-11-08). Hash-toshqinli DoS qayta yuklandi: hujumlar va mudofaa (PDF). Ilovalar xavfsizligi forumi - G'arbiy Shveytsariya 2012 yil.
  6. ^ a b "SipHash: tezkor qisqa muddatli PRF". 2016-08-01. Olingan 2017-01-21. Intellektual mulk: Biz SipHash bilan bog'liq biron bir patent yoki patentga talabnoma haqida xabardor emasmiz va hech kimga murojaat qilishni rejalashtirmayapmiz. SipHash-ning mos yozuvlar kodi CC0 litsenziyasi, jamoat domeniga o'xshash litsenziya asosida chiqariladi.
  7. ^ Krosbi, Skott A.; Uolach, Dan S. (2003-08-06). Algoritmik murakkablik hujumlari orqali xizmatni rad etish. Usenix xavfsizlik simpoziumi. Vashington, Kolumbiya
  8. ^ Jan-Filipp Aumasson; Daniel J. Bernshteyn (2016-08-01). "SipHash: tezkor qisqa muddatli PRF, foydalanuvchilar". Olingan 2017-01-21.
  9. ^ "Perl xavfsizlik - algoritmik murakkablik hujumlari". 2016-05-16. Olingan 2017-01-21.
  10. ^ Christian Heimes (2013-09-27). "PEP 456 - Xavfsiz va almashtiriladigan xash algoritmi". Olingan 2017-01-21.
  11. ^ "SipHash dasturini amalga oshiring, bizning xash funktsiyamiz sifatida ishlating / 64bit hashvals". 2018-07-16. Olingan 2018-07-16.
  12. ^ Graydon Xoare (2012-07-24). "SipHash-2-4 dasturini o'z ichiga olgan core :: hash-ni qo'shing. Re: # 1616 va # 859". Olingan 2017-01-21.
  13. ^ Lennart Poettering (2013-12-22). "birgalikda: bizning xash jadvalimiz dasturini SipHash-ga o'tkazing". Olingan 2017-01-21.
  14. ^ "Blokni ixcham o'rni". GitHub. Olingan 2018-09-27.
  15. ^ bslh_siphashalgorithm.h

Tashqi havolalar