10 Питань і відповідей по криптографії

1. Що таке криптографія?
Криптографія - це теоретична наукова дисципліна, розділ математики, що вивчає питання перетворення інформації з метою її захисту від розумних дій противника.

2. Що таке алгоритм шифрування?
Алгоритм шифрування - це набір логічних правил, що визначають процес перетворення інформації з відкритого стану в зашифроване (зашифровування) і, навпаки, з зашифрованого стану у відкрите (розшифрування).

Алгоритми шифрування з'являються в результаті теоретичних досліджень, як окремих вчених, так і наукових колективів.

3. Як за допомогою шифрування захищаються дані?
Основний принцип захисту даних за допомогою шифрування - це зашифровування даних. Зашифровані дані для стороннього виглядають як "інформаційне сміття" - безглуздий набір символів. Таким чином, якщо інформація в зашифрованому вигляді потрапить до зловмисника, він просто не зможе нею скористатися.

4. Який алгоритм шифрування найстійкіший?
В принципі, будь-який алгоритм шифрування, запропонований будь-яким відомим фахівцем в області криптографії, вважається стійким до тих пір, поки не буде доведено протилежне.

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

5. Що таке ключ шифрування?
Ключ шифрування - це випадкова, псевдослучайная або спеціальним чином сформована послідовність біт, що є змінним параметром алгоритму шифрування.

Іншими словами, якщо зашифрувати одну і ту ж інформацію одним і тим же алгоритмом, але різними ключами, результати вийде також різні.

Ключ шифрування має одну істотну характеристику - довжину, яка, як правило, вимірюється в бітах.


6. Які бувають алгоритми шифрування?
Алгоритми шифрування діляться на два великі класи - симетричні і асиметричні (або несиметричні).

Симетричні алгоритми шифрування використовують один і той же ключ для зашифровування інформації і для її розшифрування. При цьому ключ шифрування повинен бути секретним.

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

Приклади симетричних алгоритмів шифрування - DES, RC4, RC5, AES, CAST.

Асиметричні алгоритми шифрування використовують два ключа - один для зашифровування, інший для розшифрування. У такому випадку говорять про пару ключів. Один ключ з пари може бути відкритим (доступним для всіх), інший - секретним.

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

Кожен користувач може створити власну пару ключів, і послати відкритий ключ своєму абоненту. Цим ключем можна тільки зашифрувати дані, для розшифрування потрібен секретний ключ, який зберігається тільки у його власника. Таким чином, отримання зловмисником відкритого ключа нічого йому не дасть, оскільки розшифрувати їм зашифровані дані неможливо.

Приклади асиметричних алгоритмів шифрування - RSA, El-Gamal.

7. Як зламують алгоритми шифрування?
У криптографічного науці є підрозділ - криптоаналіз, який вивчає питання злому алгоритмів шифрування, тобто отримання відкритої інформації з зашифрованою без ключа шифрування.

Існує багато різних способів і методів криптоаналізу, більшість з яких дуже складно і об'ємно для відтворення тут.

Єдиний метод, який доречно згадати - метод прямого перебору всіх можливих значень ключа шифрування (також званий методом "грубої сили", або brute force). Суть даного методу полягає в переборі всіх можливих значень ключа шифрування до тих пір, поки не буде підібраний потрібний ключ.

8. Яка повинна бути довжина ключа шифрування?
На сьогоднішній день для симетричних алгоритмів шифрування достатньою довжиною ключа шифрування вважається 128 біт (16 байт). Для повного перебору всіх можливих ключів довжиною 128 біт (атака brute force) за один рік необхідна наявність 4,2х1022 процесорів продуктивністю 256 мільйонів операцій шифрування в секунду. Вартість такої кількості процесорів становить 3,5х1024 доларів США (за даними Bruce Schneier, Applied Cryptography).

Існує міжнародний проект distributed.net, метою якого є об'єднання користувачів Інтернет для створення віртуального розподіленого суперкомп'ютера, що займається перебором ключів шифрування. Останній проект по злому ключа 64 біт був завершений протягом 1757 днів, в ньому взяло участь більше трьохсот тисяч користувачів, а обчислювальна потужність всіх комп'ютерів проекту була еквівалентна майже 50.000 процесорам AMD Athlon XP з тактовою частотою 2 ГГц.

При цьому слід враховувати, що збільшення довжини ключа шифрування на один біт збільшує кількість значень ключа, а, отже, і час перебору, в два рази. Тобто, виходячи з вищенаведених цифр, за час +1757 * 2 днів можна зламати НЕ 128-бітний ключ, як може здатися на перший погляд, а всього лише 65-бітний.


9. Я чув про ключах шифрування 1024 і навіть 2048 біт, а ви говорите, що 128 біт цілком достатньо. Що це означає?
Все правильно, ключі шифрування 512, 1024 і 2048 біт, а іноді і довше використовуються в асиметричних алгоритмах шифрування. У них використовуються принципи, зовсім відмінні від симетричних алгоритмів, тому масштаби ключів шифрування також різні.

10. Чи може ФСБ (ФАПСИ, АНБ, ЦРУ) прочитати мої зашифровані дані, використовуючи свої суперкомп'ютери та супертехнології?
Відповідь на це питання - сама охороною таємниця спецслужб будь-якої держави. З теоретичної точки зору прочитати дані, зашифровані за допомогою відомого алгоритму ключем достатньої довжини неможливо (див. Попередні питання), проте, хто знає, що ховається за завісою державної таємниці? Цілком може виявитися, що існують якісь технології інопланетян, відомі уряду, за допомогою яких можна зламати будь-який шифр :-)

Єдине, що можна стверджувати з упевненістю - жодна держава, жодна спецслужба не розкриє цього секрету, і навіть у разі наявності можливості якось розшифровувати дані, ніколи і ніяк цього не проявить.

Схожі статті