истані при шифруванні.
Перетворення шифру повинні забезпечувати «нечитаність» зашифрованого повідомлення стороннім (неавторизованих) особою, причому не тільки в даний момент, але й після досить значних зусиль і часу по «злому» шифру. Тому одним з найважливіших понять криптографії є ?? стійкість системи шифрування, тобто здатність протистояти спробам криптоаналитика дешифрувати перехоплений повідомлення.
Фундаментальне правило криптології, сформульоване ще в XIX столітті А. Керкхоффом, полягає в припущенні, що метод шифрування, крім секретного ключа, може бути відомий криптоаналітику противника, тому стійкість шифру повинна визначатися тільки стійкістю ключа. Такий підхід відображає дуже важливий принцип технології захисту інформації - захищеність не повинна залежати від секретності того, що неможливо швидко змінити. Сучасні реалізації криптосистем являють собою сукупність апаратних і програмних засобів, швидко змінити яку або неможливо, або це буде пов'язано з великими матеріальними витратами.
У деяких ситуаціях, наприклад в дипломатичних, військових, розвідувальних організаціях, немає ніяких причин робити загальнодоступним опис суті криптосистеми. Зберігаючи таку інформацію в таємниці можна додатково підвищити стійкість шифру. Однак покладатися на секретність цієї інформації не варто, так як рано чи пізно вона буде скомпрометована. Тому аналізувати надійність криптографічний системи слід виходячи з того, що противник має всю інформацію про криптоалгоритм, йому невідомий тільки використовуваний ключ.
Всі атаки на шифри так чи інакше пов'язані з переборами різних варіантів ключів і алгоритмів дешифрування і вимагають великої обчислювальної роботи. Спробуємо оцінити необхідну для дешифрування час.
Якщо ключ шифрування має довжину n символів, а алфавіт, на основі якого складається ключ, має потужність A (тобто складається з A символів), то тоді кількість різних варіантів ключа одно A n. Звичайно, можна перебрати всі можливі варіанти ключа, але для цього буде потрібно величезний час. Наприклад, на основі російського алфавіту (по 33 символу на маленькі і великі літери) і арабських цифр (10 символів) різних ключів, що складаються з 10 символів, можна побудувати (66 +10) 10, що приблизно дорівнює 6? 18 жовтня. Навіть якщо використовувати обчислювальну систему, яка перевіряє по одному мільярду ключів в секунду, то для перебору всіх можливих ключів потрібно близько 200 років. При збільшенні довжини ключа на одиницю, до 11 символів, повний перебір займе вже більше 15000 років. Навряд чи можна уявити собі шифрування повідомлення, яке коштує таких тимчасових витрат.
Але навіть якщо є можливість виконати на ЕОМ необхідний обсяг обчислень за осяжний період часу, залишається ще одна проблема - яким чином після дешифрування з'ясувати, що отриманий вихідний, осмислений текст, а не випадковий набір символів. p>
Для вирішення зазначеної задачі криптоанализ використовує обставина, що кожен джерело повідомлень породжує тексти у відповідності з певними правилами граматики, а це знаходить відображення в характеристиках повідомлень. Наприклад, в російській мові букви" ь" і" ь" ніколи не йдуть за голосними буквами і не можуть розташовуватися поруч один з одним, а в англійській мові за літерою «q» завжди слід буква «u».
Пра...