Шифрування та Дешифрування

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

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

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

Шифрування з симетричними ключами

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

Figure 1. Symmetric-Key Encryption

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

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

Шифрування з симетричними ключами грає важливу роль в протоколі SSL(Secure Sockets Layer — рівень захищених сокетів), який широко використовується для автентифікацій, виявлення фальсифікації та шифрування через мережі TCP/IP. SSL також використовує техніки шифрування з використанням публічного ключа, яке описане в наступному розділі.

Шифрування з використанням публічного ключа

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

Шифрування з використанням публічного ключа (також називається асиметричне шифрування) залучає пару ключів: публічний ключ та приватний ключ, що пов'язані з об'єктом, що потрібно автентифікувати електронно, підписати чи зашифрувати. Кожен публічний ключ є у вільному доступі, а відповідний приватний ключ зберігається в таємиці. Дані зашифровані ваши публічним ключем можуть бути дешифровані лише вашим приватним ключем. Малюнок 2 ілюструє спрощений вигляд того, як працює шифрування з використанням публічного ключа.Figure 2. Public-Key Encryption

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

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

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

Довжина ключа й Захищеність шифрування

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

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

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

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

Для симетричних ключів, міцність шифрування часто описується в вигляді розміру чи довжини ключів, що використовуються для виконання шифрування: загалом, довші ключі надають кращий рівень захищеності. Довжина ключа вимірюється у бітах. Наприклад, 128-бітні ключі, що використовуються для шифру з симетричними ключами, RC4, що пітримується протоколом SSL надають значно кращий криптографіний захист ніж 40-бітні ключі, що використовуються тим самим шифром. Грубо кажучи, 128-бітне RC4 шифрування в 3x1026 разів захищенішим, ніж 40-бітне RC4 шифрування. (Для додаткової інформації про RC4 і інші шифри, що використовуться протоколом SSL, гляньте "Знайомство з SSL.")  Ключ шифрування вважається повністю захищеним, якщо найкращий відомий метод атаки з метою взлому не є швидшим ніж спроба атаки методом грубої сили, для тестування кожного можливого ключа.

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

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

Оригінальна Інформація Документа

Мітки документа й учасники

Мітки: 
Зробили внесок у цю сторінку: DollarPo8
Востаннє оновлена: DollarPo8,