Новини високих технологій
» » Симетричне і асиметричне шифрування: визначення поняття, застосування, приклади

Симетричне і асиметричне шифрування: визначення поняття, застосування, приклади

20-06-2018, 17:28
3 523
Щоб обмінюватися посланнями і приховати вміст від третіх осіб, які застосовують шифрування. Вона використовується там, де необхідний підвищений рівень захисту. Є дві схеми шифрування: симетрична й асиметрична.

Що таке шифрування

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


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

Криптостійкість

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

Порівняння криптостійкості деяких систем шифрування

Максимальний розмір ключа RSA - 4096 біт.


Він використовується для шифрування і підпису. Криптостійкість можна описати як 27•1028 для ключа 1300 Біт. Схема застосовується в багатьох стандартах, принцип шифрування RSA один з перших асиметричних алгоритмів. Розмір ключа схеми Ель-Гамаля дорівнює RSA - 4096 Біт. Він використовується і для шифрування, і для цифрового підпису. Криптостійкість цієї системи не відрізняється від RSA при однаковому розмірі ключа. У методі DSA використовується значно меншою ключ - 1024 біта. Застосовується вона виключно для цифрового підпису.

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

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

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

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

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

Застосування пари відкритий-закритий ключ можна використовувати як: самостійний засіб захисту інформації; засіб розподілу ключів; засоби аутентифікації користувачів. Має такі переваги: збереження секретного ключа в надійному місці, замість якого по відкритому каналу передається відкритий; ключ дешифрування відомий тільки одній стороні; у великій асиметричній системі використовуйте меншу кількість ключів на відміну від симетричної. В таких алгоритмах складно внести які-небудь зміни. Подібна система має довгі ключі. Якщо симетричний ключ має розмір 128 Біт, то ключ RSA - 2304 Біт. З-за цього страждає швидкість розшифрування - вона в 2-3 рази повільніше. Для розшифровки потрібні великі обчислювальні ресурси.
Існує дуже багато прикладів симетричною і асиметричною систем шифрування.

Симетричне шифрування - як виглядає?

Приклад симетричного шифрування і схема реалізації нижче. Є два співрозмовника, які планують обмінятися конфіденційною інформацією. Перший співрозмовник генерує ключ d, алгоритми шифрування E і дешифрування D. Потім посилає цю інформацію другого співрозмовника. Повідомлення дешифрується ключем d.
Головним недоліком є неможливість встановити автентичність тексту. У разі перехоплення ключа зловмисник розшифрує секретну інформацію. Існують класичні методи. Проста і подвійна перестановка. Магічний квадрат. Одиночна перестановка. Перший метод є одним з найпростіших, у схемі якого не використовується ключ. Відправник і одержувач домовляються про певному ключі, представленим у вигляді розміру таблиці. Передане повідомлення записується в стовпці таблиці, але прочитується в рядках. Знаючи розмір таблиці, одержувач розшифровує повідомлення. Для забезпечення більшої скритності використовується подвійна перестановка. Таким чином відбувається шифрування раніше зашифрованого тексту. Для цього таблиці повинні відрізнятися кількістю рядків і стовпців. Вони заповнюються вертикально, горизонтально, змійкою, по спіралі. Цей спосіб не посилює шифрування, але процес злому стає більш тривалим.

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

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

В даному випадку відкритий ключ відправляється по відкритому каналу і теоретично може бути перехоплений зловмисниками.
На відміну від симетричні, асиметричні ключі шифрування різні. Для шифрування застосовується відкритий ключ для розшифровки послання - закритий. Використання двох ключів вирішує проблему можливості перехоплення, яка була в симетричному методі. Реалізується так. Перший співрозмовник вибирає алгоритми шифрування і дешифрування, пару ключів. Відкритий ключ посилає другого співрозмовника. Другий співрозмовник шифрує інформацію з допомогою отриманого ключа. Відправляє інформацію першого співрозмовника, який розшифровує повідомлення з допомогою закритого ключа. Існують такі основні методи асинхронного шифрування. RSA. DSA. Шифр Ель-Гамаля.

RSA

RSA - перший криптографічний алгоритм, який використовується і для шифрування, і для цифрового підпису.
Описується так. Вибирається два простих числа, наприклад, 3 і 7. Обчислюється модуль n - добуток двох чисел. Виходить 21. Обчислюється функція Ейлера ?=(p-1)x(q-1)=2x6=12 . Обчислюється будь-яке просте число e менше ? і просте з ?. Доступні варіанти: 5711.

Пара чисел e, n (521) - відкритий ключ. Тепер обчислюються числа d і n закритого ключа. Число d задовольняє умову (dxе) mod ?=1 і дорівнює 17. У підсумку друга пара чисел 17 і 21 - закритий ключ. Шифрування виконується наступним чином: повідомлення зводиться до степеня e, береться залишок від ділення на n, при цьому результат повинен бути менше числа n. Виходить 10 - це будуть закодовані дані. Для раскодировки e зводиться до степеня d, обчислюється залишок від ділення на n.


<script type="text/jаvascript">
var blockSettings = {blockId:"R-A-70350-45",renderTo:"yandex_rtb_R-A-70350-45",async:!0};
if(document.cookie.indexOf("abmatch=") >= 0) blockSettings.statId = 70350;
!function(a,b,c,d,e){a[c]=a[c]||[],a[c].push(function(){Ya.Context.AdvManager.render(blockSettings)}),e=b.getElementsByTagName("script")[0],d=b.createElement("script"),d.type="text/jаvascript",d.src="//an.yandex.ru/system/context.js",d.async=!0e.parentNode.insertBefore(d,e)}(this,this.document,"yandexContextAsyncCallbacks");

DSA

DSA (на відміну від RSA) використовується тільки для цифрового підпису, але не для шифрування. Задана підпис може бути перевірена публічно. Є два алгоритми для створення підпису і перевірки. Шифрується саме хеш-повідомлення, яке являє текст в цифровому вигляді. Тому для уникнення колізій вибирається складна хеш-функція. Побудова цифрового підпису складається з наступних кроків.

  1. Вибір криптографічного хеш-функції H(x).
  2. Бітність простого числа q повинна дорівнювати значенням хеш-функції H(x).
  3. Підбір такого простого числа p, щоб p-1 ділиться без залишку на q.
  4. Обчислення числа g = h (p-1)/q mod p . h повинно бути довільним числом в діапазоні від 1 до p-1.
  5. Вибирається випадкове число k від 0 до q.
  6. Обчислюється r = (g k mod p) mod q .
  7. Потім s = k-1(H(m) + xr)) mod q .
  8. Якщо r=0 або s=0 вибирається інше число k.

Схема Ель-Гамаля

Шифрування за схемою Ель-Гамаля використовується для цифрових підписів. Є продовженням алгоритму Діффі-Хеллмана.

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

Генерація ключів відбувається наступним чином.

  1. Вибирається випадкове просте число p.
  2. Число g має бути первообразным коренем p.
  3. Число x повинно бути більше 1 і менше p-1. Це буде закритий ключ.
  4. Потім обчислюється відкритий ключ y за формулою g^x mod p .


При шифруванні тексту M вибирається системний ключ K. Він більше одиниці і менше p-1. Потім обчислюються числа a і b, які є шифротекста, a = g^k mod p і b = y^k M mod p .
Цікаво по темі
Наскрізне шифрування: опис і застосування
Наскрізне шифрування: опис і застосування
Ще один негативний момент наголошується в тому, що на серверах багатьох месенджерів з наскрізним шифруванням зберігається вся службова інформація —
Що таке FTPS: принцип роботи та відмінності від звичайного FTP
Що таке FTPS: принцип роботи та відмінності від звичайного FTP
Адміністратори сайтів і FTP-серверів зобов'язані знати, як захиститися від хакерів і фішингу. Для цих цілей створені SSL-сертифікати, вони захистять
USB-токени. Що таке корисне робить цей пристрій?
USB-токени. Що таке корисне робить цей пристрій?
Сьогодні все частіше використовуються токени. Але незважаючи на це багато людей не розуміють, що це за пристрої, і з чим їх їдять. Далі піде мова про
AES: шифрування даних
AES: шифрування даних
Безсумнівно, багато користувачів комп'ютерів, які працюють з інтернетом (і не тільки), чули про такий термін, як AES шифрування даних. Що це за