Криптографічна геш-функція — це геш-функція, яка є алгоритмом, що приймає довільний блок даних і повертає рядок встановленого розміру, (криптографічне) геш-значення, таке що (випадкові або навмисні) зміни даних (з дуже високою ймовірністю) змінять геш-значення. Дані до кодування часто звуть «повідомлення», а геш-значення іноді називають дайджест повідомлення (англ. message digest) або просто дайджест, дослівно «стислий виклад».
Ідеальна криптографічна геш-функція має чотири основні властивості:
- легкість обчислення геш-значення для будь-якого повідомлення
- нездійсненно утворити повідомлення для заданого геш-значення
- нездійсненно змінити повідомлення без зміни геша (лавиновий ефект)
- нездійсненно знайти два різних повідомлення з тим самим гешем
Криптографічні геш-функції часто застосовуються в інформаційній безпеці, особливо в цифровому підписі, коді автентифікації повідомлення (MAC) та інших формах автентифікації. Їх також можна використати як звичайну геш-функцію, для індексування даних в геш-таблиці, для виявлення повторення даних або унікального ототожнювання файлів і як контрольну суму для виявлення пошкодження даних. Насправді, в розрізі інформаційної безпеки, криптографічні геш-значення іноді називають (цифровими) відбитками пальців, контрольними сумами або просто геш-значеннями,хоча всі ці терміни означають функції швидше з різними властивостями і цілями.
Властивості
Більшість криптографічних геш-функцій спроектовано так, щоб на вхід подавався рядок довільної довжини, а на виході ми отримували геш-значення встановленої довжини.
Криптографічна геш-функція повинна витримувати всі відомі типи криптографічних атак. Щонайменше, вона повинна мати наступні властивості:
- Першовзорова стійкість
- для певного гешу має бути складно знайти повідомлення , таке що . Ця концепція стосується односторонньої функції. Функції, що не відповідають цій властивості вразливі до атак знаходження першовзору.
- Друга першовзорова стійкість
- Для певного входу має бути складно знайти інший вхід — де , такий що . Цю властивість іноді називають слабка колізійна стйкість (англ. weak collision resistance), і функцій, що не мають цієї властивості вразливі до атак знаходження першовзору другого роду.
- Колізійна стійкість
- Повинно бути складно знайти два різних повідомлення і , таких що . Така двійка зветься криптографічна геш-колізія. Цю властивість іноді називають сильна колізійна стійкість (англ. strong collision resistance). Воно вимагає щонайменше вдвічі довшого геш-значення ніж потрібно для першовзорової стійкості, інакше колізії можна знайти за допомогою атаки «днів народження».
Ці властивості мають на увазі, що зловмисник не може змінити вхідні дані без зміни дайджеста. Отже,якщо два рядки мають однаковий дайджест можна бути впевненим, що й самі вони такі.
Функції, що відповідають цим вимогам все ще можуть мати небажані властивості. Наразі[] популярні криптографічні геш-функції вразливі до атак через довжинне доповнення (англ. length-extension): знаючи і , але не знаючи , через вибір відповідного нападник може обчислити де позначає конкатенацію. Цю властивість можна використати, щоб розбити наївну схему автентифікацію побудовану на геш-функції. HMAC обходить цю проблему.
В ідеалі, користувач може забажати сильніших вимог. Унеможливити для супротивника знайти два повідомлення з істотно схожими дайджестами; або виявити буді-яку корисну інформацію про дані, маючи лише дайджест. Отже, криптографічна геш-функція наскільки можливо подібно до випадкової функції, залишаючись детерміністичною і ефективно обчислювальною.
Алгоритми контрольних сум, такі як та інші циклічні надлишкові перевірки, спроектовані із дотриманням набагато слабших вимог, і зазвичай непридатні для використання як криптографічні геш-функції. Наприклад, CRC використовували для цілісності повідомлень в WEP стандарті шифрування, але була легко віднайдена атака, що використовувала лінійність контрольної суми.
Ступінь складності
У криптографічній практиці, складність зазвичай значить майже певно поза досяжністю будь-якого супротивника, який не повинен мати змогу зламати систему впродовж часу коли безпека система вважається потрібною. Внаслідок цього значення терміну залежить від застосування, бо зусилля, що зловмисник може затратити на задачу зазвичай пропорційне його очікуваній вигоді. Однак, через те, що необхідні зусилля ростуть дуже швидко з довжиною дайджеста, навіть покращення потужності обчислення в тисячі разів можна знешкодити додаванням кількох десятків бітів наприкінці.
У деяких теоретичних аналізах складність має особливе математичне значення, таке як нерозв'язний за асимптотичний поліноміальний час. Такі інтерпретації складності важливі у вивчанні доказово безпечних криптографічних геш-функцій, але зазвичай не мають сильного зв'язку з практичною безпекою. Наприклад, алгоритм експоненці́йного часу іноді може бути досить швидким для здійсненної атаки. І навпаки, алгоритм поліноміального часу (наприклад, такий що вимагає n20 кроків для ключа в n цифр) може бути заповільним для практичного використання.
Приклад використання
Покажемо можливе використання криптографічної геш-функції: Аліса подає складну математичну проблему Бобові, і заявляє, що вона розв'язала її. Боб хотів би розв'язати її самостійно, але також хоче впевнитись що Аліса не блефує. Отже Аліса записує свій розв'язок, додає випадкове криптографічне число. Обчислює геш-значення і передає його Бобу (тоді як розв'язок і випадкове число залишаються в секреті). Тоді, за кілька днів, Боб приходить зі своїм розв'язком, і Аліса може довести, що вона мала розв'язок раніше відкриваючи випадкове число Бобові. (Це приклад простої ).
Застосування
Перевірка цілісності файлів або повідомлень
Важливим застосуванням безпечних гешів є перевірка цілісності повідомлень. Визначення чи були внесені якісь зміни в повідомлення (або файл), наприклад, можна здійснити порівнянням дайджестів до і після передачі (або іншої події).
Пов'язаним застосуванням є перевірка паролів. Зазвичай паролі не зберігаються відкритим текстом, а зберігаються їх геш-значення. Для автентифікації користувача, пароль наданий користувачем гешується і порівнюється зі збереженим гешем. Це також значить, що первинний пароль неможливо відновити, і при втраті його необхідно замінити новим.
Ідентифікатор файлу або даних
Геш-значення також може слугувати як спосіб надійного ототожнення файлів; декілька систем керування версіями, включно з Git, Mercurial і , використовують різнотипного вмісту для унікального ототожнення. Геші використовують для ідентифікації фалів в peer-to-peer мережах спільного використання файлів. Наприклад, , варіант геша MD4 поєднаний із розміром файлу, забезпечує достатню інформацію для знаходження джерела файлу, завантаження файлу і перевірки його вмісту. Інший приклад — це magnet-посилання. Такі файлові геші часто використовують як кореневі геші або .
Одне з головних застосувань геш-функцій — це можливість швидкого пошуку даних в геш-таблиці. Будучи геш-функцією певного типу, криптографічна геш-функція поводиться добре і тут також.
Однак, порівняно зі стандартною геш-функцією, криптографічна геш-функції тяжіють до більшої обчислювальної складності. Через це, їх більше використовують у випадках, де користувачу необхідно захистити себе від можливої підробки зловмисником.
Псевдовипадкова генерація й утворення ключів
Геш-функції також можна використати як породжувач псевдовипадкових бітів або для виведення нових ключів чи паролів з одного секретного ключа або пароля.
Геш-функції засновані на блочних шифрах
Існує декілька способів використання блочних шифрів для побудови криптографічних геш-функцій, особливо односторонньої функції стискання.
Методи нагадують режими операцій блочних шифрів зазвичай використовні для шифрування. Всі добре відомі геш-функції, включно з MD4, MD5, SHA-1 і SHA-2 побудовані зі складових подібних до блочних шифрів спроектованих для них, із гарантією, що отримана функція не бієктивна. Серед фіналістів змагання геш-функцій від NIST (SHA-3) присутні геш-функції зі складовими подібними до блочних шифрів (наприклад, Skein, BLAKE) та функції на основі інших дизайнів (Наприклад, , Keccak).
Стандартний блочний шифр такий як AES можна використати замість цих спеціальних блочних шифрів; це може бути корисним коли вбудована система має забезпечувати шифрування і гешування з мінімальним за розміром кодом або розміром плати. Однак, такий підхід відбувається на дієвості і безпеці. Шифри в геш-функціях створені для гешування: вони використовують великі ключі і блоки, можуть дієво змінювати ключ щоблока, і розроблені і перевірені на стійкість до атак з пов'язаними ключами. Шифри загального призначення мають різні цілі. Зокрема, розміри ключа і блоку в AES роблять нетривіальним використання його для утворення довгих геш-значень; шифрування з AES стає менш дієвим коли ключ змінюється щоблока; і атака з пов'язаними ключами робить його менш безпечним для використання в геш-функціях ніж для шифрування.
Будова Меркла-Демґарда
Геш-функція повинна бути в змозі перевести повідомлення довільної довжини в вихід встановленої довжини. Цього можна досягти через розбиття даних на вході в ряд блоків однакової довжини, і опрацювання їх послідовно із використанням односторонньої функції стискання. Функція стискання може бути розроблена для гешування або утворена з блочного шифру. Геш-функція побудована за будовою Меркла-Демґарда є настільки колізійно стійкою наскільки така її функція стискання; Будь-яку колізію геш-функції в цілому можна прослідити до колізії в функції стискання.
Останній оброблений блок також повинен бути однозначно довжинно-доповненим; це критично для безпеки побудови. Такий підхід зветься — будова Меркла-Демґарда. Найширше використовні геш-функції, включно з SHA-1 і MD5, мають такий вигляд.
Будова має деякі властиві вади, включно з атаками через довжинне доповнення (англ. length-extension) і створити-і-вставити (англ. generate-and-paste), також не може використати переваги паралельного обчислення. Тому, багато[] учасників змагання геш-функцій від NIST спроектовані на інших засадах.
Використання в побудові інших криптографічних примітивів
Геш-функції можна використати для будови інших криптографічних примітивів. Щоб отримані примітиви були криптографічно безпечними, треба обережно підходити до будови, щоб вислід був правильним.
MAC (Також відомі як геш-функції з ключем) часто будують з геш-функцій. HMAC є таким прикладом.
Так само як і блочні шифри можливо використовувати для будови геш-функцій, геш-функції можливо використовувати для побудови шифрів. Будови Luby-Rackoff із використанням геш-функцій можуть бути доказово безпечними, якщо підлегла функція безпечна. Також багато геш-функцій (включно з SHA-1 і SHA-2) побудовані із використанням спеціально розроблених блочних шифрів в будові Дейвіса-Меєра (англ. Davies-Meyer) або іншій. Див. , і .
Генератор псевдовипадкових чисел можна побудувати із використанням геш-функції. Це робиться поєднанням (секретного) випадкового зерна з лічильником і наступним гешуванням.
Деякі функції, такі як Skein, Keccak і видають довільної довжини потік і їх можна використати як потоковий шифр, хоча потоковий шифр також можна побудувати і з геш-функції з дайджестом встановленого розміру. Часто це роблять спочатку будуючи криптографічно безпечний генератор псевдовипадкових чисел і тоді використовуючи цей потік як ключ. Потоковий шифр SEAL, що використовує SHA-1 для побудови внутрішніх таблиць, які потім використовуються в генераторі ключа. Не надається гарантії, що SEAL так само сильний або слабкий як SHA-1.
Конкатенація криптографічних геш-функцій
Зчеплюючи виходи кількох геш-функцій ми отримуємо стійкість до колізій настільки високу як у найсильнішого з використаних алгоритмів. Наприкад, старіші версії TLS/SSL використовують об'єднані суми MD5 і SHA-1; це гарантувало, що метод віднайденя колізій в одній з цих функцій не дозволить підробити трафік захищений обома.
Для геш-функцій Меркла-Демгарда, зчеплена функція так само колізійно-стійка як і її найсильніша складова, але не більше. Joux зауважив, що 2 колізії призводять до n колізій: якщо здійсненно знайти два повідомлення з однаковим гешем MD5, тоді фактично не більш складно знайти скільки завнодно повідомлень з таким самим гешем MD5. Посеред n повідомлень з однаковим гешем MD5, ймовірно трапиться колізія в SHA-1. Додаткова робота по знаходженню колізій SHA-1 поліноміальна. Цей довід підсумований . Сучаснішій документ з повним доведенням безпечності такої поєднаної конструкції і чіткішим і повним поясненням викладеного.
Криптографічні геш-алгоритми
Існує велика кількість криптографічних геш-функцій, багато з них виявили вразливість і не повинні використовуватись. Навіть вдала атака проти послабленого варіанту може підірвати впевненість експертів і призвести до припинення застосування. Наприклад, в серпні 2004 знайшли слабкість в багатьох поширених на той час функціях, включно з SHA-0, RIPEMD і MD5. Це поставило питання про безпечність в перспективі геш-функцій отриамних на їх основі — зокрема, SHA-1 (посилена версія SHA-0), RIPEMD-128 і RIPEMD-160 (посилені версії RIPEMD). Ані SHA-0, ані RIPEMD не використовувались широко, бо були замінені на посилені версії.
Станом на 2009, найвживаніші криптографічні геш-функції це MD5 і SHA-1. Однак, MD5 зламали; атаку проти них використали для зламу SSL в 2008.
Геш-функції SHA-0 і SHA-1 розробило NSA. У лютому 2005, повідомили про успішну атаку на SHA-1, знаходження колізій за приблизно 269 операцій гешування, замість 280 очікуваних для 160-бітної геш-функції. В серпні 2005, повідомили про іншу успішну атаку на SHA-1, знаходження колізій за 263 операцій. Нові застосунки можуть уникнути цього через використання наступних членів сім'ї SHA, таких як SHA-2, або використання підходів на кшталт випадкового гешування за якого вхід опрацьовується із якимсь випадковим значенням перед застосуванням геш-функції, які не потребують колізійної стійкості.
Однак, для гарантування тривалої безпеки застосунків, що використовують геш-функції, запроваджено змагання з метою заміни для SHA-2, нова геш-функція отримає ім'я SHA-3 і стане федеральним стандартом у 2012. NIST випустив SHA-3 у серпні 2015.
У 2015 році в Україні розроблено геш-функцію Купина, яку введено в дію як національний стандарт ДСТУ 7564:2014 «Інформаційні технології. Криптографічний захист інформації. Функція хешування»
Хешування Біткойна
Цей розділ не містить . (грудень 2021) |
Транзакції платіжної системи Біткойна, які представляються у вигляді деякого масиву даних, об'єднуються в блоки (надалі, сукупність всіх блоків називатимемо блокчейном) і проходять через алгоритм хешування, тобто дані їх полів подаються на вхід криптографічної хеш-функції. Кожна транзакція вказує, звідки списуються кошти та куди вони прямують. Для вказівки адресата використовується його публічний ключ (унікальний ідентифікатор мережі Біткойн). Щоб адресат міг використати отримані гроші в рамках протоколу біткойна (виключаємо продаж власного гаманця — Wallet), він має створити нову транзакцію, яка братиме валюту з попередньої та перенаправлятиме за іншою адресою, використовуючи публічний ключ. Відповідно, нова транзакція разом із транзакціями інших користувачів мережі біткойн потрапить у новий блок. Таким чином число блоків у блокчейні зростає. Проте, кожна транзакція має бути схвалена — система має дійти консенсусу. Для цього є кілька способів, але в Біткойні використовується принцип Proof-of-Work (PoW). Після прийняття транзакції вона вважається справжньою і криптовалюта переходить від одного гаманця до іншого.
Система Біткойна є децентралізованою системою без виділених центрів генерації блоків. Кожен учасник може взяти набір транзакцій, що очікують включення до журналу, та сформувати новий блок. Більше того, у системах типу BitCoin такий учасник (майнер) ще й отримає премію у вигляді певної суми чи комісійних від прийнятих до блоку транзакцій.
Не можна просто сформувати блок у децентралізованих системах. Система має дійти консенсусу, тобто отримати схвалення. Для цього є кілька способів, але в Біткойні використовується принцип Proof-of-Work (PoW). Надійність таких систем полягає саме в тому, що новий блок не можна сформувати швидше (у середньому), ніж за певний час. Наприклад, за десять хвилин (BitCoin).
Примітки
- . vudang.com. Архів оригіналу за 29 October 2014.
- Зауважте, що будь-які два повідомлення, які утворюють колізію зчепленої функції, також утворюють колізії для всіх складових через природу дії зчеплення. Наприклад, якщо concat(sha1(message1), md5(message1)) == concat(sha1(message2), md5(message2)) тоді sha1(message1) == sha1(message2) і md5(message1)==md5(message2). Зчеплені функції можуть мати інші вади яких не має найсильніша функція — наприклад, вони можуть відкривати інформацію про повідомлення, хоча найсильніша складова ні, або бути виявити невипадковість тоді як найсильніша складова не має такої властивості — але не можуть бути менш колізійно-стійкими.
- Загальніше, якщо атака може створити колізію в внутрішньому стані однієї геш-функції, атакування всієї конструкції є лише так само складним як атака «днів народження» проти інших функцій. Дивись подробиці в наступних посиланнях на Joux і Finney.
- Antoine Joux. Multicollisions in Iterated Hash Functions. Application to Cascaded Constructions. LNCS 3152/2004, pages 306-316 Full text [ 2017-04-27 у Wayback Machine.].
- Jonathan J. Hoch and Adi Shamir. On the Strength of the Concatenated Hash Combiner when all the Hash Functions are Weak. — 2008. — 20 лютого. з джерела 5 травня 2012. Процитовано 18 травня 2012.
- Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger, MD5 considered harmful today: Creating a rogue CA certificate [ 20 вересня 2017 у Wayback Machine.], accessed March 29, 2009
- Shai Halevi, Hugo Krawczyk, Update on Randomized Hashing [ 5 червня 2011 у Wayback Machine.]
- Shai Halevi and Hugo Krawczyk, Randomized Hashing and Digital Signatures [ 20 червня 2009 у Wayback Machine.]
- . Архів оригіналу за 9 липня 2011. Процитовано 21 травня 2012.
- http://www.dsszzi.gov.ua/dstszi/control/uk/publish/article?art_id=120158&cat_id=119123 [ 18 вересня 2016 у Wayback Machine.] Держспецзв’язку впроваджує нові стандарти криптографічного захисту інформації
Ця стаття потребує додаткових для поліпшення її . (листопад 2017) |
Це незавершена стаття з криптографії. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Kriptografichna gesh funkciya ce gesh funkciya yaka ye algoritmom sho prijmaye dovilnij blok danih i povertaye ryadok vstanovlenogo rozmiru kriptografichne gesh znachennya take sho vipadkovi abo navmisni zmini danih z duzhe visokoyu jmovirnistyu zminyat gesh znachennya Dani do koduvannya chasto zvut povidomlennya a gesh znachennya inodi nazivayut dajdzhest povidomlennya angl message digest abo prosto dajdzhest doslivno stislij viklad Kriptografichna gesh funkciya a same SHA 1 v roboti Zauvazhte sho navit mala zmina danih na vhodi tut v slovi over znachno zminyuye vihid cherez tak zvanij lavinovij efekt Idealna kriptografichna gesh funkciya maye chotiri osnovni vlastivosti legkist obchislennya gesh znachennya dlya bud yakogo povidomlennya nezdijsnenno utvoriti povidomlennya dlya zadanogo gesh znachennya nezdijsnenno zminiti povidomlennya bez zmini gesha lavinovij efekt nezdijsnenno znajti dva riznih povidomlennya z tim samim geshem Kriptografichni gesh funkciyi chasto zastosovuyutsya v informacijnij bezpeci osoblivo v cifrovomu pidpisi kodi avtentifikaciyi povidomlennya MAC ta inshih formah avtentifikaciyi Yih takozh mozhna vikoristati yak zvichajnu gesh funkciyu dlya indeksuvannya danih v gesh tablici dlya viyavlennya povtorennya danih abo unikalnogo ototozhnyuvannya fajliv i yak kontrolnu sumu dlya viyavlennya poshkodzhennya danih Naspravdi v rozrizi informacijnoyi bezpeki kriptografichni gesh znachennya inodi nazivayut cifrovimi vidbitkami palciv kontrolnimi sumami abo prosto gesh znachennyami hocha vsi ci termini oznachayut funkciyi shvidshe z riznimi vlastivostyami i cilyami VlastivostiBilshist kriptografichnih gesh funkcij sproektovano tak shob na vhid podavavsya ryadok dovilnoyi dovzhini a na vihodi mi otrimuvali gesh znachennya vstanovlenoyi dovzhini Kriptografichna gesh funkciya povinna vitrimuvati vsi vidomi tipi kriptografichnih atak Shonajmenshe vona povinna mati nastupni vlastivosti Pershovzorova stijkist dlya pevnogo geshu h displaystyle h maye buti skladno znajti povidomlennya m displaystyle m take sho h hash m displaystyle h mathrm hash m Cya koncepciya stosuyetsya odnostoronnoyi funkciyi Funkciyi sho ne vidpovidayut cij vlastivosti vrazlivi do atak znahodzhennya pershovzoru Druga pershovzorova stijkist Dlya pevnogo vhodu m1 displaystyle m 1 maye buti skladno znajti inshij vhid m2 displaystyle m 2 de m1 m2 displaystyle m 1 neq m 2 takij sho hash m1 hash m2 displaystyle mathrm hash m 1 mathrm hash m 2 Cyu vlastivist inodi nazivayut slabka kolizijna stjkist angl weak collision resistance i funkcij sho ne mayut ciyeyi vlastivosti vrazlivi do atak znahodzhennya pershovzoru drugogo rodu Kolizijna stijkist Povinno buti skladno znajti dva riznih povidomlennya m1 displaystyle m 1 i m2 displaystyle m 2 takih sho hash m1 hash m2 displaystyle mathrm hash m 1 mathrm hash m 2 Taka dvijka zvetsya kriptografichna gesh koliziya Cyu vlastivist inodi nazivayut silna kolizijna stijkist angl strong collision resistance Vono vimagaye shonajmenshe vdvichi dovshogo gesh znachennya nizh potribno dlya pershovzorovoyi stijkosti inakshe koliziyi mozhna znajti za dopomogoyu ataki dniv narodzhennya Ci vlastivosti mayut na uvazi sho zlovmisnik ne mozhe zminiti vhidni dani bez zmini dajdzhesta Otzhe yaksho dva ryadki mayut odnakovij dajdzhest mozhna buti vpevnenim sho j sami voni taki Funkciyi sho vidpovidayut cim vimogam vse she mozhut mati nebazhani vlastivosti Narazi koli populyarni kriptografichni gesh funkciyi vrazlivi do atak cherez dovzhinne dopovnennya angl length extension znayuchi h m displaystyle h m i len m displaystyle mathrm len m ale ne znayuchi m displaystyle m cherez vibir vidpovidnogo m displaystyle m napadnik mozhe obchisliti h m m displaystyle h m m de displaystyle poznachaye konkatenaciyu Cyu vlastivist mozhna vikoristati shob rozbiti nayivnu shemu avtentifikaciyu pobudovanu na gesh funkciyi HMAC obhodit cyu problemu V ideali koristuvach mozhe zabazhati silnishih vimog Unemozhliviti dlya suprotivnika znajti dva povidomlennya z istotno shozhimi dajdzhestami abo viyaviti budi yaku korisnu informaciyu pro dani mayuchi lishe dajdzhest Otzhe kriptografichna gesh funkciya naskilki mozhlivo podibno do vipadkovoyi funkciyi zalishayuchis deterministichnoyu i efektivno obchislyuvalnoyu Algoritmi kontrolnih sum taki yak ta inshi ciklichni nadlishkovi perevirki sproektovani iz dotrimannyam nabagato slabshih vimog i zazvichaj nepridatni dlya vikoristannya yak kriptografichni gesh funkciyi Napriklad CRC vikoristovuvali dlya cilisnosti povidomlen v WEP standarti shifruvannya ale bula legko vidnajdena ataka sho vikoristovuvala linijnist kontrolnoyi sumi Stupin skladnosti U kriptografichnij praktici skladnist zazvichaj znachit majzhe pevno poza dosyazhnistyu bud yakogo suprotivnika yakij ne povinen mati zmogu zlamati sistemu vprodovzh chasu koli bezpeka sistema vvazhayetsya potribnoyu Vnaslidok cogo znachennya terminu zalezhit vid zastosuvannya bo zusillya sho zlovmisnik mozhe zatratiti na zadachu zazvichaj proporcijne jogo ochikuvanij vigodi Odnak cherez te sho neobhidni zusillya rostut duzhe shvidko z dovzhinoyu dajdzhesta navit pokrashennya potuzhnosti obchislennya v tisyachi raziv mozhna zneshkoditi dodavannyam kilkoh desyatkiv bitiv naprikinci U deyakih teoretichnih analizah skladnist maye osoblive matematichne znachennya take yak nerozv yaznij za asimptotichnij polinomialnij chas Taki interpretaciyi skladnosti vazhlivi u vivchanni dokazovo bezpechnih kriptografichnih gesh funkcij ale zazvichaj ne mayut silnogo zv yazku z praktichnoyu bezpekoyu Napriklad algoritm eksponenci jnogo chasu inodi mozhe buti dosit shvidkim dlya zdijsnennoyi ataki I navpaki algoritm polinomialnogo chasu napriklad takij sho vimagaye n20 krokiv dlya klyucha v n cifr mozhe buti zapovilnim dlya praktichnogo vikoristannya Priklad vikoristannyaPokazhemo mozhlive vikoristannya kriptografichnoyi gesh funkciyi Alisa podaye skladnu matematichnu problemu Bobovi i zayavlyaye sho vona rozv yazala yiyi Bob hotiv bi rozv yazati yiyi samostijno ale takozh hoche vpevnitis sho Alisa ne blefuye Otzhe Alisa zapisuye svij rozv yazok dodaye vipadkove kriptografichne chislo Obchislyuye gesh znachennya i peredaye jogo Bobu todi yak rozv yazok i vipadkove chislo zalishayutsya v sekreti Todi za kilka dniv Bob prihodit zi svoyim rozv yazkom i Alisa mozhe dovesti sho vona mala rozv yazok ranishe vidkrivayuchi vipadkove chislo Bobovi Ce priklad prostoyi ZastosuvannyaPerevirka cilisnosti fajliv abo povidomlen Vazhlivim zastosuvannyam bezpechnih geshiv ye perevirka cilisnosti povidomlen Viznachennya chi buli vneseni yakis zmini v povidomlennya abo fajl napriklad mozhna zdijsniti porivnyannyam dajdzhestiv do i pislya peredachi abo inshoyi podiyi Pov yazanim zastosuvannyam ye perevirka paroliv Zazvichaj paroli ne zberigayutsya vidkritim tekstom a zberigayutsya yih gesh znachennya Dlya avtentifikaciyi koristuvacha parol nadanij koristuvachem geshuyetsya i porivnyuyetsya zi zberezhenim geshem Ce takozh znachit sho pervinnij parol nemozhlivo vidnoviti i pri vtrati jogo neobhidno zaminiti novim Identifikator fajlu abo danih Gesh znachennya takozh mozhe sluguvati yak sposib nadijnogo ototozhnennya fajliv dekilka sistem keruvannya versiyami vklyuchno z Git Mercurial i vikoristovuyut riznotipnogo vmistu dlya unikalnogo ototozhnennya Geshi vikoristovuyut dlya identifikaciyi faliv v peer to peer merezhah spilnogo vikoristannya fajliv Napriklad variant gesha MD4 poyednanij iz rozmirom fajlu zabezpechuye dostatnyu informaciyu dlya znahodzhennya dzherela fajlu zavantazhennya fajlu i perevirki jogo vmistu Inshij priklad ce magnet posilannya Taki fajlovi geshi chasto vikoristovuyut yak korenevi geshi abo Odne z golovnih zastosuvan gesh funkcij ce mozhlivist shvidkogo poshuku danih v gesh tablici Buduchi gesh funkciyeyu pevnogo tipu kriptografichna gesh funkciya povoditsya dobre i tut takozh Odnak porivnyano zi standartnoyu gesh funkciyeyu kriptografichna gesh funkciyi tyazhiyut do bilshoyi obchislyuvalnoyi skladnosti Cherez ce yih bilshe vikoristovuyut u vipadkah de koristuvachu neobhidno zahistiti sebe vid mozhlivoyi pidrobki zlovmisnikom Psevdovipadkova generaciya j utvorennya klyuchiv Gesh funkciyi takozh mozhna vikoristati yak porodzhuvach psevdovipadkovih bitiv abo dlya vivedennya novih klyuchiv chi paroliv z odnogo sekretnogo klyucha abo parolya Gesh funkciyi zasnovani na blochnih shifrahIsnuye dekilka sposobiv vikoristannya blochnih shifriv dlya pobudovi kriptografichnih gesh funkcij osoblivo odnostoronnoyi funkciyi stiskannya Metodi nagaduyut rezhimi operacij blochnih shifriv zazvichaj vikoristovni dlya shifruvannya Vsi dobre vidomi gesh funkciyi vklyuchno z MD4 MD5 SHA 1 i SHA 2 pobudovani zi skladovih podibnih do blochnih shifriv sproektovanih dlya nih iz garantiyeyu sho otrimana funkciya ne biyektivna Sered finalistiv zmagannya gesh funkcij vid NIST SHA 3 prisutni gesh funkciyi zi skladovimi podibnimi do blochnih shifriv napriklad Skein BLAKE ta funkciyi na osnovi inshih dizajniv Napriklad Keccak Standartnij blochnij shifr takij yak AES mozhna vikoristati zamist cih specialnih blochnih shifriv ce mozhe buti korisnim koli vbudovana sistema maye zabezpechuvati shifruvannya i geshuvannya z minimalnim za rozmirom kodom abo rozmirom plati Odnak takij pidhid vidbuvayetsya na diyevosti i bezpeci Shifri v gesh funkciyah stvoreni dlya geshuvannya voni vikoristovuyut veliki klyuchi i bloki mozhut diyevo zminyuvati klyuch shobloka i rozrobleni i perevireni na stijkist do atak z pov yazanimi klyuchami Shifri zagalnogo priznachennya mayut rizni cili Zokrema rozmiri klyucha i bloku v AES roblyat netrivialnim vikoristannya jogo dlya utvorennya dovgih gesh znachen shifruvannya z AES staye mensh diyevim koli klyuch zminyuyetsya shobloka i ataka z pov yazanimi klyuchami robit jogo mensh bezpechnim dlya vikoristannya v gesh funkciyah nizh dlya shifruvannya Budova Merkla DemgardaDokladnishe Budova Merkla Demgarda Budova gesha za Merklom Demgardom Gesh funkciya povinna buti v zmozi perevesti povidomlennya dovilnoyi dovzhini v vihid vstanovlenoyi dovzhini Cogo mozhna dosyagti cherez rozbittya danih na vhodi v ryad blokiv odnakovoyi dovzhini i opracyuvannya yih poslidovno iz vikoristannyam odnostoronnoyi funkciyi stiskannya Funkciya stiskannya mozhe buti rozroblena dlya geshuvannya abo utvorena z blochnogo shifru Gesh funkciya pobudovana za budovoyu Merkla Demgarda ye nastilki kolizijno stijkoyu naskilki taka yiyi funkciya stiskannya Bud yaku koliziyu gesh funkciyi v cilomu mozhna prosliditi do koliziyi v funkciyi stiskannya Ostannij obroblenij blok takozh povinen buti odnoznachno dovzhinno dopovnenim ce kritichno dlya bezpeki pobudovi Takij pidhid zvetsya budova Merkla Demgarda Najshirshe vikoristovni gesh funkciyi vklyuchno z SHA 1 i MD5 mayut takij viglyad Budova maye deyaki vlastivi vadi vklyuchno z atakami cherez dovzhinne dopovnennya angl length extension i stvoriti i vstaviti angl generate and paste takozh ne mozhe vikoristati perevagi paralelnogo obchislennya Tomu bagato skilki uchasnikiv zmagannya gesh funkcij vid NIST sproektovani na inshih zasadah Vikoristannya v pobudovi inshih kriptografichnih primitivivGesh funkciyi mozhna vikoristati dlya budovi inshih kriptografichnih primitiviv Shob otrimani primitivi buli kriptografichno bezpechnimi treba oberezhno pidhoditi do budovi shob vislid buv pravilnim MAC Takozh vidomi yak gesh funkciyi z klyuchem chasto buduyut z gesh funkcij HMAC ye takim prikladom Tak samo yak i blochni shifri mozhlivo vikoristovuvati dlya budovi gesh funkcij gesh funkciyi mozhlivo vikoristovuvati dlya pobudovi shifriv Budovi Luby Rackoff iz vikoristannyam gesh funkcij mozhut buti dokazovo bezpechnimi yaksho pidlegla funkciya bezpechna Takozh bagato gesh funkcij vklyuchno z SHA 1 i SHA 2 pobudovani iz vikoristannyam specialno rozroblenih blochnih shifriv v budovi Dejvisa Meyera angl Davies Meyer abo inshij Div i Generator psevdovipadkovih chisel mozhna pobuduvati iz vikoristannyam gesh funkciyi Ce robitsya poyednannyam sekretnogo vipadkovogo zerna z lichilnikom i nastupnim geshuvannyam Deyaki funkciyi taki yak Skein Keccak i vidayut dovilnoyi dovzhini potik i yih mozhna vikoristati yak potokovij shifr hocha potokovij shifr takozh mozhna pobuduvati i z gesh funkciyi z dajdzhestom vstanovlenogo rozmiru Chasto ce roblyat spochatku buduyuchi kriptografichno bezpechnij generator psevdovipadkovih chisel i todi vikoristovuyuchi cej potik yak klyuch Potokovij shifr SEAL sho vikoristovuye SHA 1 dlya pobudovi vnutrishnih tablic yaki potim vikoristovuyutsya v generatori klyucha Ne nadayetsya garantiyi sho SEAL tak samo silnij abo slabkij yak SHA 1 Konkatenaciya kriptografichnih gesh funkcijZcheplyuyuchi vihodi kilkoh gesh funkcij mi otrimuyemo stijkist do kolizij nastilki visoku yak u najsilnishogo z vikoristanih algoritmiv Naprikad starishi versiyi TLS SSL vikoristovuyut ob yednani sumi MD5 i SHA 1 ce garantuvalo sho metod vidnajdenya kolizij v odnij z cih funkcij ne dozvolit pidrobiti trafik zahishenij oboma Dlya gesh funkcij Merkla Demgarda zcheplena funkciya tak samo kolizijno stijka yak i yiyi najsilnisha skladova ale ne bilshe Joux zauvazhiv sho 2 koliziyi prizvodyat do n kolizij yaksho zdijsnenno znajti dva povidomlennya z odnakovim geshem MD5 todi faktichno ne bilsh skladno znajti skilki zavnodno povidomlen z takim samim geshem MD5 Posered n povidomlen z odnakovim geshem MD5 jmovirno trapitsya koliziya v SHA 1 Dodatkova robota po znahodzhennyu kolizij SHA 1 polinomialna Cej dovid pidsumovanij Suchasnishij dokument z povnim dovedennyam bezpechnosti takoyi poyednanoyi konstrukciyi i chitkishim i povnim poyasnennyam vikladenogo Kriptografichni gesh algoritmiIsnuye velika kilkist kriptografichnih gesh funkcij bagato z nih viyavili vrazlivist i ne povinni vikoristovuvatis Navit vdala ataka proti poslablenogo variantu mozhe pidirvati vpevnenist ekspertiv i prizvesti do pripinennya zastosuvannya Napriklad v serpni 2004 znajshli slabkist v bagatoh poshirenih na toj chas funkciyah vklyuchno z SHA 0 RIPEMD i MD5 Ce postavilo pitannya pro bezpechnist v perspektivi gesh funkcij otriamnih na yih osnovi zokrema SHA 1 posilena versiya SHA 0 RIPEMD 128 i RIPEMD 160 posileni versiyi RIPEMD Ani SHA 0 ani RIPEMD ne vikoristovuvalis shiroko bo buli zamineni na posileni versiyi Stanom na 2009 najvzhivanishi kriptografichni gesh funkciyi ce MD5 i SHA 1 Odnak MD5 zlamali ataku proti nih vikoristali dlya zlamu SSL v 2008 Gesh funkciyi SHA 0 i SHA 1 rozrobilo NSA U lyutomu 2005 povidomili pro uspishnu ataku na SHA 1 znahodzhennya kolizij za priblizno 269 operacij geshuvannya zamist 280 ochikuvanih dlya 160 bitnoyi gesh funkciyi V serpni 2005 povidomili pro inshu uspishnu ataku na SHA 1 znahodzhennya kolizij za 263 operacij Novi zastosunki mozhut uniknuti cogo cherez vikoristannya nastupnih chleniv sim yi SHA takih yak SHA 2 abo vikoristannya pidhodiv na kshtalt vipadkovogo geshuvannya za yakogo vhid opracovuyetsya iz yakims vipadkovim znachennyam pered zastosuvannyam gesh funkciyi yaki ne potrebuyut kolizijnoyi stijkosti Odnak dlya garantuvannya trivaloyi bezpeki zastosunkiv sho vikoristovuyut gesh funkciyi zaprovadzheno zmagannya z metoyu zamini dlya SHA 2 nova gesh funkciya otrimaye im ya SHA 3 i stane federalnim standartom u 2012 NIST vipustiv SHA 3 u serpni 2015 U 2015 roci v Ukrayini rozrobleno gesh funkciyu Kupina yaku vvedeno v diyu yak nacionalnij standart DSTU 7564 2014 Informacijni tehnologiyi Kriptografichnij zahist informaciyi Funkciya heshuvannya Heshuvannya BitkojnaCej rozdil ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cej rozdil dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno gruden 2021 Tranzakciyi platizhnoyi sistemi Bitkojna yaki predstavlyayutsya u viglyadi deyakogo masivu danih ob yednuyutsya v bloki nadali sukupnist vsih blokiv nazivatimemo blokchejnom i prohodyat cherez algoritm heshuvannya tobto dani yih poliv podayutsya na vhid kriptografichnoyi hesh funkciyi Kozhna tranzakciya vkazuye zvidki spisuyutsya koshti ta kudi voni pryamuyut Dlya vkazivki adresata vikoristovuyetsya jogo publichnij klyuch unikalnij identifikator merezhi Bitkojn Shob adresat mig vikoristati otrimani groshi v ramkah protokolu bitkojna viklyuchayemo prodazh vlasnogo gamancya Wallet vin maye stvoriti novu tranzakciyu yaka bratime valyutu z poperednoyi ta perenapravlyatime za inshoyu adresoyu vikoristovuyuchi publichnij klyuch Vidpovidno nova tranzakciya razom iz tranzakciyami inshih koristuvachiv merezhi bitkojn potrapit u novij blok Takim chinom chislo blokiv u blokchejni zrostaye Prote kozhna tranzakciya maye buti shvalena sistema maye dijti konsensusu Dlya cogo ye kilka sposobiv ale v Bitkojni vikoristovuyetsya princip Proof of Work PoW Pislya prijnyattya tranzakciyi vona vvazhayetsya spravzhnoyu i kriptovalyuta perehodit vid odnogo gamancya do inshogo Sistema Bitkojna ye decentralizovanoyu sistemoyu bez vidilenih centriv generaciyi blokiv Kozhen uchasnik mozhe vzyati nabir tranzakcij sho ochikuyut vklyuchennya do zhurnalu ta sformuvati novij blok Bilshe togo u sistemah tipu BitCoin takij uchasnik majner she j otrimaye premiyu u viglyadi pevnoyi sumi chi komisijnih vid prijnyatih do bloku tranzakcij Ne mozhna prosto sformuvati blok u decentralizovanih sistemah Sistema maye dijti konsensusu tobto otrimati shvalennya Dlya cogo ye kilka sposobiv ale v Bitkojni vikoristovuyetsya princip Proof of Work PoW Nadijnist takih sistem polyagaye same v tomu sho novij blok ne mozhna sformuvati shvidshe u serednomu nizh za pevnij chas Napriklad za desyat hvilin BitCoin Primitki vudang com Arhiv originalu za 29 October 2014 Zauvazhte sho bud yaki dva povidomlennya yaki utvoryuyut koliziyu zcheplenoyi funkciyi takozh utvoryuyut koliziyi dlya vsih skladovih cherez prirodu diyi zcheplennya Napriklad yaksho concat sha1 message1 md5 message1 concat sha1 message2 md5 message2 todi sha1 message1 sha1 message2 i md5 message1 md5 message2 Zchepleni funkciyi mozhut mati inshi vadi yakih ne maye najsilnisha funkciya napriklad voni mozhut vidkrivati informaciyu pro povidomlennya hocha najsilnisha skladova ni abo buti viyaviti nevipadkovist todi yak najsilnisha skladova ne maye takoyi vlastivosti ale ne mozhut buti mensh kolizijno stijkimi Zagalnishe yaksho ataka mozhe stvoriti koliziyu v vnutrishnomu stani odniyeyi gesh funkciyi atakuvannya vsiyeyi konstrukciyi ye lishe tak samo skladnim yak ataka dniv narodzhennya proti inshih funkcij Divis podrobici v nastupnih posilannyah na Joux i Finney Antoine Joux Multicollisions in Iterated Hash Functions Application to Cascaded Constructions LNCS 3152 2004 pages 306 316 Full text 2017 04 27 u Wayback Machine Jonathan J Hoch and Adi Shamir On the Strength of the Concatenated Hash Combiner when all the Hash Functions are Weak 2008 20 lyutogo z dzherela 5 travnya 2012 Procitovano 18 travnya 2012 Alexander Sotirov Marc Stevens Jacob Appelbaum Arjen Lenstra David Molnar Dag Arne Osvik Benne de Weger MD5 considered harmful today Creating a rogue CA certificate 20 veresnya 2017 u Wayback Machine accessed March 29 2009 Shai Halevi Hugo Krawczyk Update on Randomized Hashing 5 chervnya 2011 u Wayback Machine Shai Halevi and Hugo Krawczyk Randomized Hashing and Digital Signatures 20 chervnya 2009 u Wayback Machine Arhiv originalu za 9 lipnya 2011 Procitovano 21 travnya 2012 http www dsszzi gov ua dstszi control uk publish article art id 120158 amp cat id 119123 18 veresnya 2016 u Wayback Machine Derzhspeczv yazku vprovadzhuye novi standarti kriptografichnogo zahistu informaciyi Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno listopad 2017 Ce nezavershena stattya z kriptografiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi