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

Див. також

[ред. | ред. код]