Основи криптографії (переклад за Таненбаумом)

Основи криптографії

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

До появи комп’ютерів одним з основних стримуючих чинників у криптографії була можливість шифрувальника виконати необхідні перетворення, часто на полі бою, за допомогою нескладного устаткування. Крім того, досить складним завданням було швидке перемикання з одного криптографічного методу на інший, так як для цього потрібно перенавчання великої кількості людей. Тим не менше небезпека того, що шифрувальник може бути захоплений супротивником, змусила постійно розвивати способи зміни криптографічних методів при необхідності. Ці суперечливі вимоги призводять до моделі, показаної на рис. 8-2.

scheme
Рисунок 8-2. Модель шифрування (для шифру з симетричним ключем)

Повідомлення, що підлягають шифруванню, називаються відкритим текстом (plaintext), перетворюються за допомогою функції, другим вхідним параметром якої є ключ (key). Результат процесу шифрування, називається зашифрованим текстом (ciphertext), зазвичай передається по радіо або через зв’язкового. Передбачається, що супротивник або зловмисник (intruder) чує і акуратно копіює весь зашифрований текст. Однак на відміну від одержувача, якому призначається дане повідомлення, зловмисник не знає ключа дешифрування, і тому розшифровка повідомлення являє для нього великі труднощі, а часом вона просто неможлива. Іноді зловмисник може не тільки прослуховувати канал зв’язку (пасивний зловмисник), але здатний записувати повідомлення і відтворювати їх пізніше, вставляти свої повідомлення або модифікувати оригінальні повідомлення, перш ніж вони досягнуть одержувача (активний зловмисник). Мистецтво злому шифрів, що зветься криптоаналізом, і мистецтво винаходити шифри (криптографія) називаються разом криптологією.

Зазвичай для позначення відкритого тексту, зашифрованого тексту і ключів корисно використовувати спеціальну нотацію. Ми будемо використовувати формулу C = Ek(P), що позначає, що при зашифровці відкритого тексту P за допомогою ключа K виходить зашифрований текст C. Аналогічно формула P = Dk(C) означає розшифровку зашифрованого тексту C для відновлення відкритого тексту. Звідси слідує, що

Dk(Ek(P)) = P

Така нотація припускає, що E і D є просто математичними функціями. Вони насправді такими і є. Єдина хитрість у тому, що обидві ці функції мають по два параметри, один з яких (ключ) ми написали не у вигляді аргументу, а у вигляді нижнього індексу, щоб відрізняти його від повідомлення.
Основне правило криптографії полягає в припущенні, що криптоаналітику відомий використовуваний метод шифрування. Іншими словами, зловмисник точно знає, як працюють методи шифрування E і дешифрування D на рис. 8-2. За величезних зусиль, необхідних для розробки, тестування і впровадження нового методу, кожен раз, коли старий метод опинявся або вважався скомпрометованим, зберігати алгоритм шифрування в таємниці просто непрактично. А припущення, що метод залишається секретним, коли це вже не так, могло б заподіяти ще більшої шкоди.

Тут на допомогу приходить ключ шифрування. Ключ складається з відносно короткого рядка, що визначає один із величезної кількості варіантів результату шифрування. На відміну від самого методу шифрування, який може змінюватися тільки раз у кілька років, ключ можна міняти так часто, як це потрібно. Таким чином, наша базова модель являє собою постійний і відомий загальний метод, в якому в якості параметра використовується секретний і легко змінюваний ключ. Ідея, яка полягає в припущенні того, що відомий криптоаналітику метод і наріжним каменем секретності є ексклюзивний ключ, називається принципом Керхгофа. Його у 1883 році вперше висловив фламандський військовий криптограф Август Керхгоф (Kerckhoff, 1883). Таким чином, принцип Керкгофа говорить:
Алгоритми шифрування загальнодоступні; секретні тільки ключі.

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

Оскільки реально в таємниці зберігається тільки ключ, основне питання полягає у його довжині. Розглянемо простий кодовий замок. Його основний принцип полягає в тому, що ви послідовно вводите десяткові цифри. Всі це знають, але ключ зберігається в секреті. Ключ довжиною в дві цифри утворює 100 варіантів. Ключ довжиною в три цифри означає 1000 варіантів, а при довжині ключа в шість цифр число комбінацій досягає мільйона. Чим довший ключ, тим вищий показник роботи зломщика шифру. При збільшенні довжини ключа показник роботи для злому системи шляхом простого перебору значень ключа зростає експоненціально. Секретність переданого повідомлення забезпечується потужним (але все ж відкритим) алгоритмом і довгим ключем. Щоб не дати прочитати свою електронну пошту молодшому братові, досить ключа довжиною в 64 двійкових розряди. У комерційних системах має сенс використовувати ключі довжиною 128 біт. Щоб захистити ваші тексти від урядів розвинених держав, будуть потрібні ключі довжиною, меншою мірою, в 256 біт.

З погляду криптоаналітика завдання криптоаналізу має три принципових варіанти. По-перше, у криптоаналітика може бути деяка кількість зашифрованого тексту без відповідного відкритого тексту. Задачки, в яких у якості вихідних даних є в наявності тільки зашифрований текст, часто друкуються в різних газетах в розділі ребусів. По-друге, у криптоаналітика може виявитися деяка кількість зашифрованого тексту і відповідного йому відкритого тексту. В цьому випадку ми маємо справу з проблемою відомого відкритого тексту. Нарешті, коли у криптоаналітика є можливість зашифрувати будь-який шматок відкритого тексту за своїм вибором, ми отримуємо третій варіант проблеми дешифрування, тобто проблему довільного відкритого тексту. Якби криптоаналітикам було дозволено задавати питання типу: «Як буде виглядати зашифроване ABCDEFGHJKL?», задачки з газет вирішувалися б дуже легко.

Новачки в справі криптографії часто вважають, що шифр є досить надійним, якщо він може витримати атаку першого типу (тільки зашифрований текст). Таке припущення дуже наївне. У багатьох випадках криптоаналітик може вгадати частину зашифрованого тексту. Наприклад, перше, що говорять багато комп’ютерів при вході в систему, це login:. Після того як криптоаналітик отримає кілька відповідних одна одній пар шматків зашифрованого і відкритого тексту, його робота стає значно легшою. Для забезпечення секретності потрібна завбачливість криптографа, який повинен гарантувати, що система не буде зламана, навіть якщо його опонент зможе закодувати кілька фрагментів відкритого тексту за своїм вибором.

Історично методи шифрування розділилися на дві категорії: метод підстановки і метод перестановки. Ми коротко розглянемо їх в якості вступу до сучасної криптографії.

1 комментарий

  1. Здравствуйте!
    Нас интересует стоимость размещения нашей рекламной статьи на Вашем сайте с ссылкой на наш ресурс – крупный e-commerce. Ссылка должна быть dofollow, не закрыта от индексации поисковыми системами.
    Вот пример такой статьи: *
    Статья может быть написана на любую тему – компьютеры, косметика и т.д.
    Статью можем предоставить мы или заплатить за её написание владельцам ресурса. Если сайт предлагает ещё какое-либо сотрудничество, просим предоставить нам эту информацию.
    Спасибо.

Оставить ответ

Обязательные поля помечены*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.