HAVAL
HAVAL — однонаправлена хеш-функція, розроблена Yuliang Zheng (англ.), Josef Pieprzyk (англ.) і Jennifer Seberry (англ.) в 1992 році. Для довільного вхідного повідомлення функція генерує хеш-значення, зване дайджестом повідомлення, яке може мати довжину 128, 160, 192, 224 або 256 біт. Кількість ітерацій — змінна, від 3 до 5. Кількість раундів на кожній ітерації — 32. Є модифікацією MD5.
Порівняння HAVAL і MD5
На відміну від хеш-функції MD5, у якої дайджест і число ітерацій мають фіксовані розміри, HAVAL надає 15 різних варіантів алгоритму за рахунок комбінування довжини дайджесту і числа ітерацій. Це забезпечує більшу гнучкість і, отже, робить хеш-функцію більш підходящою для додатків, в яких потрібна різна довжина хешу повідомлення і різний рівень безпеки. Експерименти показали, що HAVAL на 60% швидше MD5 при 3-х ітераціях, на 15% - при 4-х ітераціях і настільки ж швидкий при п'яти ітераціях.
Колізії HAVAL
Колізія хеш-функції - це отримання однакового значення функції для різних повідомлень. У 2003 році Bart Van Rompay, Alex Biryukov (англ.) і ін. виявили колізію для 3-ітераційного HAVAL. Для знаходження цієї колізії було потрібно приблизно 229 виконань функції стиснення H. У 2004 році китайські дослідники Wang Xiaoyun (англ.), Feng Dengguo, Lai Xuejia (англ.) і Yu Hongbo оголосили про виявлену ними уразливості в 3-ітераційному HAVAL-128, що дозволяє за 27 HAVAL-обчислень знаходити колізії. У 2006 році група китайських вчених на чолі з Wang Xiaoyun і Yu Hongbo провели дві атаки на 4-ітераційний HAVAL, що зажадали 243 і 236 операцій хешування відповідно. Вони ж запропонували першу теоретичну атаку на 5-ітераційний HAVAL з числом операцій хешування, приблизно рівним 2123.
Див. також
- п
- о
- р
- MD5 (скомпрометована)
- SHA-1 (скомпрометована)
- SHA-2
- SHA-3
- BLAKE2
- BLAKE
- Grøstl[en]
- JH[en]
- Skein
- Keccak (переможець)
- BLAKE3(інші мови)
- CubeHash[en]
- ECOH[en]
- FSB[en]
- Fugue[en]
- ГОСТ 34.311-95[ru]
- HAS-160[en]
- HAVAL
- Купина
- LSH[en]
- Lane[en]
- MASH-1[en]
- MASH-2[en]
- MD2
- MD4
- MD6
- MDC-2[en]
- N-Hash
- RIPEMD[en] (128 160 256[ru])
- RadioGatún[en]
- SIMD[en]
- SM3[en]
- SWIFFT
- Shabal[en]
- Snefru[en]
- Streebog[en]
- Tiger
- VSH[en]
- Whirlpool
розтягування ключів[en]
- HKDF[en]
- KDF1/KDF2
повідомлення
шифрування
- CCM[en]
- ChaCha20-Poly1305[en]
- CWC[en]
- EAX[en]
- GCM
- IAPM[en]
- OCB[en]
некриптографічні[en]
функції
- Adler-32[en]
- CRC
- FNV[en]
- Алгоритм Луна
- Колізійна
- Знаходження першовзору
- «Днів народження»
- Грубою силою
- Райдужна таблиця
- Сторонніми каналами
- Розширення довжини[en]
- Лавиновий ефект
- Колізія геш-функції
- Будова Меркла-Демґарда
- Функція губки
- HAIFA construction[en]
- Hash-based cryptography[en]
- Дерево Меркла
- Автентифікація повідомлень
- Доказ виконаної роботи
- Сіль
- Перець
Портал «Програмування» |
Ця стаття не містить посилань на джерела. Ви можете допомогти поліпшити цю статтю, додавши посилання на надійні (авторитетні) джерела. Матеріал без джерел може бути піддано сумніву та вилучено. (лютий 2017) |
Це незавершена стаття з криптографії. Ви можете допомогти проєкту, виправивши або дописавши її. |