Misol 11.7
A kriptografik hash funktsiyasi foydalanadi a hazm qilish ning 64 bitlar. Qanaqasiga ko'p hazm qiladi qiladi Momo Havo kerak uchun yaratmoq uchun 0,5 dan katta ehtimollik bilan bir xil dayjestga ega ikkita xabarni toping?
Yechim
Yaratiladigan dayjestlar soni k ≈ 1,18 × 2 n /2 ≈ 1,18 × 2 32 . Agar Momo Havo 2 20 ni sinab ko'rsa (deyarli bitta million) xabarlar boshiga ikkinchi, bu oladi 1.18 × 2 12 soniyalar, yoki Ozroq dan ikki soat. Bu anglatadi bu a 64 bit o'lchamdagi xabar dayjesti to'qnashuv hujumiga qarshi xavfsiz emas.
Muqobil To'qnashuv Hujum
Avvalgi to'qnashuv hujumi Momo Havo uchun foydali bo'lmasligi mumkin. Raqib yaratishi kerak ikkita xabar, bitta haqiqiy va bitta soxta, bu bir xil qiymatga hash. Har bir xabar mazmunli bo‘lishi kerak. Oldingi algoritm bunday turdagi to'qnashuvni ta'minlamaydi. Yechim ikkita mazmunli xabarni yaratish, lekin ortiqcha yoki o'zgartirish kiritishdir. lar uchun xabar uchun o'zgartirish tarkibi ning xabar holda o'zgaruvchan anglatadi- ing ning har biri. Uchun misol, a raqam ning xabarlar mumkin bo'l qilingan dan birinchi xabar tomonidan qo'shish bo'shliqlar, yoki o'zgaruvchan so'zlar, yoki qo'shish biroz ortiqcha so'zlar, va shunday yoqilgan. ikkinchi xabar ham bir qancha xabarlarni yaratishi mumkin. Keling, asl xabarga qo'ng'iroq qilaylik M va soxta xabar M ′ . Momo Havo M ning k xil variantini yaratadi (M 1 , M 2 , … , M k ) va k boshqacha variantlar ning M ′ (M ′ , M ′ , … , M ′ ). Momo Havo keyin foydalanadi Algoritm 11.4 uchun
hujumni boshlash.
1 2 k
Alternate_Collision_Attack (M [k], M′[k])
{
for (i = 1 to k )
{
D[i] ← h (M[i])
D′[i] ← h (M′[i])
if (D [i] = D′[j]) return (M[i], M′[j])
}
return failure
}
Algoritm 11.4 Muqobil to'qnashuv hujum
Ushbu algoritmning muvaffaqiyati ehtimoli qanday? Shubhasiz, bu narsaga bog'liq ro'yxatning o'lchami, k , Momo Havo tomonidan tanlangan. Ehtimolni topish uchun biz to'rtinchi tug'ilgan kundan foydalanamiz muammo. ikki hazm qilish ro'yxatlar yaratilgan tomonidan dastur belgilaydi ikki natijalar ning a tasodifiy
o'zgaruvchan. ehtimollik ning muvaffaqiyat hisoblanadi P ≈ 1 − e - k 2 / N. _ Agar Momo Havo ehtiyojlari uchun bo'l da kamida 50 boshiga
k ning o'lchami qanday bo'lishi kerak ? Ushbu qiymatni 11.3-jadvalda ham ko'rsatdik to'rtinchi tug'ilgan kun muammosi uchun: k ≈ 0,83 × N 1/2 yoki k ≈ 0,83 × 2 n /2 . Boshqacha aytganda, uchun Momo Havo uchun bo'l omadli Ko'proq dan 50% ning vaqt, u ehtiyojlari uchun yaratmoq a ro'yxati ning hazm qiladi bu proportsionaldir 2 n / 2 gacha .
qiyinchilik ning a muqobil to'qnashuv hujum hisoblanadi mutanosib uchun 2 n /2 .
Xulosa ning Hujumlar
Jadval 11.4 ko'rsatadi Daraja ning qiyinchilik uchun har biri hujum agar hazm qilish hisoblanadi n bitlar.
11.4-jadval Har bir hujum turi uchun qiyinchilik darajasi
Hujum
|
Qiymat ning k bilan P=1/2
|
Buyurtma
|
Oldindan tasvir
|
k ≈ 0,69 × 2 n
|
2 n
|
Ikkinchi preimage
|
k ≈ 0,69 × 2 n + 1
|
2 n
|
To'qnashuv
|
k ≈ 1.18 × 2 n /2
|
2 n /2
|
Muqobil to'qnashuv
|
k ≈ 0,83 × 2 n /2
|
2 n /2
|
Jadval 11.4 ko'rsatadi bu buyurtma, yoki qiyinchilik darajasi ning hujum, hisoblanadi ko'p Ozroq uchun to'qnashuv hujum dan uchun oldingi tasvir yoki ikkinchi oldingi tasvir hujumlar. Agar a hash algoritm hisoblanadi qarshilik - tantanali uchun to'qnashuv, biz kerak emas tashvish haqida oldingi tasvir va ikkinchi oldingi tasvir hujumlar.
Misol 11.8
Dastlab 64-bitli dayjestga ega xesh-funksiyalar to'qnashuv hujumlariga qarshi immunitetga ega ekanligiga ishonishgan. Lekin bilan kattalashtirish; ko'paytirish ichida qayta ishlash tezlik, Bugun hamma rozi bu bular hash funktsiyalari bor endi xavfsiz emas. Momo Havoga 1/2 ehtimollik bilan hujum boshlash uchun atigi 2 64/2 = 2 32 test kerak bo'ladi. Ko'proq. Aytaylik, u soniyada 2 ta 20 (bir million) testni bajarishi mumkin. U hujumni boshlashi mumkin 2 32 /2 20 = 2 12 soniya (deyarli bir soat).
Misol 11.9
Uzoq vaqt davomida standart xesh funktsiyalaridan biri bo'lgan MD5 (12-bobga qarang) hazm qiladi ning 128 bitlar. Kimga ishga tushirish a to'qnashuv hujum, raqib ehtiyojlari uchun sinov 2 64 (2 128/2 ) testlar ichida to'qnashuv algoritmi. Agar raqib bir soniyada 2 30 (bir milliarddan ortiq) sinovni o'tkaza olsa ham. va hujumni boshlash uchun 2 34 soniya (500 yildan ortiq) kerak bo'ladi. Ushbu turdagi hujumga asoslanadi Tasodifiy Oracle modelida. MD5 ga 2 64 dan kam sinovlarda hujum qilish mumkinligi isbotlangan algoritm tuzilishi tufayli.
Misol 11.10
SHA-1 (qarang Bob 12), a standart hash funktsiyasi rivojlangan tomonidan NIST, yaratadi hazm qiladi ning 160 bitlar. Funktsiya hujumlardir. To'qnashuv hujumini boshlash uchun raqib 2 160/2 = 2 80 testni sinab ko'rishi kerak. ichida to'qnashuv algoritm. Hatto agar raqib mumkin bajarish 2 30 (Ko'proq dan bitta milliard) testlar ichida a ikkinchidan, hujumni boshlash uchun 2 50 soniya (o'n ming yildan ortiq) kerak bo'ladi. Biroq, tadqiqotchilar funksiyaning ba'zi xususiyatlarini aniqladilar, bu esa unga qisqa vaqt ichida hujum qilish imkonini beradi dan yuqorida hisoblangan.
Misol 11.11
NIST standartiga aylanishi mumkin bo'lgan yangi xesh funktsiyasi SHA-512 (12-bobga qarang), 512-bitli digestga ega. Bu funktsiya to'qnashuv hujumlariga, albatta, chidamli Tasodifiy Oracle Model. Bu 2 512/2 kerak = 2 256 uchun testlar toping a bilan to'qnashuv ehtimoli 1/2.//
Do'stlaringiz bilan baham: |