Колізією хеш-функції називаються два різних вхідних блоки даних і таких, що
Колізії існують для більшості хеш-функцій, але для «хороших» хеш-функцій частота їх виникнення близька до теоретичного мінімуму. В деяких окремих випадках, коли множина різних вхідних даних є скінченною, можна задати ін'єктивну хеш-функцію, за визначенням без колізій. Однак, для хеш-функцій, які приймають вхідні дані змінної довжини і повертають хеш постійної довжини (таких як MD5), колізії обов'язково будуть існувати, оскільки хоча б для одного значення хеш-функції відповідна йому вхідна множина значень буде безкінечною — і будь-які два значення з цієї множини утворюють колізію.
Приклад
Розглянемо до прикладу хеш-функцію , визначену на множині цілих чисел. Її область значень складається з 19 елементів, а область визначення — безкінечна. Через те, що область множини прообразів явно більше множини значень, колізії мають існувати.
Побудуємо колізію для цієї хеш-функції для вхідного значення 38, хеш-сума якого дорівнює нулю. через те, що функція — періодична з періодом 19, то для будь-якого вхідного значення y, значення y+19 буде мати таку саму хеш-суму, що і y. Зокрема, для вхідного значення 38 таку саму хеш-суму будуть мати 57, 76 і т. д. Таким чином пари вхідних значень (38,57), (38,76) утворюють колізії хеш-функції .
Колізії криптографічних хеш-функцій
Через те, що криптографічні хеш-функції використовуються для підтвердження незмінності вхідної інформації, можливість швидкого знаходження колізій для них рівноцінна дискредитації. Наприклад, якщо хеш-функція використовується для створення цифрового підпису, тоді вміння знаходити колізії рівноцінне вмінню підробляти цифрові підписи. Тому ступенем криптографічної стійкості хеш-функції вважається обчислювальна складність знаходження колізій. В ідеалі не має існувати способу знайдення колізій ніж повний перебір. Якщо для деякої хеш-функції знаходиться спосіб знайдення колізій значно швидший за повний перебір, тоді ця хеш-функція припиняє вважатися криптостійкою і використовуватись для передачі і збереження секретної інформації. Теоретичні і практичні питання знаходження і використання колізій щорічно обговорюються в рамках міжнародних конференцій (наприклад, та ), а також в багатьох публікаціях.
Властивості криптографічних хеш-функцій
Для того, щоб хеш-функція H вважалась криптографічно стійкою, вона має задовольняти трьом основним вимогам, на яких ґрунтуються більшість застосувань хеш-функцій в криптографії:
- Незворотність: для заданого значення хеш-функції m має бути практично неможливо знайти блок даних , для якого .
- Стійкість до колізій першого роду: для заданого повідомлення M має бути практично неможливо підібрати друге повідомлення N, для якого .
- Стійкість до колізій другого роду: має бути практично неможливо підібрати пару повідомлень , які мають однаковий хеш.
Використання колізій для зламу
Як приклад можна розглянути процедуру автентифікації користувача:
- при реєстрації в системі користувач вводить свій пароль, до якого застосовується деяка хеш-функція, значення якої записується в базу даних;
- при кожному введені паролю, до нього застосовується та сама хеш-функція, а результат порівнюється з тим, що записаний в БД.
При такому підході, навіть якщо зловмисник отримає доступ до БД, він не зможе відновити паролі користувачів (при умові незворотності хеш-функції). Однак, якщо зловмисник вміє знаходити колізії для цієї хеш-функції, він зможе знайти підробний пароль, який буде мате ту саму хеш-суму, що і пароль користувача.
Можна використати колізії для підробки повідомлень: інформація про валютні операції, наприклад, часто шифрується за допомогою хеш-функцій; зловмисник, володіючи методом знаходження колізій цієї хеш-функції, може підмінити повідомлення підробним і тим самим вплинути на хід валютної операції.
Схожим чином можна використати колізії для підробки цифрового підпису і сертифіката.
Захист від використання колізій
Існує кілька методів захисту від , підробки паролів, підписів, сертифікатів, навіть якщо зловмиснику відомі методи побудови колізій для якої-небудь хеш-функції.
Одним з методів є метод «salt», який застосовується при збереженні UNIX-паролів — додавання деякої послідовності символів перед хешуванням. Іноді ця послідовність додається до отриманого хеша. Після такої процедури, підсумкові хеш-таблиці значно складніше аналізувати, а через те, що послідовність секретна, істотно підвищується складність побудови колізій — зловмиснику має бути відома послідовність «salt».
Іншим методом є конкатенація хешів, отриманих від двох різних хеш-функцій. При цьому, для того щоб підібрати колізії до хеш-функції , яка є конкатенацією хеш-функції и , необхідно знати методи побудови колізій для , і . Недоліком конкатенації є збільшення розміру хеша, що часто неприйнятно в реальних застосунках.
Методи пошуку колізій
Одним з найбільш простих і універсальних методів пошуку колізій є атака «днів народження». За допомогою цієї атаки знаходження колізії для хеш-функції розрядності біт потрібно в середньому близько операцій. Через це n-бітова хеш-функція вважається криптостійкою, якщо обчислювальна складність знаходження колізій для неї близька до .
Література
- Askitis, Nikolas; Zobel, Justin (2005). Consens, M.; Navarro, G. (ред.). Cache-Conscious Collision Resolution in String Hash Tables. International Symposium on String Processing and Information Retrieval. String Processing and Information Retrieval SPIRE 2005. Lecture Notes in Computer Science. Т. 3772. Berlin, Heidelberg: Springer Berlin Heidelberg. с. 91—102. doi:10.1007/11575832_11. ISBN .
- Nimbe, Peter; Ofori Frimpong, Samuel; Opoku, Michael (20 серпня 2014). An Efficient Strategy for Collision Resolution in Hash Tables. International Journal of Computer Applications. 99 (10): 35—41. Bibcode:2014IJCA...99j..35N. doi:10.5120/17411-7990. ISSN 0975-8887.
Ця стаття потребує додаткових для поліпшення її . (червень 2023) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U Vikipediyi ye statti pro inshi znachennya cogo termina Koliziya Koliziyeyu hesh funkciyi H displaystyle H nazivayutsya dva riznih vhidnih bloki danih x displaystyle x i y displaystyle y takih sho H x H y displaystyle H x H y Koliziyi isnuyut dlya bilshosti hesh funkcij ale dlya horoshih hesh funkcij chastota yih viniknennya blizka do teoretichnogo minimumu V deyakih okremih vipadkah koli mnozhina riznih vhidnih danih ye skinchennoyu mozhna zadati in yektivnu hesh funkciyu za viznachennyam bez kolizij Odnak dlya hesh funkcij yaki prijmayut vhidni dani zminnoyi dovzhini i povertayut hesh postijnoyi dovzhini takih yak MD5 koliziyi obov yazkovo budut isnuvati oskilki hocha b dlya odnogo znachennya hesh funkciyi vidpovidna jomu vhidna mnozhina znachen bude bezkinechnoyu i bud yaki dva znachennya z ciyeyi mnozhini utvoryuyut koliziyu PrikladRozglyanemo do prikladu hesh funkciyu H x x mod19 displaystyle H x x bmod 1 9 viznachenu na mnozhini cilih chisel Yiyi oblast znachen skladayetsya z 19 elementiv a oblast viznachennya bezkinechna Cherez te sho oblast mnozhini proobraziv yavno bilshe mnozhini znachen koliziyi mayut isnuvati Pobuduyemo koliziyu dlya ciyeyi hesh funkciyi dlya vhidnogo znachennya 38 hesh suma yakogo dorivnyuye nulyu cherez te sho funkciya H x displaystyle H x periodichna z periodom 19 to dlya bud yakogo vhidnogo znachennya y znachennya y 19 bude mati taku samu hesh sumu sho i y Zokrema dlya vhidnogo znachennya 38 taku samu hesh sumu budut mati 57 76 i t d Takim chinom pari vhidnih znachen 38 57 38 76 utvoryuyut koliziyi hesh funkciyi H x displaystyle H x Koliziyi kriptografichnih hesh funkcijCherez te sho kriptografichni hesh funkciyi vikoristovuyutsya dlya pidtverdzhennya nezminnosti vhidnoyi informaciyi mozhlivist shvidkogo znahodzhennya kolizij dlya nih rivnocinna diskreditaciyi Napriklad yaksho hesh funkciya vikoristovuyetsya dlya stvorennya cifrovogo pidpisu todi vminnya znahoditi koliziyi rivnocinne vminnyu pidroblyati cifrovi pidpisi Tomu stupenem kriptografichnoyi stijkosti hesh funkciyi vvazhayetsya obchislyuvalna skladnist znahodzhennya kolizij V ideali ne maye isnuvati sposobu znajdennya kolizij nizh povnij perebir Yaksho dlya deyakoyi hesh funkciyi znahoditsya sposib znajdennya kolizij znachno shvidshij za povnij perebir todi cya hesh funkciya pripinyaye vvazhatisya kriptostijkoyu i vikoristovuvatis dlya peredachi i zberezhennya sekretnoyi informaciyi Teoretichni i praktichni pitannya znahodzhennya i vikoristannya kolizij shorichno obgovoryuyutsya v ramkah mizhnarodnih konferencij napriklad ta a takozh v bagatoh publikaciyah Vlastivosti kriptografichnih hesh funkcij Dokladnishe kriptografichna hesh funkciya Dlya togo shob hesh funkciya H vvazhalas kriptografichno stijkoyu vona maye zadovolnyati trom osnovnim vimogam na yakih gruntuyutsya bilshist zastosuvan hesh funkcij v kriptografiyi Nezvorotnist dlya zadanogo znachennya hesh funkciyi m maye buti praktichno nemozhlivo znajti blok danih X displaystyle X dlya yakogo H X m displaystyle H X m Stijkist do kolizij pershogo rodu dlya zadanogo povidomlennya M maye buti praktichno nemozhlivo pidibrati druge povidomlennya N dlya yakogo H N H M displaystyle H N H M Stijkist do kolizij drugogo rodu maye buti praktichno nemozhlivo pidibrati paru povidomlen M M displaystyle M M yaki mayut odnakovij hesh Vikoristannya kolizij dlya zlamu Yak priklad mozhna rozglyanuti proceduru avtentifikaciyi koristuvacha pri reyestraciyi v sistemi koristuvach vvodit svij parol do yakogo zastosovuyetsya deyaka hesh funkciya znachennya yakoyi zapisuyetsya v bazu danih pri kozhnomu vvedeni parolyu do nogo zastosovuyetsya ta sama hesh funkciya a rezultat porivnyuyetsya z tim sho zapisanij v BD Pri takomu pidhodi navit yaksho zlovmisnik otrimaye dostup do BD vin ne zmozhe vidnoviti paroli koristuvachiv pri umovi nezvorotnosti hesh funkciyi Odnak yaksho zlovmisnik vmiye znahoditi koliziyi dlya ciyeyi hesh funkciyi vin zmozhe znajti pidrobnij parol yakij bude mate tu samu hesh sumu sho i parol koristuvacha Mozhna vikoristati koliziyi dlya pidrobki povidomlen informaciya pro valyutni operaciyi napriklad chasto shifruyetsya za dopomogoyu hesh funkcij zlovmisnik volodiyuchi metodom znahodzhennya kolizij ciyeyi hesh funkciyi mozhe pidminiti povidomlennya pidrobnim i tim samim vplinuti na hid valyutnoyi operaciyi Shozhim chinom mozhna vikoristati koliziyi dlya pidrobki cifrovogo pidpisu i sertifikata Zahist vid vikoristannya kolizij Isnuye kilka metodiv zahistu vid pidrobki paroliv pidpisiv sertifikativ navit yaksho zlovmisniku vidomi metodi pobudovi kolizij dlya yakoyi nebud hesh funkciyi Odnim z metodiv ye metod salt yakij zastosovuyetsya pri zberezhenni UNIX paroliv dodavannya deyakoyi poslidovnosti simvoliv pered heshuvannyam Inodi cya poslidovnist dodayetsya do otrimanogo hesha Pislya takoyi proceduri pidsumkovi hesh tablici znachno skladnishe analizuvati a cherez te sho poslidovnist sekretna istotno pidvishuyetsya skladnist pobudovi kolizij zlovmisniku maye buti vidoma poslidovnist salt Inshim metodom ye konkatenaciya heshiv otrimanih vid dvoh riznih hesh funkcij Pri comu dlya togo shob pidibrati koliziyi do hesh funkciyi C x y x z x displaystyle C x y x z x yaka ye konkatenaciyeyu hesh funkciyi y x displaystyle y x i z x displaystyle z x neobhidno znati metodi pobudovi kolizij dlya y x displaystyle y x i z x displaystyle z x Nedolikom konkatenaciyi ye zbilshennya rozmiru hesha sho chasto neprijnyatno v realnih zastosunkah Metodi poshuku kolizij Odnim z najbilsh prostih i universalnih metodiv poshuku kolizij ye ataka dniv narodzhennya Za dopomogoyu ciyeyi ataki znahodzhennya koliziyi dlya hesh funkciyi rozryadnosti n displaystyle n bit potribno v serednomu blizko 2n 2 displaystyle 2 n 2 operacij Cherez ce n bitova hesh funkciya vvazhayetsya kriptostijkoyu yaksho obchislyuvalna skladnist znahodzhennya kolizij dlya neyi blizka do 2n 2 displaystyle 2 n 2 LiteraturaAskitis Nikolas Zobel Justin 2005 Consens M Navarro G red Cache Conscious Collision Resolution in String Hash Tables International Symposium on String Processing and Information Retrieval String Processing and Information Retrieval SPIRE 2005 Lecture Notes in Computer Science T 3772 Berlin Heidelberg Springer Berlin Heidelberg s 91 102 doi 10 1007 11575832 11 ISBN 978 3 540 29740 6 Nimbe Peter Ofori Frimpong Samuel Opoku Michael 20 serpnya 2014 An Efficient Strategy for Collision Resolution in Hash Tables International Journal of Computer Applications 99 10 35 41 Bibcode 2014IJCA 99j 35N doi 10 5120 17411 7990 ISSN 0975 8887 Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno cherven 2023