Криптогрфічна технологія. Криптографічний хеш-функція.

in #busy6 years ago

Хеш-функція H() перетворює повідомлення довільної довжини в число («хеш») фіксованої довжини (для біткойна 256 біт).

  1. Вільна від колізій
    Це значить, що ніхто не може знайти такі X і Y, які не рівні між собою, але їх хеш-суми рівні між собою. Звідси випливає що якщо H(x) = H(y), то x = y.

Насправді колізії існують, але на даному етапі розвитку обчислювальної техніки їх знаходження практично неможливє. Щоб знайти такі колізії, у яких хеш-суми рівні, при X ≠ Y, потрібно використовувати 2 у ступеню 130 випадкових вступних рядків і з ймовірністю 99,8% хеш-суми 2 з них співпадуть.

Що нам дає властивість «вільна від колізій»? Тепер ми знаємо, що якщо H(x) = H(y), то х = y, а це в свою чергу дозволяє нам передавати хеш замість самих файлів (розмір хешів всього 256 біт, в той час як розмір вихідних даних може вимірюватися мегабайтами).

  1. Шифрування
    Хеш функція є незворотною. Це означає, що немає можливості, маючи тільки хеш H(x), знайти вихідний х.

  2. Puzzle-friendly
    Спробуємо розібратися з цією властивістю. Для кожної можливої вихідної змінної y, є k випадково вибране значення з масиву, що унеможливлює знаходження x, для якого H(k|x) = y.

Ідея полягає в тому, що якщо хтось захоче отримати певний y, підбираючи x, у нього це навряд чи вийде, оскільки до вхідних даних додається випадкова величина k.

Біткойн використовує функцію SHA-256, яка володіє вищепереліченими властивостями.

По суті вона бере повідомлення, які хешируються, і включає їх до блоків величиною 512 біт. Потім функція С стискає ці блоки до розміру 256 біт.


Sort:  

Hi LOVE YOUR POST MAN!!! LIKE MY POST TOO!!!!! HERE IS THE LINK: https://steemit.com/bots/@abusereports/last-minute-upvote-list-2018-05-02

Coin Marketplace

STEEM 0.20
TRX 0.12
JST 0.028
BTC 64400.67
ETH 3506.16
USDT 1.00
SBD 2.53