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
Фіналісти SHA-3
  • 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]
  • Argon2
  • Balloon[en]
  • Bcrypt
  • Catena[en]
  • crypt
  • LM hash[en]
  • Lyra2[en]
  • Makwa[en]
  • PBKDF2
  • Scrypt
  • yescrypt[en]
Формування ключа
  • HKDF[en]
  • KDF1/KDF2
Коди автентифікації
повідомлення
  • CBC-MAC
  • DAA[en]
  • GMAC
  • HMAC
  • NMAC[en]
  • OMAC[en]/CMAC[en]
  • PMAC[en]
  • Poly1305[en]
  • SipHash[en]
  • UMAC[en]
  • VMAC[en]
Режими аутентифікованого
шифрування
  • CCM[en]
  • ChaCha20-Poly1305[en]
  • CWC[en]
  • EAX[en]
  • GCM
  • IAPM[en]
  • OCB[en]
Контрольні сумми та
некриптографічні[en]
функції
Атаки (огляд[en])
Конструкції
Стандартизація
  • CAESAR Competition[en]
  • CRYPTREC
  • NESSIE
  • NIST SHA-3
  • Password Hashing Competition[en]
Використання

П:  Портал «Програмування»

Ця стаття не містить посилань на джерела. Ви можете допомогти поліпшити цю статтю, додавши посилання на надійні (авторитетні) джерела. Матеріал без джерел може бути піддано сумніву та вилучено. (лютий 2017)
Замок Це незавершена стаття з криптографії.
Ви можете допомогти проєкту, виправивши або дописавши її.