Начало    Скачать    Изменения    Документация    Хэш-функции    Wiki    Лицензия  ru | en 

Хэш-функции


Хэш-функцией называется алгоритм, конвертирующий строку произвольной длины (сообщение) в битовую строку фиксированной длины, называемой хэш-кодом, проверочной суммой или цифровым отпечатком.

CRC32 (Cyclic redundancy check - Циклический избыточный код) простая хэш функция разработанная для защиты данных от случайных изменений в компьютерных устройствах, таких как сетевые карты и жёсткие диски. CRC32 определяется международным стандартом CRC32-IEEE 802.3 Алгоритм очень быстр и, несмотря на полную криптографическую незащищённость, широко используется благодаря простоте реализации и скорости. 32-битный хэш-код обычно представляется шестнадцатеричным числом из 8 символов.

MD4 алгоритм хэширования, разработанный Рональдом Л. Ривестом из RSA Data Security, Inc. В настоящее время считается ненадёжным. Это быстрый алгоритм (на 32-битных процессорах) и его используют при вычислении хэшей в peer-to-peer сети EDonkey 2000. Алгоритм описан в RFC 1320. Хэш-код представляет шестнадцатеричное число из 32 символов.

MD5 ещё один алгоритм хэширования, разработанный Рональдом Л. Ривестом из RSA Data Security, Inc. Представляет улучшенную версию MD4. Алгоритм описан в RFC 1321. В течении многих лет MD5 был стандартом интернет, но сейчас считается сломанным. Хэш-код представляет шестнадцатеричное число из 32 символов.

SHA1 (Secure Hash Algorithm 1) алгоритм хэширования, разработанный NSA в 1993. Описан в RFC 3174. Он примерно в 2-3 раза медленнее алгоритма MD5. Хэш-код представляет шестнадцатеричное число длины 40.

Tiger современная хэш-функция изобретённая Россом Андерсом и Эли Бихамом. Была специально придумана такой, чтобы быстро вычисляться на 64-битных процессорах. См. описание. Хэш-код представляет шестнадцатеричное число длины 48.

TTH (Tiger Tree Hash) хэш, вычисляющийся в древовидной форме с использованием алгоритма Tiger. См. описание. TTH используется в нескольких peer-to-peer сетях: Direct Connect, Gnutella, Gnutella2, а также в таких программах как DC++, Phex и Shareaza. Хэш-код представляет base32-закодированную строку длины 39.

BTIH (BitTorrent InfoHash) используется в p2p сети BitTorrent. Хэш-сумма зависит не только от данных, но и от имени файла и даже от программы вычисляющей хэш. RHash использует тот же метод, что и uTorrent. Хэш является строкой из 40 шестнадцатеричных чисел.

EDonkey 2000 один из самых быстрых алгоритмов хэширования. Он основан на устаревшем MD4 и используется в p2p сети EDonkey. Описание алгоритма: EDonkey network. Хэш-код представляет шестнадцатеричное число из 32 символов.

AICH (Advanced Intelligent Corruption Handler) хэш, вычисляющийся в древовидной форме с использованием алгоритма SHA1. См. описание. Хэш используется в p2p сети EDonkey и обычно включается в EDonkey-линки. Хэш-код представляет base32-закодированную строку длиной в 32 символа.

WHIRLPOOL - хэш функция, рекоммендованная проектом NESSIE и принятая как ISO/IEC 10118-3:2004 международный стандарт. Хэш представляется 128-цифровым шестнадцатеричным числом.

GOST - хэш-функция определённая в российском государственном стандарте ГОСТ Р 34.11-94. Существует две широко распространённые версии алгоритма - с «тестовым» и CryptoPro наборами параметров. Хэш функция медленнее аналогичных, но используется для цифровой подписи в российских государственных банках и предприятиях. Хэш представляет шестнадцатеричную строку длины 64.

HAS-160 - корейская хэш-сумма, разработанная для корейского алгоритма цифровой подписи (KCDSA). Хэш представляет шестнадцатеричную строку длины 40.

RIPEMD-160 (RACE Integrity Primitives Evaluation Message Digest) - 160-битная хэш-функция. Спецификация: веб-страница RIPEMD-160. Хэш представляет шестнадцатеричную строку длины 40.

EDON-R - семейство хэш-функций с произвольной длиной хэша. RHash поддерживает 256-битный и 512-битный варианты. 512-битный EDON-R является одним из самых быстрых алгоритмов на 64-битных процессорах. Хэш функция описана в статье: D. Gligoroski, S. Markovski, L. Kocarev Edon-R, An Infinite Family of Cryptographic Hash Functions (2006). 256-битный и 512-битный хэши представляют строку длиной 64 и 128 шестнадцатеричных символов соответсвенно.

Snefru - хэш функция разработанная Ральфом Меркле в 1990 и названная в честь египетского фараона Sneferu. В настоящее время она считается сломанной, к тому же она значительно медленнее современных хэш функций. Хэш 128-битного и 256-битного Snefru представляется шестнадцатеричной строкой длины 32 и 64 символа соответственно.

Ссылки