Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом / 5_Розділ 1.docx
Скачиваний:
72
Добавлен:
20.02.2016
Размер:
537.95 Кб
Скачать
    1. Сучасні криптосистеми захисту інформації.

Криптографічна система - сімейство перетворень шифру, сукупність ключів (тобто алгоритм + ключі). Сам по собі опис не є криптосистемою. Тільки доповнений схемами розподілу управління ключами, він стає системою. Приклади алгоритмів DES, ГОСТ28.147-89. Доповнені алгоритмами вироблення ключів, вони перетворюються на криптосистеми. Як правило, опис алгоритму шифрування вже включає в себе всі необхідні частини.

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

Незалежно від способу реалізації для сучасних криптосистем захисту інформації сформульовані наступні загальноприйняті вимоги:

  1. Знання алгоритму шифрування не повинно знижувати криптостійкість шифру. Цю фундаментальну вимогу було сформульовано в ХІХ столітті Керхоффом і розділяє криптосистеми загального використання (алгоритм доступний потенційному зловмиснику) та обмеженого використання (алгоритм тримається в секреті). Безумовно всі масово використовувані криптосистеми повинні відповідати цій вимозі.

  2. Зашифроване повідомлення повинно піддаватися читанню лише при наявності ключа.

  3. Шифр повинен бути стійким навіть, якщо зловмиснику відомо досить велику кількість вихідних даних та відповідних їм зашифрованих даних.

  4. Число операцій, необхідних для розшифрування інформації шляхом перебору різноманітних ключів, повинно мати строгу нижню оцінку і повинно або виходить за границі можливостей сучасних комп’ютерів (з урахуванням можливості організації мережевих обчислень) або вимагати створення використання дорогих обчислювальних систем.

  5. Незначна зміна ключа або вихідного тексту повинна призводити до значної зміни виду зашифрованого тексту. Цій вимозі не відповідають практично всі шифри донаучної криптографії.

  6. Структурні елементи алгоритму шифрування повинні бути незмінними.

  7. Довжина шифрованого тексту повинна бути однієї довжини з вихідним текстом.

  8. Додаткові біти, що вводяться в повідомлення в процесі шифрування, повинні бути повністю і надійно скриті в шифрованому тексті.

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

  10. Будь-який ключ з множини можливих повинен забезпечувати рівну криптостійкість. В цьому випадку прийнято говорити про лінійний (однорідний) простір ключів. [3]

Сучасні криптографічні алгоритми, перш за все, поділяють на три категорії (рис.1.1) [4,5]:

Рис. 1.1. Класифікація криптографічних алгоритмів

  • Бесключові алгоритми, які не використовують будь-яких ключів в процесі криптографічних перетворень;

  • Одноключові алгоритми, які використовують в своїх обчисленнях певний секретний ключ;

  • Двохключові алгоритми, в яких на різних етапах обчислень застосовуються два види ключів: секретні і відкриті.

Розглянемо основні типи криптоалгоритмів.

  • Хеш-функції. Виконують «згортку» даних змінної довжини в послідовність фіксованого розміру – фактично це контрольне додавання даних, яке може виконуватись як з участю деякого ключа, так і без нього. Такі функції мають досить широке використання в області захисту комп’ютерної інформації, наприклад:

    • Для підтвердження цілісності будь-яких даних в тих випадках, коли використання електронного підпису неможливе або є надлишковим;

    • В самих схемах електронного підпису – підписується звичайно хеш даних, а не всі дані повністю;

    • В різноманітних схемах аутентифікації користувачів.

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

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

Симетричне шифрування буває двох видів: блокове так потокове.

    • Блокове шифрування – в цьому випадку інформація розбивається на блоки фіксованої довжини (наприклад, 64 або 128 бітів), після чого ці блоки почергово шифрують ся. При чому в різних алгоритмах шифрування або навіть в різних режимах роботи одного і того ж алгоритму блоки можуть шифрувати ся незалежно один від одного або «із зчепленням» - коли результат за шифрування поточного блоку даних залежить від значення попереднього блоку або від результату зашифровування попереднього блоку.

    • Потокове шифрування – необхідне, перш за все, в тих випадках, коли інформацію неможливо розбити на блоки – скажемо, деякий потік даних, кожен символ яких повинен бути зашифрований і відправлений будь-куди, не чекаючи решти даних, достатніх для формування блоку. Тому алгоритми потокового шифрування шифрують дані побітно або посимвольно. Хоча треба сказати, що деякі класифікації не розділяють блокове та потокове шифрування, вважаючи, що потокове шифрування – це шифрування блоків одиничної довжини.[5]

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

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

  • Алгоритми асиметричного шифрування. Застосовують два види ключів: відкритий ключ для зашифровування інформації і секретний – для розшифрування. Секретний і відкритий ключі зв’язані між собою досить складним співвідношенням, головне в якому – легкість обчислення відкритого ключа з секретного і неможливість (за обмежений час при реальних ресурсах) обчислення секретного ключа з відкритого при достатньо великій розмірності операндів. Будь-яка інформація, зашифрована загальнодоступним відкритим ключем, може бути розшифрована тільки власником секретного ключа, з якого був обчислений даний відкритий.

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

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

    • Секретний ключ використовується для обчислення електронного цифрового підпису;

    • Відкритий ключ необхідний для його перевірки.

При дотриманні безпечного зберігання секретного ключа, ніхто, крім його власника, не в змозі обчислити вірний електронний підпис будь-якого електронного документу. [6]

Соседние файлы в папке Диплом