Фбр не змогло зламати зашифрований диск (здалися через рік брутфорса)

ФБР не змогло зламати зашифрований диск (здалися через рік брутфорса)

Як повідомляється, для криптозахисту дисків використовувалося дві програми: одна з них - безкоштовна Truecrypt, друга невідома. Шифр 256-бітний AES. За даними звіту ФБР, американці використовували той же метод, що і INC: підбір пароля за словником. У ФБР брутфорс тривав більше року, але теж з нульовим результатом.

Якщо пояснювати найбільш примітивно, то в процесі криптографічного захисту вихідний текст завжди шифрується за певним принципом. Таких принципів, або алгоритмів, досить багато. Наприклад, досить поширений алгоритм RSA; наведемо спрощений приклад його використання.

У нас є слово, припустимо - "інформація", і є таблиця з кодами, які відповідають кожній букві. Букві І, скажімо, відповідає код 18, а букві Н - 23. Якщо записати такими кодами наше слово, вийде набір чисел:

18, 23, 30, 24, 26, 22, 10, 32, 18, 41.

Тепер цей набір чисел потрібно зашифрувати. Для цього потрібні відкритий ключ (нехай він буде дорівнює 11) і так званий "модуль", який в нашому прикладі буде дорівнює 217. Зверніть увагу: 11 - це не пароль, а саме ключ шифрування. Кожне з чисел зводиться до степеня, що дорівнює значенню відкритого ключа, і ділиться з залишком, який дорівнює "модулю"; в результаті всіх обчислень виходить новий набір чисел:

121, 116, 123, 166, 192, 141, 19, 156, 121, 174

Це вже зашифрований текст, з якого не можна нічого витягти. Він не містить ніякої корисної інформації. Щоб текст знову став осмисленим, його потрібно розшифрувати. Для розшифровки потрібно знати інший ключ - секретний. Тільки за допомогою секретного ключа можна зробити зворотні обчислення; ніяке інше число необхідного ефекту не дасть. Секретний ключ пов'язаний з відкритим, але його значення залежить ще і від "модуля", або, якщо бути зовсім точним, від того, за допомогою множення яких множників цей "модуль" отримано, тому, знаючи відкритий ключ, обчислити секретний ключ не можна. У нашому прикладі секретний ключ дорівнює 131.

Тепер ми кожне з чисел шифртекста зводимо в ступінь, яка дорівнює значенню секретного ключа, і знову ділимо з залишком, рівним "модулю". У підсумку виходить вихідна послідовність:

18, 23, 30, 24, 26, 22, 10, 32, 18, 41.

Залишається підібрати букви до цих кодів.

Що з усього цього випливає?

Ми з вами тільки що спостерігали за процесом шифрування, в якому використовується дуже короткий ключ. Його довжина склала всього 8 біт - саме стільки потрібно мінімальних одиниць інформації, щоб записати десяткове число 131. При такій довжині можливі лише 256 різних ключів. Але навіть при настільки примітивному шифруванні очевидно: розшифрувати текст можна тільки тоді, коли знаєш секретний ключ. Обчислити ключ не можна. Єдиний варіант - це спроба знайти цей ключ, послідовно намагаючись розшифрувати текст з кожної окремої ключової комбінацією: 0000000, 00000001, 00000010 і так далі, до 11111111.

Але сучасні системи шифрування використовують зовсім не 8-бітові, а набагато довші - 128, 256, 512, 1024-бітові ключі. Якщо довжина ключа - 256 біт, то загальна кількість можливих комбінацій буде виражатися числом з сімдесятьма двома нулями. Щоб перебрати всі можливі ключі з такої кількості комбінацій, навіть самому продуктивної і швидкісного комп'ютера буде потрібно набагато більше часу, ніж існує наш Всесвіт. Рахунок тут йде навіть не на мільярди років, а на набагато більші тимчасові проміжки. Простіше кажучи, підібрати ключ до такого шифру неможливо. На це просто не вистачить часу.

Але ключ в 128 або вже, тим більше, в 256 мінімальних одиниць інформації абсолютно неможливо і запам'ятати. Щоб спростити користувачеві завдання, сучасні засоби шифрування застосовують паролі. Пароль, який Ви самі ввели, за допомогою певних математичних обчислень перетворюється в ключ необхідної довжини. Однак це і спрощує завдання зломщика: не обов'язково підбирати ключ, досить підібрати пароль. І якщо пароль нескладний, то завдання може виявитися цілком розв'язуваної. Тому, створюючи, наприклад, зашифровані архіви за допомогою WinZip або WinRAR (обидва архиватора дозволяють шифрувати дані за допомогою алгоритму AES з довжиною ключа 128 або 256 біт), потрібно задавати довгі безглузді поєднання символів, що включають букви в різних регістрах, розділові знаки і цифри .

[I] Nick Golovko
NCFU lecturer, information security specialist [/ I]