Українська

Інструменти розробника · SHA калькулятор хешу

Ефект Avalanche: Чому один Змінений персонаж перезаписує SHA Хати

· Як працює

Опубліковано ToolAcre · Редакція журналу

шемале256 криптографія безпека введення

Два SHA-256 перетрави показані трохи, з грубо половина біт, що перевернулися між ними, ілюструючи ефект авальанче з однієї зміни символів
Головна ToolAcre векторна ілюстрація

Зміна одного листа і грубо половина виходу біт фліп. Цей пост пояснює властивість avalanche, чому це важливо для виявлення тамперів, і як SHA-2's rounds досягати його.

Очікуючи хеш, щоб змінити трохи — інтуїція більшості людей приносить і чому дизайн навмисно розбиває його

Більшість людей очікують, що подібні вводи виробляють аналогічні результати. Зміна одного персонажа в файлі і дайджест повинен трохи змінитися. Замість криптографічних хешів призначені для того, щоб зробити протилежність: одностороння зміна вводу повинна закріпити приблизно половину вихідного біта, непередбачувано. Ця властивість називається ефектом avalanche, і він навмисний. У дизайні є конкретне призначення: виявлення тампера.

Не є поняття в світі хешування. А хеш відповідає точно, або це не так. Немає «завтра». Ця властивість робить роботу корисним для перевірки цілісності та адресування вмісту, а це робить слабкі алгоритми, що не мають можливості для цілей безпеки.

Avalanche - це широкий вибір дифузії; ця стаття не викликає точної ймовірності

Формально ефект авальницької означає, що для двох вводів, які відрізняються одним бітом, вихідні трави повинні відрізнятися приблизно 50% від їх укусів. Для SHA-256 (256 bits від виходу), зміна одного вхідного біта повинна скріпитися грубо 128 вихідного біта. Ефект не точний; це статистична властивість. Але він міцний: на практиці кожен біт введення ретельно перемішується з кожним бітом виходу.

Чому приблизно половина? Оскільки дійсно випадковий вихід буде відрізнятися від іншої випадкової виходу в точно половину її біт на середньому (за принципом порося і базовою статистикою). Хороша функція хешу приблизно випадковість; вона виробляє вихід, який з'являється, не має незнімного шаблону. Половина укусів в середньому - закладка випадковості. Якщо хеш тільки мухований 10% від укусів, нападник може знайти візерунки і використовувати їх.

Чому це потрібно для виявлення тампера — незначні редагування до документа не повинні виготовити найближчий випадок, що швидкий погляд приймається

Детекція Тампера спирається на авальанче. Якщо ви завантажте файл і складіть його SHA-256, очікуваний травлення ba7816... (як приклад). Атакувальник змінює файл, змінивши один байт. Нові зміни травлення від ba7816... до чогось, як 3d4e92... (повний різний). При перевірці файлу на очікуваний дайджест негайний і загальний. Немає номеру для непереносимості: файл був відтаперований.

Без авальанче, атакуючий може змінити байт і травлення може трохи змінитися, щоб ba7817... (одне шестигранне число різне). Щоденне порівняння може пропустити різницю. Атакувальник може навіть шукати вводи, які виробляють травлення, починаючи з ba78, стверджує, що файл є автентичним. Avalanche робить цю заборону дорогою: щоб знайти навіть два вводи, де дайджести починаються з того ж чотирьох цифр шестигранного типу вимагає більшої роботи, ніж дизайн дозволяє.

Як розподіляються раунди — обертання, доповнення та нелінійні функції, що забезпечують один вплив біту по всій державі

Круги в SHA-256 (і раунди в SHA-512) призначені для поширення змін. Кожен круглий міксує дані за допомогою нелінійних функцій (хоза, більшість) і обертання. Одностороння зміна в вході надходить в розклад повідомлення і пропагує через раунди. Повороти зсуву бітових позицій. Нелінійні функції приховують вплив біта: зміна біту керування у вибраній операції може закріпити будь-який з вихідного біта, залежно від обраних даних.

Початкові константи хешу, константи розкладу повідомлення, суми обертання, кількість раундів були обрані, щоб максимізувати ефект авальнички. Ці номери не довільні; вони приходять з SHA-2 специфікація і були cryptanalyzed широко. Будь-які зміни до констанцій або круглого підрахунку будуть виробляти різні алгоритми (наприклад, слабкий).

Створений приклад — має два вводи, які відрізняються одним характером і порівнюють перетрави трохи по

Тестування avalanche прямо вперед. Змішайте вхідний абс і замітте дайджест. Після того, як у вас є місце, або замініть один символ чимось іншим: abd. Порівняйте виходи шістнадцяти. Для SHA-256, грубо половина 64 цифри геї будуть відрізнятися. Розрахувати їх. Вектор тесту з ToolAcre пост: abc виробництво ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Порожня рядок виробляє e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855. Ті перетрави не мають шестигранних цифр.

Спробуйте ToolAcre калькулятор з будь-яким входом. Поставте вирок. Потім знову змініть один лист і похил. Розрахувати різні цифри шістнадцяти. Ви знайдете, що приблизно половина (32 з 64, в більшості випадків) відрізняються. Це авальничний ефект в дії. Це властивість алгоритму, що не збігається.

Аваланш не забезпечує схожість пошуку або саму кількісну стійкість до зіткнення

Avalanche не створює схожості на пошук або приблизний матч. Якщо у вас є дайджест ba7816... і ви хочете знайти аналогічний травень, ви не маєте ярлику. Ви повинні вгадувати або внести до кандидатів, поспілкуватися один, і перевірити точний матч. Ефект avalanche робить кожну здогадку, ймовірно, щоб виробляти аналогічний або абсолютно інший вихід. Деякі алгоритми хешування (в т.зв.-чутливий хеш) призначені для збереження подібності; вони корисні для виявлення і кластеризації, але вони не криптографічні хеші.

Аваланш не захищає від визначеного пошуку зіткнення. Для двох різних вводів, які виробляють однаковий травень, але простір пошуку величезний. Визначений пошук зіткнення - це інше питання від візуальної дифузії. Ця стаття не процитує іменинкову фігуру або апаратну лінію часу, тому що вона не була отримана тут. Нечутливий край не доводить, що авальанче не доводить, ані кількісний опір зіткнення.

Вечеря: немає поблизу пропущень — спробуйте один-характерний експеримент ToolAcre SHA hh калькулятор і дивитися всі зміни травлення

Про нас ToolAcre SHA хеш калькулятор працює SHA алгоритми через Web Crypto Ви можете використовувати його, щоб перевірити авальанчу самостійно. Кожен біт прецизії в алгоритмі подає в вихід, а впровадження Web Crypto аудитується і підтримується постачальником браузера. Ви переглядаєте реальний алгоритм в режимі реального входу. Підприємницька властивість, яка змінює один характер, перезаписує весь травень, не є недоліком; це функція, яка робить хешування роботи.

Коли ви використовуєте хеш для перевірки цілісності, ви спираєтеся на авальанче. Коли ви використовуєте його для адресування вмісту (наприклад, контейнерні травлення), ви залежать від майна, що крихітні зміни виробляють переважно різні трави. Коли ви використовуєте його в цифровому підписі (де підпис комп'ютерний над хешем повідомлення), ефект авальнички забезпечує, що тамперія з повідомленням виробляє помітні зміни. Готель знаходиться на території.