EMZETT.
Увійти

Ентропія в криптографії

Коротко: Ентропія вимірює, наскільки непередбачуване значення. Надійним ключам потрібна ентропія, тобто справжня випадковість, яку зловмисник не може вгадати.

Докладніше: Вимірюється в бітах: значення з n бітами ентропії можна вгадати лише приблизно за 2ⁿ спроб. «128-бітний ключ» від передбачуваного генератора випадкових чисел насправді містить значно менше.

Подробиці

  • Джерела: Таймінги натискань клавіш і рухів миші, події диска та мережі, апаратний шум, команди CPU на кшталт RDRAND.
  • Операційна система: Ядро збирає ентропію в пул і видає з нього надійні випадкові числа через /dev/urandom і getrandom(). Сучасні ядра Linux уміють це й невдовзі після завантаження.
  • Проблемні випадки: У віртуальних машин і малих пристроїв одразу після завантаження мало ентропії. Клоновані образи ВМ видають однакові випадкові числа.
  • Паролі: Пароль із 4 випадкових слів із 7776 (Diceware) містить близько 51 біта, вигаданий шаблон — набагато менше.
  • Правило: Для ключів використовувати лише криптографічно стійкі функції платформи (secrets, crypto.getRandomValues), ніколи не rand() і не Math.random().

Див. також: випадкові числа: псевдовипадкові та істинно випадкові