N-Hash

N-Hash - криптографічна хеш-функція на основі циклічної функції FEAL.

Була розроблена в 1990 році фірмою Nippon Telegraph and Telephone (також розробила FEAL).

Спочатку, функція N-Hash була призначена для того, щоб вирішити проблему підміни інформації на шляху між двома користувачами телефонного зв'язку (Nippon Telegraph and Telephone - телекомунікаційна компанія) і прискорити пошук даних. Наприклад, якщо людина посилає смс-повідомлення, то перед доставкою воно буде перевірено на достовірність за допомогою хеш-функції. А якщо користувачеві продукції Nippon Telegraph and Telephone треба швидко знайти в телефоні чийсь контакт, то за допомогою N-Hash можна спростити процес пошуку імені у списку. Це здійснюється завдяки тому, що хеш-кодом (маленькою за обсягом визначальною частиною контакту) імені оголошується перша буква контакту.

Історія виникнення

В основі алгоритму N-Hash лежить блочний алгоритм шифрування FEAL. Найбільша телекомунікаційна компанія Nippon Telegraph and Telephone створила FEAL на основі DES. Але хоча цей алгоритм і виграє у швидкодії у DES, він є дуже ненадійним і легко уразливим: криптоаналітику вимагалося дуже мало інформації, щоб зламати алгоритм. Саме злом алгоритму FEAL спричинив появу хеш-функції N-Hash в 1990 році. N-Hash також виграє у швидкості у DES: порівняно з 9 Кбіт / сек для DES, N-Hash працює зі швидкістю 24 Кбіт / сек для 15-раундової схеми і зі швидкістю 29 Кбіт / сек для 12-раундової. При цьому Nippon Telegraph and Telephone домоглася підвищення надійності в порівнянні з FEAL.

Протягом деякого часу алгоритм N-Hash використовувався фірмою Nippon Telegraph and Telephone згідно з цілями даної функції, але через деякий час був розроблений метод днів народження, який з легкістю зламував цей алгоритм. У зв'язку зі зломом відмовилися не тільки від N-Hash, а й майже від всіх функцій, заснованих на блокових шифрах, так як для всіх них характерна одна і та ж проблема: вони легко вразливі методом днів народження. Замість них тепер використовують більш надійні функції, засновані на MD - технологіях: MD5, SHA-1 та інші, наведені в списку функцій, які на даний момент вважаються надійними (згідно зі стандартом ISO / IEC 10118).

Використання

Функція N-Hash використовувалася протягом недовгого часу на початку 1990-х років, поки не була зламана методом днів народження.

N-Hash призначалася для вирішення проблеми підміни даних:

  • Для сучасної людини ця проблема може легко бути описана на прикладі взаємодії людини та інтернет-магазину. Коли користувач замовляє небудь товар в інтернет-магазині, то магазин надсилає йому номер замовлення, суму платежу і т. д.. Далі, коли користувач намагається оплатити замовлення за допомогою, наприклад, Webmoney, то Webmoney обчислює хеш-код отриманого повідомлення і порівнює його з хеш-кодом, отриманим від інтернет-магазину. Якщо ці хеш-коди збігаються, то інформація, надіслана користувачем, правдива. Якщо не збігаються, то інформація визначається як помилкова і платіж не проходить.
  • Інший варіант використання простий: упорядкування контактів у мобільному телефоні за алфавітом і пошук контакту за першою літерою. Хеш-кодом імені вибирається перша буква цього імені, отже, коли людина натискає деяку букву в своєму телефоні, то шукається хеш-код, який збігається з цією буквою і на екран виводяться контакти, що починаються з неї.

Див. також

  • п
  • о
  • р
Загальні функції
  • MD5 (скомпрометована)
  • SHA-1 (скомпрометована)
  • SHA-2
  • SHA-3
  • BLAKE2
Фіналісти SHA-3
  • BLAKE
  • Grøstl[en]
  • JH[en]
  • Skein
  • Keccak (переможець)
Інші функції
  • BLAKE3[en]
  • 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
Коди автентифікації
повідомлення
  • 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]
Використання