Список хеш-функций - List of hash functions
Это список хэш-функции, включая циклический контроль избыточности, контрольная сумма функции и криптографические хеш-функции.
Циклический контроль избыточности
| Имя | Длина | Тип |
|---|---|---|
| cksum (Unix) | 32 бит | CRC с добавленной длиной |
| CRC-16 | 16 бит | CRC |
| CRC-32 | 32 бит | CRC |
| CRC-32 MPEG-2 | 32 бит | CRC |
| CRC-64 | 64 бит | CRC |
Адлер-32 часто ошибочно принимают за CRC, но это не так, это контрольная сумма.
Контрольные суммы
| Имя | Длина | Тип |
|---|---|---|
| Контрольная сумма BSD (Unix) | 16 бит | сумма с круговым вращением |
| Контрольная сумма SYSV (Unix) | 16 бит | сумма с круговым вращением |
| сумма 8 | 8 бит | сумма |
| сумма16 | 16 бит | сумма |
| сумма24 | 24 бит | сумма |
| сумма32 | 32 бит | сумма |
| Флетчер-4 | 4 бита | сумма |
| Флетчер-8 | 8 бит | сумма |
| Флетчер-16 | 16 бит | сумма |
| Флетчер-32 | 32 бит | сумма |
| Адлер-32 | 32 бит | сумма |
| xor8 | 8 бит | сумма |
| Алгоритм Луна | 1 десятичная цифра | сумма |
| Алгоритм Верхоффа | 1 десятичная цифра | сумма |
| Алгоритм дамма | 1 десятичная цифра | Квазигруппа операция |
Семейства универсальных хэш-функций
| Имя | Длина | Тип |
|---|---|---|
| Отпечаток пальца рабина | Переменная | умножать |
| хеширование таблиц | Переменная | XOR |
| универсальная односторонняя хеш-функция | ||
| Зобристское хеширование | Переменная | XOR |
Некриптографические хеш-функции
| Имя | Длина | Тип |
|---|---|---|
| Хеширование Пирсона | 8 бит (или больше) | XOR / таблица |
| SuperFastHash Пола Хси[1] | 32 бит | |
| Бужаш | Переменная | XOR / таблица |
| Хэш-функция Фаулера – Нолла – Во (Хеш FNV) | 32, 64, 128, 256, 512 или 1024 бит | xor / product или продукт / XOR |
| Хеш-функция Дженкинса | 32 или 64 бит | XOR / сложение |
| Бернштейн хеш djb2[2] | 32 или 64 бит | сдвиг / добавить или мульти / добавить или shift / add / xor или mult / xor |
| Хеш PJW / Эльфийский хеш | 32 или 64 бит | добавить, сдвиг, xor |
| MurmurHash | 32, 64 или 128 бит | продукт / ротация |
| Быстрое хеширование[3] | 32, 64 бит | xorshift операции |
| SpookyHash | 32, 64 или 128 бит | видеть Хеш-функция Дженкинса |
| CityHash[4] | 32, 64, 128 или 256 бит | |
| FarmHash[5] | 32, 64 или 128 бит | |
| MetroHash[6] | 64 или 128 бит | |
| числовой хеш (nhash)[7] | Переменная | деление / по модулю |
| xxHash[8] | 32, 64, 128 бит | продукт / ротация |
| t1ha (быстрый положительный хеш)[9] | 64 и 128 бит | продукт / вращение / XOR / добавить |
| pHash[10] | фиксированный или переменный | видеть Перцептивное хеширование |
| дхаш[11] | 128 бит | видеть Перцептивное хеширование |
| SDBM [12][13] | 32 или 64 бит | мульт / добавить или сдвиг / добавить также используется в GNU AWK |
Криптографические хеш-функции с ключом
| Имя | Длина тега | Тип |
|---|---|---|
| BLAKE2 | произвольный | хеш-функция с ключом (префикс-MAC) |
| BLAKE3 | произвольный | хэш-функция с ключом (входит в комплект поставки IV) |
| HMAC | ||
| KMAC | произвольный | на основе Keccak |
| MD6 | 512 бит | Дерево Меркла NLFSR |
| Один ключ MAC (OMAC; CMAC) | ||
| PMAC (криптография) | ||
| Поли1305-AES | 128 бит | на основе nonce |
| SipHash | 64 бит | неустойчивый к столкновениям PRF |
| HighwayHash[14] | 64, 128 или 256 бит | неустойчивый к столкновениям PRF |
| UMAC | ||
| VMAC |
Криптографические хеш-функции без ключа
| Имя | Длина | Тип |
|---|---|---|
| БЛЕЙК-256 | 256 бит | Структура HAIFA[15] |
| БЛЕЙК-512 | 512 бит | Структура HAIFA[15] |
| BLAKE2s | до 256 бит | Структура HAIFA[15] |
| BLAKE2b | до 512 бит | Структура HAIFA[15] |
| BLAKE2X | произвольный | Структура HAIFA,[15] дизайн расширяемых функций вывода (XOF)[16] |
| BLAKE3 | произвольный | Дерево Меркла |
| ECOH | От 224 до 512 бит | хэш |
| ФСБ | От 160 до 512 бит | хэш |
| ГОСТ | 256 бит | хэш |
| Grøstl | до 512 бит | хэш |
| HAS-160 | 160 бит | хэш |
| HAVAL | От 128 до 256 бит | хэш |
| JH | От 224 до 512 бит | хэш |
| LSH[17] | От 256 до 512 бит | широкая труба Строительство Меркле-Дамгарда |
| MD2 | 128 бит | хэш |
| MD4 | 128 бит | хэш |
| MD5 | 128 бит | Строительство Меркле-Дамгарда |
| MD6 | до 512 бит | Дерево Меркла NLFSR (это также хеш-функция с ключом) |
| RadioGatún | произвольный | идеальная функция искажения |
| RIPEMD | 128 бит | хэш |
| РИПЭМД-128 | 128 бит | хэш |
| РИПЭМД-160 | 160 бит | хэш |
| РИПЭМД-320 | 320 бит | хэш |
| SHA-1 | 160 бит | Строительство Меркле-Дамгарда |
| SHA-224 | 224 бит | Строительство Меркле-Дамгарда |
| SHA-256 | 256 бит | Строительство Меркле-Дамгарда |
| SHA-384 | 384 бит | Строительство Меркле-Дамгарда |
| SHA-512 | 512 бит | Строительство Меркле-Дамгарда |
| SHA-3 (подмножество Keccak) | произвольный | функция губки |
| Моток | произвольный | Уникальная итерация блока |
| Снефру | 128 или 256 бит | хэш |
| Спектральный хеш | 512 бит | широкотрубная конструкция Merkle – Damgård |
| Стрибог | 256 или 512 бит | Строительство Меркле-Дамгарда |
| SWIFFT | 512 бит | хэш |
| Тигр | 192 бит | Строительство Меркле-Дамгарда |
| Водоворот | 512 бит | хэш |
Смотрите также
- Сводка по безопасности хеш-функции
- Безопасные алгоритмы хеширования
- Конкурс хеш-функций NIST
- Ключевые производные функции (категория)
Рекомендации
- ^ «Хеш-функции». www.azillionmonkeys.com. Получено 2015-06-10.
- ^ «Хеш-функции». www.cse.yorku.ca. Получено 2020-06-16.
- ^ Zilong Tan. "быстрый хеш на Github".
- ^ cityhash на GitHub
- ^ фармхаш на GitHub
- ^ MetroHash на GitHub
- ^ Код Perl вверху страницы, текст на английском языке внизу.
- ^ xxHash на GitHub
- ^ Леонид Юрьев. "t1ha на Github".
- ^ "pHash.org: дом pHash, перцепционной хеш-библиотеки с открытым исходным кодом". pHash.org. Получено 2020-06-16.
- ^ "дхаш". PyPI. 2017-08-23. Получено 2020-06-16.
- ^ «Хеш-функции». www.cse.yorku.ca. Получено 2020-06-16.
- ^ "оригинальный исходный код SDBM". репозиторий зеркала github. Получено 2020-10-30.
- ^ шоссе на GitHub
- ^ а б c d е Эли Бихам и Орр Дункельман (20 июля 2007 г.). «Платформа для итеративных хеш-функций - HAIFA». Цитировать журнал требует
| журнал =(помощь) - ^ Жан-Филипп Аумассон, Сэмюэл Невес, Зуко Уилкокс-О’Хирн и Кристиан Виннерлейн (3 декабря 2016 г.). "BLAKE2X" (PDF). Цитировать журнал требует
| журнал =(помощь)CS1 maint: несколько имен: список авторов (связь) - ^ Ким, Донг-Чан; Хонг, Деукджо; Ли, Юнг-Гын; Ким и У-Хван; Квон, Дэсон (2016). "LSH: новое семейство функций быстрого безопасного хеширования" (PDF). Цитировать журнал требует
| журнал =(помощь)