Огляд алгоритмів шифрування. Специфікації та Інформація. Алгоритми шифрування. Симетричний алгоритм шифрування Сучасні методи шифрування інформації

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

Шифрування – метод захисту інформації

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

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

    Характеристики складових алгоритмів шифрування

    Захист інформації - сукупність заходів, методів та засобів, що забезпечують:

    • виключення НСД до ресурсів ЕОМ, програм та даних;
    • перевірку цілісності інформації;
    • виключення несанкціонованого використання програм (захист програм від копіювання).

    Очевидна тенденція до переходу на цифрові методи передачі та зберігання інформації дозволяє застосовувати уніфіковані методи та алгоритми для захисту дискретної (текст, факс, телекс) та безперервної (мова) інформації.

    Випробуваний метод захисту інформації від НСД – шифрування (криптографія). Шифруванням (encryption) називають процес перетворення відкритих даних (plaintext) у зашифровані (шифртекст, ciphertext) або зашифрованих даних у відкриті за певними правилами із застосуванням ключів. В англомовній літературі зашифрування/розшифрування - enciphering/deciphering.

    За допомогою криптографічних методів можливо:

    шифрування інформації;
  • реалізація електронного підпису;
  • розподіл ключів шифрування;
  • захист від випадкової чи навмисної зміни інформації.
  • До алгоритмів шифрування пред'являються певні вимоги:

    • високий рівень захисту даних проти дешифрування та можливої ​​модифікації;
    • захищеність інформації повинна ґрунтуватися лише на знанні ключа і не залежати від того, чи відомий алгоритм чи ні (правило Кіркхоффа);
    • мала зміна вихідного тексту чи ключа має призводити до значної зміни шифрованого тексту (ефект "обвалу");
    • область значень ключа повинна унеможливлювати дешифрування даних шляхом перебору значень ключа;
    • економічність реалізації алгоритму за достатньої швидкодії;
    • вартість дешифрування даних без знання ключа має перевищувати вартість даних.

    Перекази старовини глибокої...

    Борис Оболікшто

    Криптологія - давня наука і зазвичай це підкреслюють розповіддю про Юлію Цезаря (100 - 44 рр.. до н. . Шифр Цезаря, інакше шифр циклічних підстановок, полягає у заміні кожної літери у повідомленні літерою алфавіту, що віддалена від неї фіксоване число букв. Алфавіт вважається циклічним, тобто після Z слідує A. Цезар заміняв букву буквою, що віддалялася від вихідної на три.
    Сьогодні у криптології прийнято оперувати символами над вигляді букв, а вигляді чисел, їм відповідних. Так, у латинському алфавіті можемо використовувати числа від 0 (відповідного A) до 25 (Z). Позначаючи число, що відповідає вихідному символу, x, а закодованому - y можемо записати правило застосування підстановочного шифру:

    y = x + z (mod N), (1)

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

    Шифр Цезаря у прийнятих позначеннях відповідає значенню секретного ключа z = 3 (а в Цезаря Августа z = 4). Такі шифри розкриваються надзвичайно просто навіть без знання значення ключа: достатньо знати лише алгоритм шифрування, а ключ можна підібрати простим перебором (так званою силовою атакою). Криптологія і складається з двох частин - криптографії, що вивчає способи шифрування та/або автентифікації повідомлень, і криптоаналізу, що розглядає шляхи розшифровки та заміни криптограм. Нестійкість перших шифрів багато століть породила атмосферу секретності навколо роботи криптографа, загальмувала розвиток криптології як науки.

    Так звана "донаукова" криптографія більш ніж за дві тисячі років напівінтуїтивно "намацала" чимало цікавих рішень. Найпростіша дія - виконати підстановку над алфавітному порядку. Також непогано переставити символи в повідомленні місцями (шифри перестановок).

    Першою систематичною працею з криптографії прийнято вважати роботу великого архітектора Леона Баттіста Альберті (1404 – 1472 рр.). Період до середини XVII століття вже насичений роботами з криптографії та криптоаналізу. Інтриги навколо шифрограм у Європі на той час напрочуд цікаві. На жаль, обмежені можливостями журналу, ми виберемо лише одне відоме зі школи прізвище - Франсуа Вієт (1540 - 1603 рр.), який при дворі короля Франції Генріха IV так успішно займався криптоаналізом (тоді ще не носили цієї гордої назви), що іспанський король Філіпп II скаржився Папі Римському застосування французами чорної магії. Але все обійшлося без кровопролиття - при дворі Папи в цей час уже служили радники із сімейства Ардженті, яких ми сьогодні б назвали криптоаналітиками.

    Можна стверджувати, що протягом століть дешифрування криптограм допомагає частотний аналіз появи окремих символів та їх поєднань. Імовірності появи окремих літер у тексті сильно різняться (для російської мови, наприклад, літера "о" з'являється в 45 разів частіше за літеру "ф"). Це, з одного боку, служить основою як для розкриття ключів, так і для аналізу алгоритмів шифрування, а з іншого - є причиною значної надмірності (в інформаційному сенсі) тексту природною мовою. Будь-яка проста підстановка дозволяє сховати частоту появи символу - як шило з мішка стирчать у російському тексті символи, відповідні буквам "о", "е", "а", "і", "т", "н". Але теорії інформації та міра надмірності ще не створені, і для боротьби з ворогом криптографа – частотним аналізом – пропонується РАНДОМІЗАЦІЯ. Її автор Карл Фрідріх Гаусс (1777 - 1855 рр.) помилково вважав, що створив шифр, що не розкривається.

    Наступна помітна особистість історія криптології, яку ми повинні пропустити, - голландець Огюст Керкхофф (1835 - 1903 рр.). Йому належить чудове "правило Керкхоффа": стійкість шифру має визначатися ТІЛЬКИ секретністю ключа. Враховуючи час, коли це правило було сформульовано, його можна визнати найбільшим відкриттям (до створення систематичної теорії ще понад півстоліття!). Це правило вважає, що Алгоритм шифрування не є секретним, а значить, можна вести відкрите обговорення переваг і недоліків алгоритму.

    ХХ століття – від інтуїції до науки

    Останнє ім'я, яке ми назвемо в донауковій криптології - інженер AT&T Жільбер Вернам (G.S. Vernam). У 1926 році він запропонував справді нерозкривний шифр. Ідея шифру полягає в тому, щоб у рівнянні (1) кожного наступного символу вибирати нове значення z. Іншими словами, секретний ключ повинен використовуватися лише один раз. Якщо такий ключ вибирається випадковим чином, то, як було суворо доведено Шенноном через 23 роки, шифр є нерозкривним. Цей шифр є теоретичним обґрунтуванням для використання так званих "шифроблокнотів", широке застосування яких почалося в роки Другої світової війни. Шифроблокнот містить безліч ключів одноразового використання, які послідовно вибираються при шифруванні повідомлень. Пропозиція Вернама, проте, не вирішує завдання секретного зв'язку: замість способу передачі секретного повідомлення тепер необхідно знайти спосіб передачі секретного ключа, РІВНОГО йому ПО ДОВЖИНІ, тобто містить стільки ж символів, скільки є у відкритому тексті.

    У 1949 році стаття Клода Шеннона "Теорі зв'язку в секретних системах" започаткувала наукову криптологію. Шеннон показав, що для деякого "випадкового шифру" кількість знаків шифротексту, отримавши які криптоаналітик при необмежених ресурсах може відновити ключ (і розкрити шифр),

    H (Z)/(rlog N), (2)

    де H(Z)- ентропія ключа, r - надмірність відкритого тексту, а N- Об'єм алфавіту.

    За ефективністю, з якою архіватори стискають текстові файли, нам добре відомо, як велика надмірність звичайного тексту - адже їх робота і полягає в зниженні надмірності (причому тільки на частині, що її найбільш легко усуває). При надмірності звичайного тексту порядку 0,75 та використання 56-бітового ключа (такого, як передбачає DES), достатньо 11 символів шифротексту для відновлення ключа при необмежених ресурсах криптоаналітика.


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

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

    Класифікація алгоритмів шифрування

    1. Симетричні (з секретним, єдиним ключем, одноключові, single-key).
    1.1. Потокові (шифрування потоку даних):

    з одноразовим чи нескінченним ключем (infinite-key cipher);
  • з кінцевим ключем (система Вернама – Vernam);
  • на основі генератора псевдовипадкових чисел (ПСЧ).
  • 1.2. Блокові (шифрування даних побічно):
    1.2.1. Шифри перестановки (permutation, P-блоки);
    1.2.2. Шифри заміни (підстановки, substitution, S-блоки):

    • моноалфавітні (код Цезаря);
    • поліалфавітні (шифр Відженера, циліндр Джефферсона, диск Уетстоуна, Enigma);

    1.2.3. складові (таблиця 1):

    • Lucipher (фірма IBM, США);
    • DES (Data Encryption Standard, США);
    • FEAL-1 (Fast Enciphering Algoritm, Японія);
    • IDEA/IPES (International Data Encryption Algorithm/
    • Improved Proposed Encryption Standard, фірма Ascom-Tech AG (Швейцарія);
    • B-Crypt (фірма British Telecom, Великобританія);
    • ГОСТ 28147-89 (СРСР); * Skipjack (США).

    2. Асиметричні (з відкритим ключем, public-key):

    • Діффі-Хеллман DH (Diffie, Hellman);
    • Райвест-Шамір-Адлеман RSA (Rivest, Shamir, Adleman);
    • Ель Гамаль ElGamal.

    Крім того, є поділ алгоритмів шифрування на власне шифри (ciphers) та коди (codes). Шифри працюють із окремими бітами, літерами, символами. Коди оперують лінгвістичними елементами (склади, слова, фрази).

    Симетричні алгоритми шифрування

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

    Обмін інформацією здійснюється у 3 етапи:

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

    Поточні шифри

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

    Гамування – накладення на відкриті дані гами шифру (випадкової чи псевдовипадкової послідовності одиниць та нулів) за певним правилом. Зазвичай використовується "яке виключає", зване також додаванням по модулю 2 і реалізується в асемблерних програмах командою XOR. Для розшифровування та ж гама накладається на зашифровані дані.

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

    У деяких потокових шифрах ключ коротший за повідомлення. Так, у системі Вернама для телеграфу використовується паперове кільце, що містить гаму. Звісно, ​​стійкість такого шифру не ідеальна.

    Зрозуміло, що обмін ключами розміром із інформацією, що шифрується, не завжди доречний. Тому частіше використовують гаму, одержувану за допомогою генератора псевдовипадкових чисел (ПСЧ). У цьому випадку ключ - число, що породжує (початкове значення, вектор ініціалізації, initializing value, IV) для запуску генератора ПСЧ. Кожен генератор ПСЧ має період, після якого повторювана послідовність повторюється. Очевидно, що період псевдовипадкової гами повинен перевищувати довжину інформації, що шифрується.

    Генератор ПСЧ вважається коректним, якщо спостереження фрагментів його виходу дозволяє відновити пропущені частини чи всю послідовність при відомому алгоритмі, але невідомому початковому значенні .

    При використанні генератора ПСЧ можливі кілька варіантів:

    Побітове шифрування потоку даних. Цифровий ключ використовується як початкове значення генератора ПСЧ, а вихідний потік бітів підсумовується по модулю 2 з вихідною інформацією. У таких системах відсутня властивість розповсюдження помилок.
  • Побітове шифрування потоку даних із зворотним зв'язком (ОС) за шифртекстом. Така система аналогічна попередньої, за винятком того, що шифртекст повертається як параметр у генератор ПСЧ. Характерна властивість поширення помилок. Область поширення помилки залежить від структури генератора ПСЧ.
  • Побітове шифрування потоку даних із ОС за вихідним текстом. Базою генератора ПСЧ є вихідна інформація. Характерна властивість необмеженого поширення помилки.
  • Побітове шифрування потоку даних з ОС за шифртекстом та за вихідним текстом.
  • Блокові шифри

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

    шифри перестановки (transposition, permutation, P-блоки);
  • шифри заміни (підстановки, substitution, S-блоки).
  • Шифри перестановок переставляють елементи відкритих даних (біти, літери, символи) у новому порядку. Розрізняють шифри горизонтальної, вертикальної, подвійної перестановки, решітки, лабіринти, гасла та ін.

    Шифри заміни замінюють елементи відкритих даних інші елементи за певним правилом. Розрізняють шифри простої, складної, парної заміни, буквено-складове шифрування та шифри колонної заміни. Шифри заміни поділяються на дві групи:

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

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

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

    Блокове шифрування можна здійснювати двояко:

    Без зворотний зв'язок (ОС). Декілька бітів (блок) вихідного тексту шифруються одночасно, і кожен біт вихідного тексту впливає на кожен біт шифртексту. Однак взаємного впливу блоків немає, тобто два однакові блоки вихідного тексту будуть представлені однаковим шифртекстом. Тому такі алгоритми можна використовувати лише для шифрування випадкової послідовності бітів (наприклад, ключів). Прикладами є DES у режимі ECB та ГОСТ 28147-89 у режимі простої заміни.
  • Зі зворотним зв'язком. Зазвичай ОС організується так: попередній шифрований блок складається з модуля 2 з поточним блоком. В якості першого блоку в ланцюзі ОС використовується ініціалізуюче значення. Помилка в одному биті впливає на два блоки – помилковий і наступний за ним. Приклад - DES як CBC.
  • Генератор ПСЧ може застосовуватися і при блоковому шифруванні:

    1. Побочное шифрування потоку даних. Шифрування послідовних блоків (підстановки та перестановки) залежить від генератора ПСЧ, керованого ключем.
    2. Побочное шифрування потоку даних із ОС. Генератор ПСЧ управляється шифрованим чи вихідним текстом чи обома разом.

    Досить поширений федеральний стандарт США DES (Data Encryption Standard), на якому заснований міжнародний стандарт ISO 8372-87. DES був підтриманий Американським національним інститутом стандартів (American National Standards Institute, ANSI) та рекомендований для застосування Американською асоціацією банків (American Bankers Association, ABA). DES передбачає 4 режими роботи:

    • ECB (Electronic Codebook) - електронний шифрблокнот;
    • CBC (Cipher Block Chaining) ланцюжок блоків;
    • CFB (Cipher Feedback) зворотний зв'язок із шифртексту;
    • OFB (Output Feedback) зворотний по виходу.

    ГОСТ 28147-89 - вітчизняний стандарт на шифрування даних. Стандарт включає три алгоритми зашифровування (розшифрування) даних: режим простої заміни, режим гамування, режим гамування зі зворотним зв'язком - і режим вироблення імітівставки.

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

    Алгоритми шифрування ГОСТ 28147-89 мають переваги інших алгоритмів для симетричних систем і перевершують їх своїми можливостями. Так, ГОСТ 28147-89 (256-бітовий ключ, 32 цикли шифрування) в порівнянні з такими алгоритмами, як DES (56-бітовий ключ, 16 циклів шифрування) і FEAL-1 (64-бітовий ключ, 4 цикли шифрування) має більш високою криптостійкістю за рахунок більш довгого ключа та більшої кількості циклів шифрування.

    Слід зазначити, що на відміну від DES, ГОСТ 28147-89 блок підстановки можна довільно змінювати, тобто він є додатковим 512-бітовим ключем.

    Алгоритми гамування ГОСТ 28147-89 (256-бітовий ключ, 512-бітовий блок підстановок, 64-бітовий вектор ініціалізації) перевищують криптостійкість і алгоритм B-Crypt (56-бітовий ключ, 64-бітовий вектор ініціалізації).

    Достоїнствами ГОСТ 28147-89 є також наявність захисту від нав'язування хибних даних (вироблення імітівставки) і однаковий цикл шифрування у всіх чотирьох алгоритмах ГОСТу.

    Блокові алгоритми можуть використовуватись і для вироблення гами. У цьому випадку гамма виробляється блоками і побочно складається по модулю 2 з вихідним текстом. Як приклад можна назвати B-Crypt, DES в режимах CFB і OFB, ГОСТ 28147-89 в режимах гамування та гамування з зворотним зв'язком.

    Аcиметричні алгоритми шифрування

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

    Схема обміну інформацією така:

    одержувач обчислює відкритий і секретний ключі, секретний ключ зберігає в таємниці, відкритий робить доступним (повідомляє відправнику, групі користувачів мережі, публікує);
  • відправник, використовуючи відкритий ключ одержувача, зашифровує повідомлення, яке надсилається одержувачу;
  • одержувач отримує повідомлення та розшифровує його, використовуючи свій секретний ключ.
  • RSA

    Захищений патентом США N 4405829. Розроблений у 1977 році у Массачусетському технологічному інституті (США). Отримав назву за першими буквами прізвищ авторів (Rivest, Shamir, Adleman). Криптостійкість заснована на обчислювальній складності завдання розкладання великого числа на прості множники.

    ElGamal

    Розроблено у 1985 році. Названий на прізвище автора – Ель-Гамаль. Використовується в стандарті США цифрового підпису DSS (Digital Signature Standard). Криптостійкість полягає в обчислювальної складності завдання логарифмування цілих чисел кінцевих полях.

    Порівняння симетричних та асиметричних алгоритмів шифрування

    В асиметричних системах необхідно застосовувати довгі ключі (512 бітів і більше). Довгий ключ різко збільшує час шифрування. Крім того, генерація ключів дуже тривала. Зате розподіляти ключі можна незахищеними каналами.

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

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

    Обмін інформацією можна здійснювати так:

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

    Перевірка автентичності інформації. Цифровий підпис

    При передачі інформації мають бути забезпечені разом або окремо:

    • Конфіденційність (privacy) - зловмисник не повинен мати можливості дізнатися зміст повідомлення, що передається.
    • Справжність (authenticity), що включає два поняття:
    1. цілісність (integrity) - повідомлення має бути захищене від випадкової чи навмисної зміни;
    2. ідентифікація відправника (перевірка авторства) – одержувач повинен мати можливість перевірити, ким надіслано повідомлення.

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

    Цілісність повідомлення перевіряється з обчисленням контрольної функції (check function) від повідомлення - деякого числа невеликої довжини. Ця контрольна функція повинна з високою ймовірністю змінюватися навіть за малих змін повідомлення (видалення, включення, перестановки або переупорядкування інформації). Називають та обчислюють контрольну функцію по-різному:

    код автентичності повідомлення (Message Authentical Code, MAC);
  • квадратичний конгруентний алгоритм (Quadratic Congruentical Manipulation Detection Code, QCMDС);
  • Manipulation Detection Code (MDС);
  • Message Digest Algorithm (MD5);
  • контрольна сума;
  • символ контролю блоку (Block Check Character, BCC);
  • циклічний надлишковий код (ЦВК, Cyclic Redundancy Check, CRC);
  • хеш-функція (hash);
  • імітівставка у ГОСТ 28147-89;
  • алгоритм із усіченням до n бітів (n-bit Algorithm with Truncation).
  • При обчисленні контрольної функції може використовуватись будь-який алгоритм шифрування. Можливе шифрування самої контрольної суми.

    Широко застосовується цифровий підпис (цифрове доповнення до інформації, що передається, що гарантує цілісність останньої і дозволяє перевірити її авторство). Відомі моделі цифрового підпису (digital signature) на основі алгоритмів симетричного шифрування, але при використанні систем з відкритими ключами цифровий підпис здійснюється зручніше.

    Для використання алгоритму RSA повідомлення слід стиснути функцією хешування (алгоритм MD5 – Message Digest Algorithm) до 256-бітового хешу (H). Сигнатура повідомлення S обчислюється так:

    d
    S = H mod n

    Сигнатура пересилається разом із повідомленням.

    Процес ідентифікації полягає в отриманні хеш-функції повідомлення (H") та порівнянні з

    e
    H = S mod n

    де H- хеш повідомлення,

    S- його сигнатура,

    d- Секретний ключ,
    e- Відкритий ключ.

    Перевірці автентичності присвячені стандарти:

    • автентифікація, authentication) - ISO 8730-90, ISO/IES 9594-90 та ITU X.509;
    • цілісність – ГОСТ 28147-89, ISO 8731-90;
    • цифровий підпис – ISO 7498, P 34.10-94 (Росія), DSS (Digital Signature Standard, США).

    ISO- Міжнародна організація зі стандартизації /МОС/,
    ITU- Міжнародна спілка електрозв'язку /МСЕ/.

    Реалізація алгоритмів шифрування

    Алгоритми шифрування реалізуються програмними чи апаратними засобами. Є безліч чисто програмних реалізацій різних алгоритмів. Через свою дешевизну (деякі і зовсім безкоштовні), а також все більшої швидкодії процесорів ПЕОМ, простоти роботи та безвідмовності вони дуже конкурентоспроможні. Широко відома програма Diskreet із пакету Norton Utilities, що реалізує DES.

    Не можна не згадати пакет PGP (Pretty Good Privacy, версія 2.1, автор Philip Zimmermann), в якому комплексно вирішені практично всі проблеми захисту інформації, що передається. Застосовано стиснення даних перед шифруванням, потужне управління ключами, симетричний (IDEA) та асиметричний (RSA) алгоритми шифрування, обчислення контрольної функції для цифрового підпису, надійна генерація ключів.

    Публікації журналу "Монітор" із докладними описами різних алгоритмів та відповідними лістингами дають можливість кожному бажаючому написати свою програму (або скористатися готовим лістингом).

    Апаратна реалізація алгоритмів можлива за допомогою спеціалізованих мікросхем (виробляються кристали для алгоритмів DH, RSA, DES, Skipjack, ГОСТ 28147-89) або з використанням компонентів широкого призначення (через дешевизну та високу швидкодію перспективні цифрові сигнальні процесори - DSP, Digital Signal Processor ).

    Серед російських розробок слід зазначити плати "Кріптон" (фірма "Анкад") та "Грім" (методологія та алгоритми фірми "ЛАН-Кріпто", технічна розробка НВЦ "ЕЛІПС").

    "Криптон" - одноплатні пристрої, що використовують криптопроцесори (спеціалізовані 32-розрядні мікроЕОМ, які також називають "блюмінг"). Блюмінги апаратно реалізують алгоритми ГОСТ 28147-89, вони складаються з обчислювача та ОЗУ для зберігання ключів. Причому в криптопроцесор є три області для зберігання ключів, що дозволяє будувати багаторівневі ключові системи.

    Для більшої надійності шифрування одночасно працюють два криптопроцесори, і блок даних у 64 бітів вважається правильно зашифрованим, тільки якщо збігається інформація на виході обох блюмінгів. Швидкість шифрування – 250 КБ/c.

    Окрім двох блюмінгів на платі розташовані:

    контролер сполучення з шиною комп'ютера (за винятком "Кріптон-ЄС" плати розраховані на роботу з шиною ISA);
  • BIOS плати, призначений для здійснення інтерфейсу з комп'ютером і виконує самотестування пристрою і введення ключів у криптопроцесори;
  • датчик випадкових чисел (ДСЧ) для вироблення ключів шифрування, виконаний на шумових діодах.
  • Випускаються такі різновиди плат "Криптон":

    • "Криптон-ЄС" призначена для ПЕОМ серії ЄС 1841-1845;
    • "Кріптон-3";
    • "Криптон-4" (скорочено габаритні розміри за рахунок переміщення ряду дискретних елементів у базові кристали, підвищена швидкість обміну завдяки внутрішньому буферу на 8 байт);
    • "Криптон-ІК" додатково оснащена контролером ІЧ (інтелектуальна картка, смарт-картка, smart card).

    У пристроях "Криптон-ЄС", "Кріптон-3", "Кріптон-4" ключі зберігаються як файл на дискеті. У "Криптон-ІК" ключі знаходяться на ІЧ, що ускладнює підробку та копіювання.

    У платі "Грім" використовують цифрові сигнальні процесори фірми Analog Devices ADSP-2105 і ADSP-2101, що дає швидкість шифрування відповідно 125 і 210 КБ/c. На платі є фізичний ДСЧ та ПЗУ із програмами початкового тесту, перевірки прав доступу, завантаження та генерації ключів. Ключі зберігаються на нестандартно форматованій дискеті. Плата реалізує алгоритми ГОСТ 28147-89 та цифрового підпису.

    Для захисту інформації, що передається каналами зв'язку, служать пристрої канального шифрування, які виготовляються у вигляді інтерфейсної карти або автономного модуля. Швидкість шифрування різних моделей від 9600 біт/с до 35 Мбіт/с.

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

    Криптологія з відкритим ключем

    Борис Оболікшто

    Здавалося б, поштовх, даний Шенноном, мав спричинити обвал результатів у науковій криптології. Але цього не сталося. Лише бурхливий розвиток телекомунікацій, віддаленого доступу до ЕОМ при недосконалості існуючих криптосистем з секретним ключем викликав до життя наступний і, мабуть, найцікавіший етап криптології, відлік якого ведуть від статті Уітфілда Діффі і Марті E. Хеллмана, що з'явилася в листопаді 1976 року. криптографії". Сам У. Діффі датує отримання опублікованих у листопаді 1976 року результатів травня того ж року; таким чином, у нас є привід з ма до листопада відзначати двадцятилітній ювілей криптології з відкритим ключем.

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

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

    • Аліса і Боб (залучення як сторін не абстрактних "А" і "Б", а симпатичних Аліси та Боба, стало традицією в цій галузі криптології) вибирають випадкові числа Хa і Хb відповідно.
    • Аліса передає Бобу Ya = aXa (mod q), а Боб Алісі - Yb = aXb (mod q).

    Тут a- так званий примітивний елемент кінцевого поля Галуа GF(q), чудова для нас властивість якого полягає в тому, що його ступеня дають усі ненульові значення елементів поля. Як секретний ключ використовується значення

    Ya = aXaXb (mod q),

    яке Аліса отримує зведенням переданого Бобом числа до ступеня Xa, відому тільки їй, а Боб - отриманого від Аліси числа у відому лише йому ступінь Хb. Криптоаналітик змушений обчислювати логарифм принаймні одного з чисел, що передаються.

    Стійкість експоненціального ключового обміну базується на так званій односторонності функції зведення в ступінь: обчислювальна складність отримання Ya з Xa при q довжиною 1000 бітів - близько 2000 множень 1000 бітових чисел, тоді як зворотна операція вимагатиме приблизно 1030 операцій. ОДНОСТОРІННІ функції, що мають подібну асиметрію обчислювальної складності прямої та зворотної задачі, відіграють провідну роль у криптографії з відкритим ключем.

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

    Таку функцію в 1976 вдалося побудувати Р. Мерклю (R.C. Merkle) на основі завдання про укладання ранця. Саме собою завдання - одностороння: зна підмножина вантажів, покладених у ранець, легко підрахувати сумарну вагу, але знаючи вагу, непросто визначити підмножина вантажів. У нашому випадку використовувався одновимірний варіант завдання: вектор вантажів та сума компонентів його підвекторів. Вбудувавши "лазівку", вдалося отримати так звану ранцеву систему Меркля-Хелмана. Перша криптосистема з відкритим ключем заробила і Меркль запропонував $100 тому, хто зможе її розкрити.

    Нагорода дісталася А. Шаміру (Adi Shamir) через шість років після публікації їм у березні 1982 року повідомлення про розкриття ранцевої системи Меркля-Хелмана з однією ітерацією. На конференції Crypto"82 Л. Адлман (L. Adleman) продемонстрував на комп'ютері Apple II розкриття ранцевої системи. Зауважимо, що Шамір не побудував спосіб звернення завдання - отримання значення секретного ключа, він зумів побудувати ключ, не обов'язково рівний секретному, але що дозволяє розкрити шифр У цьому таїться одна з найбільших небезпек для криптографії з відкритим ключем: немає суворого доказу односторонності використовуваних алгоритмів, тобто ніхто не гарантований від можливості знаходження способу дешифрування, ймовірно, і не вимагає вирішення зворотної задачі, висока складність якої дозволяє сподіватися на практичну стійкість шифру Добре, якщо розкриття тієї чи іншої системи проведе вчений зі світовим ім'ям (1982 року А. Шамір уже був відомий як один із авторів системи RSA), а якщо це вдасться нечестолюбному хакеру?

    Насамкінець драми про ранцеву систему згадаємо ще про один парі, який Меркль уклав з бажаючими розкрити вдосконалену систему з багатьма ітераціями на суму $1000. І цю суму довелося сплатити. Її отримав Е. Брікелл, розкривши влітку 1984 систему з сорока ітераціями і зі ста посилками за годину роботи Cray-1.

    Значно вдала на сьогодні доля системи RSA, названої так за першими буквами прізвищ її авторів Р. Рівеста (Ronald Rivest) і вже знайомих нам А. Шаміра та Л. Адлмана. До речі, саме першому систематичному викладу алгоритму RSA зобов'язані своєю появою світ Аліса і Боб. З їхньою "допомогою" автори в 1977 році описали систему на основі односторонніх властивостей функції розкладання на прості множники (множити просто, а розкладати - ні).

    Розвиток криптології з відкритим ключем дозволило криптологічним системам досить швидко знайти широке комерційне застосування. Але інтенсивне використання криптографії не обходиться без накладок. Іноді ми дізнаємося про неприємності у тій чи іншій системі захисту. Останньою гучною подією став злом системи Kerberos. Система ця, розроблена в середині 80-х років, досить популярна у світі, і її злом викликав чимало занепокоєння користувачів.

    У випадку з Kerberos неприємність полягала не в алгоритмі шифрування, а в способі одержання випадкових чисел, тобто в методі реалізації алгоритму. Коли в жовтні минулого року надійшла звістка про прорахунки в системі генерації випадкових чисел у програмних продуктах Netscape, виявлених студентами університету Берклі, Стівен Лодін виявив подібну неприємність у Kerberos. Разом із Браяном Доулом він зумів знайти пролом і в системі Kerberos. Діючі особи цієї історії – не дилетанти. Випускники університету Purdue (штат Іллінойс) співпрацювали з лабораторією COAST (Computer Operations, Audit та Security Technology), професійно зайнятою питаннями комп'ютерної безпеки та керованої проф. Спаффорд, який є також засновником PCERT (Purdue Computer Emergency Response Team) - університетського загону "швидкого реагування" на комп'ютерні НП. PCERT, у свою чергу, є членом аналогічної міжнародної організації FIRST (Forum of Incident Response Teams). Як бачимо, міну знайшли сапери, а це вселяє надію, що користувачі криптосистем не залишаться беззахисними навіть у разі виявлення недоробок.

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

    Не оминули помилок і наші пенати. На щастя, є в наших краях професіонали, які здатні своєчасно знайти та показати слабкі місця системи захисту. Ще місяць не пройшов з того часу, як фахівцями київського ТОВ "Фінтронік" П.В. Лєсковим та В.В. Тетяніним продемонстровано недоліки однієї з популярних банківських систем захисту: час розкриття шифротекстів становив менше 6 хвилин, а час, необхідний для неконтрольованого порушення цілісності документа (обхід системи аутентифікації), - менше 5 хвилин. І тут нам, читачу, також доведеться почекати, поки розробники внесуть необхідні зміни. А потім ми зможемо розповісти докладніше про те, як і що було зроблено.

    Література:

    1. Водолазський В. Комерційні системи шифрування: основні алгоритми та їх реалізація. Частина 1.// Монітор. – 1992. – N 6-7. - с. 14 – 19.
    2. Ігнатенко Ю.І. Як зробити так, щоб? // Світ ПК. – 1994. – N 8. – c. 52 – 54.
    3. Ковалевський Ст, Максимов Ст. Криптографічні методи. // Комп'ютерПрес. – 1993. – N 5. – c. 31 – 34.
    4. Мафтік С. Механізми захисту в мережах ЕОМ. - М: Мир, 1993.
    5. Спесівцев А.В., Вегнер В.А., Крутяков А.Ю. та ін Захист інформації в персональних ЕОМ. - M.: Радіо та зв'язок, 1992.
    6. Сяо Д., Керр Д., Медник С. Захист ЕОМ. - М: Мир, 1982.
    7. Шмельова А. Грим – що це? // Hard "н" Soft. – 1994. – N 5.
    8. ГОСТ 28147-89. Системи опрацювання інформації. Захист криптографічний. Алгоритм криптографічного перетворення.

    Доброго часу доби, шановний користувач. У цій статті ми поговоримо на такі теми, як: Алгоритми шифрування, Симетричний алгоритм шифрування.

    Більшість засобів захисту базується на використанні криптографічних шифрів і процедур шифрування та розшифрування.

    Відповідно до стандарту шифруванняГОСТ 28147-89 під шифром розуміють сукупність оборотних перетворень безлічі відкритих даних на безліч зашифрованих даних, що задаються ключем та алгоритмом криптографічного перетворення.

    Ключ – це конкретний секретний стан деяких параметрів алгоритму криптографічного перетворення даних, Забезпечує вибір лише одного варіанта з усіх можливих для даного алгоритму. У симетричних криптоалгоритмахдля зашифрування та розшифрування повідомлення використовується той самий блок інформації (ключ). Хоча алгоритм впливу на дані можуть бути відомі стороннім особам, але він залежить від секретного ключа, яким повинні мати тільки відправник і одержувач. Симетричні криптоалгоритми виконують перетворення невеликого блоку даних (1 біт чи 32-128 біт) залежно від секретного ключа в такий спосіб, що прочитати вихідне повідомлення можна, лише знаючи цей секретний ключ.

    Симетричний алгоритм шифрування.

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

    Для блокових шифрів одиницею шифрування є блок із кількох байтів. Результат шифрування залежить від вихідних байтів цього блоку. Блокове шифрування застосовується під час пакетної передачі інформації та кодування файлів. Блокові шифри шифрують цілі блоки інформації (від 4 до 32 байт) як єдине ціле – це значно збільшує стійкість перетворень до атаки повним перебором та дозволяє використовувати різні математичні та алгоритмічні перетворення.

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

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

    Функція

    С = ЕК (М),
    М = DK(C),
    де М - вихідний (відкритий) блок даних;
    С – зашифрований блок даних.

    Ключ До є параметром симетричного блочного криптоалгоритмуі є блок двійкової інформації фіксованого розміру. Вихідний М і зашифрований блоки даних також мають рівну фіксовану розрядність (але не обов'язково рівну довжині ключа До).

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

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

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

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

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

    Примітка

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

    Примітка

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

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

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

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

    Усі дії, що проводяться блоковим криптоалгоритмомнад даними, засновані на тому факті, що блок, що перетворюється може бути представлений у вигляді цілого неотрицательного числа з діапазону, відповідного його розрядності. Наприклад, 32-бітовий блок даних можна інтерпретувати як число з діапазону 0 – 4294967295. Крім того, блок, розрядність якого є «ступенем двійки», можна трактувати як зчеплення кількох незалежних невід'ємних чисел з меншого діапазону (зазначений вище 32-бітовий блок можна також подати у вигляді зчеплення двох незалежних 16-бітових чисел з діапазону 0 - 65535 або у вигляді зчеплення чотирьох незалежних 8-бітових чисел з діапазону 0 - 255).

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

    1. Математичні функції:
    - Додавання X '= X + V;
    – «що виключає АБО» X' = X xor V;
    – множення за модулем 2N + 1 X' = (X * V) mod (2N + 1);
    – множення за модулем 2N X' = (X * V) mod 2N.
    2. Бітові зрушення:
    – арифметичний зсув вліво X' = X shl V;
    – арифметичний зсув праворуч X' = X shr V;
    - циклічний зсув вліво X' = X rol V;
    - Циклічний зрушення вправо X' = X ror V.
    3. Табличні підстановки:
    – S-box (англ. substitute) X' = Table .

    Як параметр V для будь-якого з цих перетворень може використовуватися:

    • фіксоване число (наприклад, X' = X + 125).
    • число, яке отримується з ключа (наприклад, X' = X + F(K)).
    • число, що отримується з незалежної частини блоку (наприклад, X2' = X2 + F(X1)).

    Примітка

    Останній варіант використовується в схемі, яка називається мережею Фейстеля (на ім'я її творця).

    Мережа Фейстеля.

    Послідовність виконуваних над блоком операцій комбінації перерахованих вище варіантів V і самі функції F і становлять відмінні особливості конкретного симетричного блокового криптоалгоритму.

    Характерною ознакою блокових алгоритмів є багаторазове та непряме використання матеріалу ключа. Це визначається насамперед вимогою неможливості зворотного декодування щодо ключа при відомих вихідному та зашифрованому текстах. Для вирішення цього завдання у наведених вище перетвореннях найчастіше використовується не саме значення ключа або його частини, а деяка, іноді незворотна функція від матеріалу ключа. Більш того, в подібних перетвореннях один і той же блок або елемент ключа багаторазово використовується. Це дозволяє за умови умови оборотності функції щодо величини X зробити функцію незворотною щодо ключа K.

    Мережею Фейстеля називається схема (метод) оборотних перетворень тексту, у якому значення, обчислене від однієї з частин тексту, накладається інші частини. Мережа Фейстеля являє собою модифікацію методу змішування поточної частини блоку, що шифрується, з результатом деякої функції, обчисленої від іншої незалежної частини того ж блоку. Ця методика забезпечує виконання важливої ​​вимоги про багаторазове використання ключа та матеріалу вихідного блоку інформації. Часто структуру мережі виконують таким чином, щоб використовувати для шифрування та розшифрування той самий алгоритм – відмінність полягає тільки в порядку використання матеріалу ключа.

    На основі мережі Фейстеля побудовано американський стандарт шифрування даних DES та наш ГОСТ 28147-89.

    Час життя інформації

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

    § Наявність можливих слів. Це слова або вирази, на появу яких можна очікувати в перехопленому повідомленні (наприклад, для англійського тексту – «and», «the», «arе» та ін.).

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

    § Розсіювання.Вплив одного символу відкритого повідомлення поширюється на багато символів зашифрованого повідомлення. Цей метод хоч і призводить до збільшення кількості помилок під час розшифровки, проте за його допомогою вдається приховати статистичну структуру відкритого повідомлення.

    § Заплутування.Розвиток принципу розсіювання. У ньому вплив одного символу ключа поширюється на безліч символів зашифрованого

    повідомлення.

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

    Прикладами викладених методів є стандарти шифрування DES і ГОСТ 28147-89.

    Існує два основних типи алгоритмів шифрування:

    § алгоритми симетричного шифрування;

    § алгоритми асиметричного шифрування.

    Симетричне шифрування.

    Алгоритми симетричного шифрування засновані на тому, що і для шифрування повідомлення, і для його розшифрування використовується той самий (загальний) ключ (рис. 1).

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



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

    Переваги криптографіїіз симетричними ключами:

    · Висока продуктивність.

    · Висока стійкість.За інших рівних умов стійкість криптографічного алгоритму визначається довжиною ключа. При довжині ключа 256 біт необхідно зробити 1077 переборів для його визначення.

    Недоліки криптографіїіз симетричними ключами.

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

    § Масштабованість.Оскільки і відправник, і одержувач використовують єдиний ключ, кількість необхідних ключів зростає у геометричній прогресії залежно кількості учасників комунікації. Для обміну повідомленнями між 10 користувачами необхідно мати 45 ключів, а для 1000 користувачів вже 499 500.

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

    невідмовність.

    Асиметричне шифрування

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

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

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

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

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



    Мал. 2. Асиметрична схема шифрування

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

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

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

    Серед найрізноманітніших способів шифрування можна виділити такі основні методи:

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

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

    Алгоритми гамування - символи вихідного тексту складаються із символами певної випадкової послідовності. Найпоширенішим прикладом вважається шифрування файлів "ім'я користувача.рwl", в яких операційна система Microsoft Windows 95 зберігає паролі до мережевих ресурсів даного користувача (паролі на вхід до NT-серверів, паролі для DialUр-доступу в Інтернет і т.д.). Коли користувач вводить свій пароль при вході в Windows 95, з нього за алгоритмом шифрування RC4 генерується гамма (завжди одна й та сама), що використовується для шифрування мережевих паролів. Простота підбору пароля обумовлюється в цьому випадку тим, що Windows завжди віддає перевагу одній і тій самій гаммі.

    Алгоритми, що базуються на складних математичних перетвореннях вихідного тексту за деякою формулою. Багато хто з них використовують невирішені математичні завдання. Наприклад, алгоритм шифрування RSA, що широко використовується в Інтернеті, заснований на властивостях простих чисел.

    Комбіновані методи. Послідовне шифрування вихідного тексту за допомогою двох та більше методів.

    Алгоритми шифрування

    Розглянемо докладніше методи криптографічного захисту даних

    1. Алгоритми заміни (підстановки)

    2. Алгоритм перестановки

    3. Алгоритм гамування

    4. Алгоритми, що базуються на складних математичних перетвореннях

    5. Комбіновані методи шифрування

    Алгоритми 1-4 в «чистому вигляді» використовувалися раніше, а в наші дні вони закладені практично в будь-якій, навіть найскладнішій програмі шифрування. Кожен із розглянутих методів реалізує власний спосіб криптографічного захисту інформації та має власні переваги та недоліки, але їх загальної найважливішоюхарактеристикою є стійкість. Під цим розуміється мінімальний обсяг зашифрованого тексту, статистичним аналізом якого можна розкрити вихідний текст. Таким чином, за стійкістю шифру можна визначити гранично допустимий обсяг інформації, зашифрованої під час використання одного ключа. При виборі криптографічного алгоритму для використання у конкретній розробці його стійкість одна із визначальних чинників.

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

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

    Стійкість простої поліалфавітної підстановки (з подібних систем була розглянута підстановка за таблицею Віжінер) оцінюється значенням 20n, де n - число різних алфавітів, що використовуються для заміни. При використанні таблиці Віжінер число різних алфавітів визначається числом літер у ключовому слові. Ускладнення поліалфавітної підстановки значно підвищує її стійкість.

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

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

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

    Алгоритм DES був затверджений ще довше 20 років тому, проте за цей час комп'ютери зробили немислимий стрибок у швидкості обчислень, і зараз не так уже й важко зламати цей алгоритм шляхом повного перебору всіх можливих варіантів ключів (а в DES використовується всього 8-байтний), що нещодавно здавалося зовсім неможливим.

    ГОСТ 28147-89 був розроблений ще спецслужбами Радянського Союзу, і він молодший за DES всього на 10 років; при розробці в нього було закладено такий запас міцності, що цей ГОСТ є актуальним досі.

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

    Висновок

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

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

    · Неможливість розкриття або осмисленої модифікації інформації на основі аналізу її структури,

    · Досконалість використовуваних протоколів захисту,

    · Мінімальний обсяг використовуваної ключової інформації,

    · Мінімальна складність реалізації (у кількості машинних операцій), її вартість,

    · Висока оперативність.

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


    Практична частина:

    Завдання 1.

    1) Заповнюємо поле X виконавши

    1.1 Задаємо вручну перше значення

    1.2 Виконуємо Правка->Заповнити->

    2) Заповнюємо поле значень функції g =

    Рис.1.1 - Формула функції g (x)

    2.1) Прораховуємо значення функцій

    3) Побудова графіків

    3.1) Виділяємо комірки зі значеннями Функцій g

    3.2) Вибираємо майстер діаграм

    Рис.1.2 - Майстер діаграм - Графік

    Далі -> ряд

    Рис.1.3 - Майстер діаграм - підпис осей

    Виділяємо значення осі X

    Натискаємо Введення (enter)

    3.3) Даємо імена графікам

    3.4) Виділяємо комірку з формулою графіка

    3.6) Вибираємо закладку -> Лінії сітки, виставляємо

    X проміжні лінії, Y Основні лінії ->Далі

    3.7) Поміщаємо графік функції на наявному аркуші -> (Готово)

    4) У результаті отримуємо (Рис.1.4)

    Рис.1.4 - Графік функції g (x)

    1.2.

    1) Визначаємо у полях таблиці функції майбутніх графіків

    Рис.1.5 - Підпис функцій майбутніх графіків

    2) Заповнюємо поле X виконавши:

    2.1 Задаємо вручну перше значення

    2.2 Виконуємо Редагування->Заповнити->Прогресія (по стовпцях, арифметична, крок, граничне значення) при х [-2;2]

    3) Прораховуємо значення функцій y=2sin(x) – 3cos(x), z = cos²(2x) – 2sin(x).


    Рис.1.6 – Формули функцій y(x) та z(x)

    4) Побудова графіків

    4.1 Виділяємо комірки зі значеннями Функцій y та z

    Вибираємо майстер діаграм

    Рис.1.7 - Майстер діаграм - Графік

    Виділяємо значення осі X

    Натискаємо Введення (enter)

    4.2) Даємо імена графікам

    4.3) Виділяємо комірку з формулою графіка

    Натискаємо введення (enter) , потім теж проробляємо з другим рядом

    4.5) Вибираємо закладку -> Лінії сітки, виставляємо

    X проміжні лінії, Y Основні лінії ->Далі

    4.6) Поміщаємо графік функції на наявному аркуші -> (Готово)

    5) У результаті отримуємо (Рис.1.8)

    Рис.1.8 – Графіки функцій y(x) та z(x)

    Завдання 2.

    · Створення списку «Відділу кадрів»

    Рис.2.1 Список "Відділу кадрів"

    · Сортування

    Рис.2.2 – Сортування по полю Ім'я

    У результаті одержуємо (Рис.2.3)

    Рис.2.3 - Відсортована таблиця "Відділ кадрів"

    ·
    Пошук інформації за допомогою автофільтра (отримати інформацію про чоловіків, ім'я яких починається на букву Літера,по-батькові – «Іванович», з окладом Оклад);

    Рис.2.4 - Автофільтр

    · Пошук інформації за допомогою розширеного фільтра (знайти інформацію з відділу Відділ1у віці Вік1і Вік2, і про жінок з відділу Відділ2у віці Вік3);

    1) Вводимо критерії для розширеного фільтра 1

    У результаті одержуємо (Рис.2.5)

    Рис.2.5 – Розширений фільтр 1

    2) Вводимо критерії розширеного фільтра 2.

    У результаті отримуємо (Рис.2.6)

    Рис.2.6 – Розширений фільтр 2

    · Підбиття підсумків (визначити кількість та середній вік співробітників у кожному відділі);

    Рис.2.7 - Підсумки

    Функція ДМИН- Повертає найменшу кількість у полі (стовпці) записів списку чи бази даних, яке задовольняє заданим умовам.

    Рис.2.8 – Аналіз списку за допомогою функції ДМІН

    Завдання 3.

    Створюємо дві пов'язані таблиці Сесія(рис.3.2) та Студенти(Рис.3.4)

    Рис.3.1- Конструктор таблиці Сесія

    Рис.3.2- Таблиця Сесія

    Рис.3.3 - Конструктор таблиці Студенти


    Рис.3.4 - Таблиця Студенти

    1) Використовуючи таблицю Студенти,створити три запити, за якими з бази даних буде по черзі відібрано прізвища та імена студентів груп 1-Е-1, 1-Е-2, 1-Е-3.

    Рис.3.5 - Конструктор Запиту 1.1


    Рис.3.7 - Конструктор Запиту1.2

    Рис.3.9 - Конструктор Запиту 1.3

    2) Використовуючи таблицю Студенти,створити два запити, за якими з бази даних будуть по черзі відібрані прізвища та імена жінок, а потім прізвища та імена чоловіків.

    Рис.3.11 - Конструктор Запиту 2.1

    Рис.3.13 - Конструктор Запиту 2.2

    3) Використовую таблицю Студенти,створити два запити, за якими з бази даних будуть по черзі відібрані прізвища та імена жінок групи 1-Е-2, а потім чоловіків групи 1-Е-1.

    Рис.3.15 - Конструктор Запиту 3.1

    Рис.3.17 - Конструктор - 3.2

    4) Використовуючи пов'язані таблиці Студентиі Сесія,створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліток та оцінки з математики студентів групи 1-Е-2.

    Рис.3.19 - Конструктор Запиту 5

    5) Використовуючи пов'язані таблиці Студентиі Сесія,створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліток та оцінки з філософії студентів (чоловіків) групи 1-Е-2.

    Рис.3.21 - Конструктор Запиту 8

    6) Використовуючи пов'язані таблиці Студентиі Сесія,створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліків студентів, які отримали оцінку «задовільно» (3) з філософії.

    Рис.3.23 - Конструктор Запиту 10

    7) Використовуючи пов'язані таблиці Студентиі Сесія,створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліків студентів, які отримали оцінку «добре» (4) одночасно з двох предметів: філософії та математики.

    Рис.3.25 - Конструктор Запиту 14

    8) Використовуючи пов'язані таблиці Студентиі Сесія,створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліків студентів, які отримали оцінку «незадовільно» (2) по одному з двох предметів: з математики або інформатики.

    Рис.3.27 - Конструктор Запиту 18

    9) Використовуючи пов'язані таблиці Студентиі Сесія,створити запит, за яким із бази даних буде відібрано прізвища, імена, номери заліків студентів, які отримали оцінку «добре» (4) з усіх предметів.

    Рис.3.29 - Конструктор Запиту 22

    10) Використовуючи таблицю Сесія,створити запит з ім'ям Середній балдля розрахунку середнього балу кожного студента за результатами складання чотирьох іспитів. Запит обов'язково має містити поле Заліковка, яке згодом буде використано для зв'язування кількох таблиць.

    Рис.3.31 - Конструктор таблиці Сесія

    11) Використовуючи пов'язані таблиці Студенти, Сесіята запит Середній бал, створити запит, за яким із бази даних будуть відібрані прізвища, імена, номери заліток, номери груп студентів, які мають середній бал 3,25.

    Рис.3.33 - Конструктор Запиту 25

    12) Використовуючи пов'язані таблиці Студенти, Сесіята запит Середній бал, створити запит, за яким із бази даних буде відібрано оцінку з математики, середній бал і номер групи студента Іванова.

    Рис.3.35 - Конструктор Запиту 29

    13) Використовуючи пов'язані таблиці Студенти, Сесіята запит Середній бал, створити запит, за яким із бази даних буде відібрано прізвища, імена студентів мають середній бал менше 3,75.

    Рис.3.37 - Конструктор Запиту 33

    14) Використовуючи таблицю Студенти, визначити прізвище, ім'я та номер заліковки студентки, якщо відомо, що її по батькові Вікторівна.

    Рис.3.39 - Конструктор Запиту 35

    Завдання 4.

    Для переведення числа з десяткової системи числення до системи числення з іншою основою надходять таким чином:

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

    б) Для перекладу дробової частини числа її множать основу системи числення, фіксуючи у своїй цілі частини отриманих произведений. Цілі частини у подальшому множенні не беруть участь. Множення проводиться до отримання 0 в дрібній частині твору або до заданої точності обчислення.

    в) Відповідь записують у вигляді додавання переведеної цілої та переведеної дробової частини числа.

    49812,22₁₀ = 1100001010010100,001₂ 49812,22₁₀ = 141224,160₈

    0,
    0,

    49812,22₁₀ = С294, 385₁₆

    0,

    Завдання 5.

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

    А) 10101001,11001₂ = 1*2^7+1*2^5+1*2^3+1*2^0+1*2^(-1)+1*2^(-2)+1* 2(-5)= 169,78125₁₀

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

    Таблиця 5.1 - Переклад чисел

    Десяткова система числення Двійкова система числення Вісімкова система числення Шістнадцяткова система числення
    Тріади (0-7) Зошити (0-15)
    A
    B
    C
    D
    E
    F

    Б) 674,7₈ = 110111100,111₂=1*2^2+1*2^3+1*2^4+1*2^5+1*2^7+1*2^8+1*2^ (-1) +1*2^(-2) +1*2^(-3)= 443,875₁₀

    110 111 100. 111₂

    В) EDF,51₁₆ = 111011011111,01010001₂=1*2^0+1*2^1+1*2^2+1*2^3+1*2^4+1*2^6+ +1*2 ^7+1*2^9+ +1*2^10+1*2^11+1*2^(-2) 1*2^(-4) 1*2^(-8)= 3807,31640625₁₀

    1110 1101 1111 . 0101 0001₂

    Завдання 6.

    В основі складання чисел у двійковій системі лежить таблиця додавання однорозрядних двійкових чисел.

    0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10
    Додавання багаторозрядних двійкових чисел здійснюється відповідно до цієї таблиці з урахуванням можливих переносів з молодшого розряду до старших. У вісімковій системі числення, як і в будь-якій іншій позиційній, діють власні правила складання чисел, що представляють правила складання цифр з рівними порядками, що відносяться до двох числам, що складаються. Ці правила видно з табл.6.1. Перенесення, що з'являється при додаванні деяких цифр даного розряду, показано символом "↶".
    Таблиця 6.1 - Додавання в 8-й системі числення
    +
    ↶0
    ↶0 ↶1
    ↶0 ↶1 ↶2
    ↶0 ↶1 ↶2 ↶3
    ↶0 ↶1 ↶2 ↶3 ↶4
    ↶0 ↶1 ↶2 ↶3 ↶4 ↶5
    ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6

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

    6 8 5 , 3 2 2 A ₁₆ + 1 0 1 0 1 0 0 1 0 , 1 0 ₂ + 4 7 7 , 6₈

    D A 4 8 5 , 4 4 6 0 ₁₆ 1 1 0 0 0 0 1 1 0 , 1 1 0 1 0₂6 5 1 , 5 6₈

    D A B 0 A , 7 6 8 A₁₆ 1 0 1 1 0 1 1 0 0 1 , 0 1 0 1 0₂ 1 3 5 1 ,3 6₈

    Таблиця 6.2 - Додавання в 16-ій системі числення

    + A B C D E F
    A B C D E F
    A B C D E F ↶0
    A B C D E F ↶0 ↶1
    A B C D E F ↶0 ↶1 ↶2
    A B C D E F ↶0 ↶1 ↶2 ↶3
    A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4
    A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5
    A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6
    A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7
    A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8
    A A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9
    B B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A
    C C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B
    D D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C
    E E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C ↶D
    F F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C ↶D ↶E

    Завдання 7.

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

    а) _ 2 5 1 5 1 4 , 4 0₈

    5 4 2 5 , 5 5

    2 4 3 0 6 6 , 6 3₈

    б) _1 0 1 1 0 1 1 0 0 0 , 1 0 0 0 0₂

    1 0 1 0 0 1 0 0 1 , 1 0 0 1 1

    1 0 1 1 0 0 1 0 0 1 1 , 0 0 0 0 1₂

    в) _E 3 1 6 , 2 5 0₁₆

    5 8 8 1 , F D C₁₆

    8 А 9 4 , 2 7 4

    Завдання 8.

    В основі множення чисел у двійковій системі лежить таблиця множення однорозрядних двійкових чисел.

    0 · 0 = 0
    0 · 1 = 0
    1 · 0 = 0
    1 · 1 = 1

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

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

    Табл. 8.1. – Розмноження у 8-ій системі

    ×

    а) 1 0 1 0 0 1₂

    * 1 1 1 0 1 1

    1 0 1 0 0 1 .

    1 0 0 1 0 1 1 1 0 0 1 1₂

    б) 1 0 1 1 1 0 0₂

    * 1 1 0 1 1

    1 0 1 1 1 0 0 .

    1 0 0 1 1 0 1 1 0 1 0 0₂

    в) B C D , 5₁₆

    *D5A₁₆

    9 D 9 3 3 E 2₁₆


    Табл.8.2 - Розмноження в 16-ій системі

    × A B C D E F
    A B C D E F
    A C E 1A 1C 1E
    C F 1B 1E 2A 2D
    C 1C 2C 3C
    A F 1E 2D 3C 4B
    C 1E 2A 3C 4E 5A
    E 1C 2A 3F 4D 5B
    1B 2D 3F 5A 6C 7E
    A A 1E 3C 5A 6E 8C
    B B 2C 4D 6E 8F 9A A5
    C C 3C 6C 9C A8 B4
    D D 1A 4E 5B 8F 9C A9 B6 C3
    E E 1C 2A 7E 8C 9A A8 B6 C4 D2
    F F 1E 2D 3C 4B 5A A5 B4 C3 D2 E1

    Завдання 9.

    Прямий код- спосіб представлення двійкових чисел із фіксованою комою в комп'ютерній арифметиці. При записі числа у прямому коді старший розряд є знаковим розрядом. Якщо його значення дорівнює 0 - то число позитивне, якщо 1 - негативне.

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

    Додатковий код(Англ. two’s complement, іноді два-комплект) - Найпоширеніший спосіб подання негативних цілих чисел у комп'ютерах. Він дозволяє замінити операцію віднімання на операцію додавання і зробити операції додавання та віднімання однаковими для знакових і беззнакових чисел, чим спрощує архітектуру ЕОМ. При записі числа для позитивного числа збігається з прямим кодом, а негативного числа додатковий код обумовлюється отриманням зворотного коду і додаванням 1.

    Додавання чисел у додатковому коді виникає 1 перенесення у знаковому розряді відкидається, а зворотному коді додається до молодшого розряду суми кодів.

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

    Прямий код:

    X = 0,10111 1,11110

    Y=1,11110 0,10111

    Зворотній код:

    X = 0,10111 0,10111

    Y=1,00001 1,00001

    1,11000 1,00111

    Додатковий код:

    X = 0,10111 0,10111

    Y=1,00010 1,00010

    1,11001 1,00110

    Прямий код:

    Зворотній код:

    X = 0,110110 0,0110110

    Y=0,101110 0,0101110

    Додатковий код:

    X = 0,110110 0,0110110

    Y=0,101110 0,0101110

    Завдання 10.

    Логічні елементи

    1. Логічний елемент НЕ виконує логічне заперечення. Він має один вхід та один вихід. Відсутність сигналу (напруги) позначимо через "0", а наявність сигналу через "1". Сигнал на виході завжди протилежний вхідному сигналу. Це видно з таблиці істинності, що показує залежність вихідного сигналу від вхідного.

    2. Логічний елемент АБО виконує логічне складання. Він має кілька входів та один вихід. Сигнал на виході буде, якщо є сигнал хоч на одному вході.

    Умовне позначення Таблиця істинності

    3. Логічний елемент виконує логічне множення. Сигнал на виході цього логічного елемента буде лише у тому випадку, якщо є сигнал усім входах.

    Умовне позначення Таблиця істинності

    F=(A v B) ʌ (C v D)

    Таблиця 10.1 - Таблиця істинності

    A B C D A B C D (A v B) (C vD) F=(A v B) ʌ (C v D)

    AВ алгебрі логіки є низка законів, що дозволяють проводити рівносильні перетворення логічних виразів. Наведемо співвідношення, які відбивають ці закони.

    1. Закон подвійного заперечення: (А) = А

    Подвійне заперечення виключає заперечення.

    2. Переміщувальний (комутативний) закон:

    Для логічного додавання: A V B = B V A

    Для логічного множення: A&B = B&A

    Результат операції над висловлюваннями залежить від цього, у порядку беруться ці висловлювання.

    3. Сполучний (асоціативний) закон:

    Для логічного додавання: (A v B) v C = A v (Bv C);

    Для логічного множення: (A&B)&C = A&(B&C).

    За однакових знаків дужки можна ставити довільно або взагалі опускати.

    4. Розподільний (дистрибутивний) закон:

    Для логічного додавання: (A v B)&C = (A&C)v(B&C);

    Для логічного множення: (A&B) v C = (A v C)&(B v C).

    Визначає правило винесення загального висловлювання за дужку.

    5. Закон загальної інверсії (закони де Моргана):

    Для логічного додавання: (Av B) = A & B;

    Для логічного множення: (A&B) = A v B;

    6. Закон ідемпотентності

    Для логічного додавання: A v A = A;

    Для логічного множення: A&A=A.

    Закон означає відсутність показників ступеня.

    7. Закони виключення констант:

    Для логічного додавання: A v 1 = 1, A v 0 = A;

    Для логічного множення: A&1=A, A&0=0.

    8. Закон протиріччя: A&A = 0.

    Неможливо, щоб суперечливі висловлювання були водночас істинними.

    9. Закон виключення третього: A v A = 1.

    10. Закон поглинання:

    Для логічного додавання: A v (A&B) = A;

    Для логічного множення: A&(A v B) = A.

    11. Закон виключення (склеювання):

    Для логічного додавання: (A&B) v (A&B) = B;

    Для логічного множення: (A v B)&(A v B) = B.

    12. Закон контрапозиції (правило перевертання):

    (A v B) = (Bv A).

    (А→В) = А&В

    А&(АvВ)= А&В

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


    Подібна інформація.


    Надіслати свою гарну роботу до бази знань просто. Використовуйте форму нижче

    Студенти, аспіранти, молоді вчені, які використовують базу знань у своєму навчанні та роботі, будуть вам дуже вдячні.

    Курсова робота

    На тему:

    Алгоритми шифрування даних

    Вступ

    1. Призначення та структура алгоритмів шифрування

    1.1 Огляд криптографічних методів

    2. Алгоритм симетричного шифрування

    2.1 Структура алгоритмів шифрування

    3. Застосування симетричного алгоритму шифрування

    Висновок

    Список літератури

    Вступ

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

    Чому проблема використання криптографічних методів в інформаційних системах стала зараз особливо актуальною?

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

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

    Що стосується розрахунків за допомогою кредитної картки, то її недоліки очевидні: необхідно мати карту (а в Росії ще далеко не всі знають, що це таке), є і побоювання, що всім в Інтернеті стануть відомі коди вашої кредитки злі люди очистять ваш рахунок. Насправді ймовірність такого шахрайства не більша за ту, що при обміні валюти вам підсунуть фальшиві гроші. Та й взагалі, до електронних грошей проблем не більше, ніж у звичайних. Для проведення розрахунків у Мережі розроблено кілька платіжних систем. Які або майстерно застосовують існуючі кредитки, або спираються на чисті електронні гроші, тобто на захищену систему файлів, де зберігаються записи про стан вашого рахунку. Таких систем у світі більше десятка, а в Росії теж кілька, найпоширеніша з яких – CyberPlat.

    1. Розрахунки у Мережі пов'язані з передачею особливої ​​інформації, яку не можна відкривати стороннім особам.

    2. Під час розрахунків необхідно мати гарантію, що всі дійові особи (покупець, продавець, банк чи платіжна система) саме ті, за кого себе видають.

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

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

    Усе це постійно підштовхує дослідників створення нових криптосистем і ретельний аналіз вже існуючих.

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

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

    * Високі темпи зростання парку персональних комп'ютерів, що застосовуються у різноманітних сферах людської діяльності.

    1. Призначення та структура алгоритмів шифрування

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

    1. Безключові, у яких не використовуються будь-які ключі.

    2. Одноключові – у них використовується якийсь додатковий ключовий параметр – зазвичай це секретний ключ.

    3. Двохключові, що використовують у своїх обчисленнях два ключі: секретний та відкритий.

    Мал. 1. Криптоалгоритми

    1.1 Огляд криптографічних методів

    Шифрування є основним способом захисту; розглянемо його докладно далі.

    Варто сказати кілька слів і про інші криптографічні методи:

    1. Електронний підпис використовується для підтвердження цілісності та авторства даних. Цілісність даних означає, що дані були випадково або навмисно змінені при їх зберіганні або передачі.

    Алгоритми електронного підпису використовують два види ключів:

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

    o відкритий ключ використовується для перевірки.

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

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

    3. Існують різні методи криптографічного контрольного підсумовування:

    o ключове та безключове хешування;

    o обчислення імітоприставок;

    o використання кодів автентифікації повідомлень.

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

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

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

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

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

    4. Генератори випадкових і псевдовипадкових чисел дозволяють створювати послідовності випадкових чисел, які широко використовуються у криптографії, зокрема:

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

    o випадкові числа застосовуються у багатьох алгоритмах електронного підпису;

    o випадкові числа використовують у багатьох схемах аутентифікації.

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

    2 Алгоритм симетричного шифрування

    Шифруванняінформації - це перетворення відкритої інформації на зашифровану (яка найчастіше називається шифртекстомабо криптограмою), і навпаки. Перша частина цього процесу називається зашифруванням, друга - розшифруванням.

    Можна уявити зашифрування у вигляді наступної формули:

    З = E k1(M),де:

    M(message) - відкрита інформація,

    З(cipher text) - отриманий в результаті зашифрування шифртекст,

    E(encryption) - функція зашифрування, що виконує криптографічні перетворення над M,

    k1(key) – параметр функції Eзваний ключемзашифрування.

    У стандарті ГОСТ 28147-89 (стандарт визначає вітчизняний алгоритм симетричного шифрування) ключвизначено наступним чином: "Конкретний секретний стан деяких параметрів алгоритму криптографічного перетворення, що забезпечує вибір одного перетворення із сукупності всіляких даного алгоритму перетворень".

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

    Аналогічним чином можна уявити і розшифрування:

    M" = D k2(C),де:

    M"- Повідомлення, отримане в результаті розшифрування,

    D(decryption) – функція розшифрування; так само, як і функція зашифрування, виконує криптографічні перетворення над шифртекстом,

    k2- Ключ розшифрування.

    Для отримання в результаті розшифрування коректного відкритого тексту (тобто того самого, який був зашифрований раніше: M" = M), необхідне одночасне виконання наступних умов:

    1. Функція розшифрування має відповідати функції зашифрування.

    2. Ключ розшифрування має відповідати ключу зашифрування.

    За відсутності правильного ключа k2отримати вихідне повідомлення M" = Mза допомогою правильної функції Dнеможливо. Під словом "неможливо" в даному випадку зазвичай розуміється неможливість обчислення за час при існуючих обчислювальних ресурсах.

    Алгоритми шифрування можна розділити на дві категорії (див. рис. 1):

    1. Алгоритми симетричного шифрування.

    2. Алгоритми асиметричного шифрування.

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

    У асиметричне шифруванняключ зашифрування k1легко обчислюється з ключа k2таким чином, що зворотне обчислення неможливе. Наприклад, співвідношення ключів може бути таким:

    k1 = ak2 mod p,

    де a та p - параметри алгоритму шифрування, що мають досить велику розмірність.

    Таке співвідношення ключів використовують і алгоритмах електронного підпису.

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

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

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

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

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

    Розглянемо, як зсередини виглядають алгоритми блочного симетричного шифрування.

    2.1 Структура алгоритмів шифрування

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

    1. Алгоритми з урахуванням мережі Фейстеля.

    Мережа Фейстеля має на увазі розбиття оброблюваного блоку даних на кілька субблоків (найчастіше - на два), один з яких обробляється якоюсь функцією f()і накладається на один або кілька інших субблоків. На рис. 2 наведена структура алгоритмів, що найчастіше зустрічається, на основі мережі Фейстеля.

    Мал. 2. Структура алгоритмів з урахуванням Фейстеля.

    Додатковий аргумент функції f(), Позначений на рис. 2 як Ki, називається ключем раунду. Ключ раунду є результатом обробки ключа шифрування процедурою розширення ключа, завданням якої є отримання необхідної кількості ключів Kiз вихідного ключа шифрування щодо невеликого розміру (нині достатнім ключа симетричного шифрування вважається розмір 128 біт). У найпростіших випадках процедура розширення ключа просто розбиває ключ на кілька фрагментів, які використовуються в раундах шифрування; істотно частіше процедура розширення ключа є досить складною, а ключі Kiзалежить від значень більшості біт вихідного ключа шифрування.

    Накладення обробленого субблоку на необроблений найчастіше виконується за допомогою логічної операції "що виключає або" - XOR (як показано на рис. 2). Досить часто замість XOR тут використовується додавання по модулю 2 n, де n- Розмір субблоку в бітах. Після накладання субблоки змінюються місцями, тобто у наступному раунді алгоритму обробляється вже інший субблок даних.

    Така структура алгоритмів шифрування отримала свою назву на ім'я Хорста Фейстеля (Horst Feistel) – одного з розробників алгоритму шифрування Lucifer та розробленого на його основі алгоритму DES (Data Encryption Standard) – колишнього (але досі широко використовуваного) стандарту шифрування США. Обидва ці алгоритми мають структуру, аналогічну показаній на рис. 2. Серед інших алгоритмів, заснованих на мережі Фейстеля, можна навести приклад вітчизняного стандарту шифрування ГОСТ 28147-89, а також інші досить відомі алгоритми: RC5, Blowfish, TEA, CAST-128 і т.д.

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

    o Алгоритми на основі мережі Фейстеля можуть бути сконструйовані таким чином, що для зашифрування та розшифрування можуть використовуватися той самий код алгоритму - різниця між цими операціями може полягати лише в порядку застосування ключів Ki; така властивість алгоритму найбільш корисна за його апаратної реалізації або на платформах з обмеженими ресурсами; як приклад такого алгоритму можна навести ГОСТ 28147-89.

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

    Існує і складніша структура мережі Фейстеля, приклад якої наведено на рис. 3.

    Мал. 3. Структура мережі Фейстеля.

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

    2. Алгоритми на основі підстановочно-перестановних мереж (SP-мережа- Substitution-permutation network).

    На відміну від мережі Фейстеля, SP-мережі обробляють за один раунд блок, що повністю шифрується. Обробка даних зводиться, в основному, до замін (коли, наприклад, фрагмент вхідного значення замінюється іншим фрагментом відповідно до таблиці замін, яка може залежати від значення ключа Ki) та перестановок, що залежать від ключа Ki(Спрощена схема показана на рис. 4).

    Мал. 4. Підстановочно-перестановна мережа.

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

    SP-мережі поширені значно рідше, ніж мережі Фейстеля; як приклад SP-мереж можна навести алгоритми Serpent або SAFER+.

    3. Алгоритми зі структурою "квадрат"(Square).

    Для структури "квадрат" характерне представлення блоку даних, що шифрується, у вигляді двовимірного байтового масиву. Криптографічні перетворення можуть виконуватися над окремими байтами масиву, а також над рядками або стовпцями.

    Структура алгоритму отримала свою назву від алгоритму Square, який був розроблений у 1996 році Вінсентом Ріджменом (Vincent Rijmen) та Джоан Деймен (Joan Daemen) – майбутніми авторами алгоритму Rijndael, який став новим стандартом шифрування США AES після перемоги на відкритому конкурсі. Алгоритм Rijndael також має Square-подібну структуру; також як приклад можна навести алгоритми Shark (раніше розробка Ріджмена і Деймен) і Crypton. Недоліком алгоритмів зі структурою "квадрат" є їхня недостатня вивченість, що не завадило алгоритму Rijndael стати новим стандартом США.

    Мал. 5. Алгоритм Rijndael.

    На рис. 5 наведено приклад операції над блоком даних, що виконується алгоритмом Rijndael.

    4. Алгоритми з нестандартною структурою, тобто алгоритми, які неможливо зарахувати до жодного з перелічених типів. Ясно, що винахідливість може бути безмежною, тому класифікувати всі можливі варіанти алгоритмів шифрування є складним. Як приклад алгоритму з нестандартною структурою можна навести унікальний за своєю структурою алгоритм FROG, у кожному раунді якого за досить складними правилами виконується модифікація двох байт даних, що шифруються (див. рис. 6).

    Мал. 6. Модифікація двох байт даних, що шифруються.

    Суворі межі між описаними вище структурами не визначені, тому досить часто зустрічаються алгоритми, що зараховуються різними експертами різних типів структур. Наприклад, алгоритм CAST-256 належить його автором до SP-мережі, а багатьма експертами називається розширеною мережею Фейстеля. Інший приклад - алгоритм HPC, званий його автором мережею Фейстеля, але експерти, що відносяться до алгоритмів з нестандартною структурою.

    3. Застосування цимметричного алгоритму шифрування

    криптографія алгоритм симетричний шифрування

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

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

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

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

    відправник шифрує інформацію за допомогою встановленого програмного забезпечення, що реалізує симетричний алгоритм шифрування;

    зашифрована інформація передається одержувачу каналами зв'язку;

    одержувач дешифрує інформацію, використовуючи той самий ключ, що й відправник.

    Нижче наведено огляд деяких алгоритмів симетричного шифрування:

    DES (Data Encryption Standard). Розроблений фірмою IBM та широко використовується з 1977 року. В даний час дещо застарів, оскільки довжина ключа, що застосовується в ньому, недостатня для забезпечення стійкості до розтину методом повного перебору всіх можливих значень ключа. Розтин цього алгоритму стало можливим завдяки швидкому розвитку обчислювальної техніки, який з 1977 року зробив величезний стрибок;

    Triple DES. Це вдосконалений варіант DES, який застосовує для шифрування алгоритм DES тричі з різними ключами. Він значно стійкіший до злому, ніж DES;

    Rijndael. Алгоритм розроблено у Бельгії. Працює з ключами завдовжки 128, 192 та 256 біт. На даний момент до нього немає претензій у фахівців із криптографії;

    Skipjack. Алгоритм створено та використовується Агентством національної безпеки США. Довжина ключа 80 біт. Шифрування та дешифрування інформації проводиться циклічно (32 цикли);

    IDEA. Алгоритм запатентований у США та низці європейських країн. Утримувач патенту компанія Ascom-Tech. Алгоритм використовує циклічну обробку інформації (8 циклів) шляхом застосування до неї низки математичних операцій;

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

    Відповідно до законодавства США (угода International Traffic in Arms Peguiation), криптографічні пристрої, включаючи програмне забезпечення, належать до систем озброєння.

    Тому при експорті програмної продукції, в якій використовується криптографія, потрібний дозвіл Держдепартаменту. Фактично експорт криптографічної продукції контролює NSA (National Security Agency). уряд США дуже неохоче видає подібні ліцензії, оскільки це може завдати шкоди національній безпеці США. Разом з тим, зовсім недавно компанії Hewlett-Packard видано дозвіл на експорт її криптографічного комплексу Ver Secure до Великобританії, Німеччини, Франції, Данії та Австралії. Тепер НР може експлуатувати в ці країни системи, які використовують 128-бітовий криптостандарт Triple DES, який вважається абсолютно надійним.

    ВИСНОВОК

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

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

    Однак цей критерій не враховує інших важливих вимог до криптосистем:

    * неможливість розкриття чи осмисленої модифікації інформації на основі аналізу її структури,

    * досконалість використовуваних протоколів захисту,

    * мінімальний обсяг використовуваної ключової інформації,

    * мінімальна складність реалізації (у кількості машинних операцій), її вартість,

    * Висока оперативність.

    Бажано, звичайно, використання деяких інтегральних показників, що враховують зазначені фактори.

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

    Часто ефективнішим при виборі та оцінці криптографічної системи є використання експертних оцінок та імітаційне моделювання.

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

    Еліптичні функції також належать до симетричних методів шифрування.

    Еліптичні криві - математичні об'єкти, які математики інтенсивно вивчають починаючи з 17-го століття. Н.Кобліц і В. Міллер незалежно один від одного запропонували системи системи криптозахисту з відкритим ключем, які використовують для шифрування властивості адитивної групи точок на еліптичній кривій. Ці роботи лягли основою криптографії з урахуванням алгоритму еліптичних кривих.

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

    Список літератури

    1) Чмора А.Л. Сучасна прикладна криптографія. 2-ге вид., стер. - М: Геліос АРВ, 2004. - 256с.: іл.

    2) А.Г. Ростовцев, Н.В. Михайлова Методи криптоаналізу класичних шифрів.

    3) А. Саломаа Криптографія з відкритим ключем.

    4) Герасименко В.А. Захист інформації у автоматизованих системах обробки даних кн. 1.-М.: Вища школа. -2004.-400с.

    5) Грегорі С. Сміт. Програми шифрування даних // Світ ПК-2007. -№3.

    6) Ростовцев А. Г., Михайлова Н. В. Методи криптоаналізу класичних шифрів. -М: Наука, 2005. -208 с.

    Розміщено на http://www.allbest.ru/

    Подібні документи

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

      лабораторна робота, доданий 18.03.2013

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

      курсова робота , доданий 09.05.2012

      p align="justify"> Принцип програмної реалізації класичних криптографічних методів. Метод шифрування за допомогою таблиці Віженера. Створення текстового редактора " Блокнот " , що містить методи шифрування. Вербальний алгоритм та програма для методів шифрування.

      курсова робота , доданий 20.01.2010

      Історія криптографії. Порівняння алгоритмів шифрування, застосування операційній системі. Аналіз продуктів в області шифрування користувача. Увімкнення та вимкнення шифрування на еліптичних кривих. Використання хеш-функції. Електронний підпис.

      курсова робота , доданий 18.09.2016

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

      реферат, доданий 31.05.2013

      Криптографія та шифрування. Симетричні та асиметричні криптосистеми. Основні сучасні методи шифрування. Алгоритми шифрування: заміни (підстановки), перестановки, гамірування. Комбіновані методи шифрування. Програмні шифратори.

      реферат, доданий 24.05.2005

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

      курсова робота , доданий 02.12.2014

      Історія алгоритмів симетричного шифрування (шифрування із закритим ключем). Стандарти на криптографічні алгоритми. Датчики випадкових чисел, створення ключів. Сфера інтересів криптоаналізу. Системи електронного підпису. Зворотне перетворення інформації.

      короткий виклад , доданий 12.06.2013

      Основні методи криптографічного захисту інформації. Система шифрування Цезаря числовим ключем. Алгоритми подвійних перестановок та магічні квадрати. Схема шифрування Ель Гамаль. Метод одиночної перестановки за ключем. Криптосистема шифрування даних RSA.

      лабораторна робота , доданий 20.02.2014

      Коротка історія розвитку криптографічних методів захисту. Сутність шифрування та криптографії із симетричними ключами. Опис аналітичних та адитивних методів шифрування. Методи криптографії з відкритими ключами та цифрові сертифікати.