- •Задачі, які вирішує криптографія
- •Класифікація криптоаналітичних атак
- •Складність криптоаналітичної атаки
- •Брутальні атаки та їх обмеження
- •Частотний крипто аналіз
- •6. Словникова атака.
- •7. Вибір довжини ключа для симетричних та несиметричних алгоритмів шифрування.
- •8. Принципи вибору ключів для шифрування.
- •9. Способи обміну ключами.
- •10. Способи зберігання ключів. Контроль їх зберігання та використання.
- •11. Тривалість та зберігання ключів.
- •12 Критерії вибору криптологічного алгоритму
- •13. Канальне шифрування
- •14. Кінцеве шифрування (наскрізне).
- •15. Поєднання властивостей обох методів
- •16. Особливості шифрування файлів
- •17. Переваги та недоліки апаратного шифрування
- •19.Стиснення даних при шифруванні
- •Опис алгоритму.
- •Опис алгоритму.
- •1.2.1.Процес шифрування.
- •Розподіл ключів.
- •27) Технічні особливості програмної та апартної реалізації idea
- •28) Головні кроки idea
- •29) Головний ключ idea та генерація підключів
- •30) Загальна характеристика та принцип роботи rsa
- •31. Особливості шифрування/дешифрування на компютері алгоритмом rsa
- •32. Стійкість алгоритму rsa до криптоаналізу
- •34. Вимоги до хеш-функцій на прикладі алгоритму xor
- •35. Конфіденційність, аутентифікація, цифровий підпис: загальна характеристика.
- •36 Реалізація цифрового підпису з допомогою несиметричних шифрів
- •37 Публічне оголошення відкритих ключів
- •40 Сертифікати відкритих ключів
8. Принципи вибору ключів для шифрування.
Криптографічні ключі розрізняються за своєю довжиною і, отже, за силою: адже чим довше ключ, тим більше число можливих комбінацій. Скажімо, якщо програма шифрування використовує 128-бітові ключі, то ваш конкретний ключ буде однією з 2128 можливих комбінацій нулів і одиниць. Зловмисник з більшою ймовірністю виграє в лотерею, ніж зламає такий рівень шифрування методом «грубої сили» (тобто Планомірно перебираючи ключі, поки не зустрінеться потрібний). Для порівняння: щоб підібрати на стандартному комп'ютері симетричний 40-бітний ключ, спеціалісту з шифрування потрібно близько 6 годин. Навіть шифри зі 128бітним ключем до деякої міри уразливі, т. к. професіонали володіють витонченими методами, які дозволяють зламувати навіть найскладніші коди.
Надійність симетричною криптосистеми залежить від стійкості використовуваного криптографічного алгоритму і від довжини секретного ключа. Припустимо, що сам алгоритм ідеальний: розкрити його можна тільки шляхом випробування всіх можливих ключів. Цей вид криптоаналітичної атаки називається методом тотального перебору. Щоб застосувати даний метод, криптоаналітику знадобиться небагато шифротекста і відповідний відкритий текст. Наприклад, у разі блочного шифру йому достатньо отримати в своє розпорядження по одному блоку шифрованого і відповідного відкритого тексту. Зробити це не так вже й важко. Криптоаналітика може заздалегідь дізнатися зміст повідомлення, а потім перехопити його при передачі в зашифрованому вигляді. За деякими ознаками він також може здогадатися, що надіслане повідомлення являє собою не що інше, як текстовий файл, підготовлений за допомогою поширеного редактора, комп'ютерне зображення в стандартному форматі, каталог файлової підсистеми або базу даних. Для криптоаналитика важливо те, що в кожному з цих випадків у відкритому тексті перехопленого шіфросообщенія відомі кілька байт, яких йому вистачить, щоб зробити атаку.
Підрахувати складність атаки методом тотального перебору досить просто. Якщо ключ має довжину 64 біта, то суперкомп'ютер, який може випробувати 1 млн ключів за 1 с, витратить понад 5000 років на перевірку всіх можливих ключів. При збільшенні довжини ключа до 128 біт цього ж суперкомп'ютера знадобиться 1025 років, щоб перебрати всі ключі. Можна сказати, що 1025 - це досить великий запас надійності для тих, хто користується 128-бітними ключами. Однак перш ніж кинутися спішно винаходити криптосистему з довжиною ключа, наприклад, в 4000 байт, слід згадати про зроблене вище припущенні: використовуваний алгоритм шифрування ідеальний у тому сенсі, що розкрити його можна тільки методом тотального перебору. Переконатися в цьому на практиці буває не так просто, як може здатися на перший погляд. Криптографія вимагає витонченості і терпіння. Нові надскладні криптосистеми при більш уважному розгляді часто виявляються дуже нестійкими. А внесення навіть крихітних змін до стійкий криптографічний алгоритм може істотно знизити його стійкість. Тому треба користуватися тільки перевіреними шифрами, які відомі вже протягом багатьох років, і не боятися проявляти хворобливу підозрілість по відношенню до новітніх алгоритмам шифрування, незалежно від заяв їхніх авторів про абсолютну надійності цих алгоритмів.
Важливо також не забувати про те, що стійкість алгоритму шифрування повинна визначатися ключем, а не деталями самого алгоритму. Щоб бути впевненим у стійкості використовуваного шифру, недостатньо проаналізувати його за умови, що супротивник досконально знайомий з алгоритмом шифрування. Потрібно ще й розглянути атаку на цей алгоритм, при якій ворог може отримати будь-яку кількість шифрованого і відповідного відкритого тексту. Більш того, слід припустити, що криптоаналитик має можливість організувати атаку з обраним відкритим текстом довільної довжини. На щастя, в реальному житті більшість людей, що цікавляться змістом ваших шифрованих файлів, не володіють кваліфікацією висококласних фахівців і необхідними обчислювальними ресурсами, які є в розпорядженні урядів світових супердержав. Останні ж навряд чи будуть витрачати час і гроші, щоб прочитати ваше палке суто особисте послання. Однак, якщо ви плануєте повалити «антинародний уряд», вам необхідно серйозно задуматися про стійкості застосовуваного алгоритму шифрування. Багато сучасних алгоритми шифрування з відкритим ключем засновані на односпрямованість функції розкладання на множники числа, що є твором двох великих простих чисел. Ці алгоритми також можуть бути піддані атаці, подібної методу тотального перебору, вживаному проти шифрів з секретним ключем, з однією лише відмінністю: випробувати кожен ключ не буде потрібно, достатньо зуміти розкласти на множники велике число. Звичайно, розкладання великого числа на множники - завдання важке. Проте відразу виникає резонне питання, наскільки важка. До нещастя для криптографов, її рішення спрощується, і, що ще гірше, значно швидшими темпами, ніж очікувалося. Наприклад, у середині 70-х років вважалося, що для розкладання на множники числа з 125 цифр потрібні десятки квадрильйонів років. А всього через два десятиліття за допомогою комп'ютерів, підключених до мережі Інтернет, вдалося досить швидко розкласти на множники число, що складається з 129 цифр. Цей прорив став можливий завдяки тому, що за минулі 20 років були не тільки запропоновані нові, більш швидкі, методи розкладання на множники великих чисел, але і зросла продуктивність використовуваних комп'ютерів.
Тому кваліфікований криптограф повинен бути дуже обережним і обачним, коли працює з довгим відкритим ключем. Необхідно враховувати, наскільки цінна засекречувати з його допомогою інформація і як довго вона повинна залишатися в таємниці для сторонніх. А чому не взяти 10 000-бітний ключ? Адже тоді відпадуть всі питання, пов'язані зі стійкістю несиметричного алгоритму шифрування з відкритим ключем, заснованому на розкладанні великого числа на множники. Але справа в тому, що забезпечення достатньої стійкості шифру - не єдина турбота криптографа. Є додаткові міркування, що впливають на вибір довжини ключа, і серед них - питання, пов'язані з практичною товарність алгоритму шифрування при вибраній довжині ключа. Щоб оцінити довжину відкритого ключа, будемо вимірювати доступну криптоаналітику обчислювальну потужність в так званих мопс-роках, т. е. кількістю операцій, які комп'ютер, здатний працювати зі швидкістю 1 млн операцій в секунду, виконує за рік. Припустимо, що зловмисник має доступ до комп'ютерних ресурсів загальною обчислювальною потужністю 1000мопс-років, велика корпорація - 107 мопс-років, уряд - 109 мопс-років. Це цілком реальні цифри, якщо врахувати, що при реалізації згаданого вище проекту розкладання числа з 129 цифр його учасники задіяли всього 0,03% обчислювальної потужності Інтернет, і щоб домогтися цього, їм не треба було приймати будь екстраординарні заходи або виходити за рамки закону . Зроблені припущення дозволяють оцінити довжину стійкого відкритого ключа в залежності від терміну, протягом якого необхідно зберігати зашифровані з його допомогою дані в секреті. При цьому потрібно пам'ятати, що криптографічні алгоритми з відкритим ключем часто застосовуються для захисту дуже цінної інформації на вельми довгий період часу. Наприклад, в системах електронних платежів або при нотаріальному засвідченні електронного підпису. Ідея витратити кілька місяців на розкладання великого числа на множники може здатися комусь дуже привабливою, якщо в результаті він отримає можливість розраховуватися за свої покупки по чужій кредитній картці.
Криптоаналітичних атака проти алгоритму шифрування зазвичай буває спрямована в саме вразливе місце цього алгоритму. Для організації шифрованого зв'язку часто використовуються криптографічні алгоритми як з секретним, так і з відкритим ключем. Така криптосистема називається гібридної. Стійкість кожного з алгоритмів, що входять до складу гібридної криптосистеми, повинна бути достатньою, щоб успішно протистояти розтину. Наприклад, нерозумно застосовувати симетричний алгоритм з ключем довжиною 128 біт спільно з несиметричним алгоритмом, в якому довжина ключа складає всього 386 біт. І навпаки, не має сенсу задіяти симетричний алгоритм з ключем довжиною 56 біт разом з несиметричним алгоритмом з ключем довжиною 1024 біта. Якщо використовується симетричний алгоритм з 112-бітовим ключем, то разом з ним повинен застосовуватися несиметричний алгоритм з 1792-бітовим ключем. Однак на практиці ключ для несиметричного алгоритму шифрування зазвичай вибирають більш стійким, ніж для симетричного, оскільки за допомогою першого захищаються значно більші обсяги інформації і на більш тривалий термін.
