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

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

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

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

В залежності від кількості ключів, які застосовуються у конкретному алгоритмі:

  • Безключові КА – не використовують в обчисленнях ніяких ключів;
  • Одноключові КА – працюють з одним додатковим ключовим параметром (якимсь таємним ключем);
  • Двухключові КА – на різних стадіях роботи в них застосовуються два ключових параметри: секретний та відкритий ключі.

В задежності від характеру впливів, що виробляються над даними, алгоритми підрозділяються на:

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

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

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

Основна схема класифікації криптоалгоритмів

Криптографія (cryptography) (гр. kriptos - таємний і grafo - пишу) -  наука про способи перетворення (шифрування) інформації з метою захисту її від незаконного чи небажаного використання. Крім того, шифрування повинне також забезпечувати можливість легкого одержання вихідної інформації із зашифрованої легітимними користувачами, яким відомий чи доступний ключ алгоритму розшифровування або інша ключова інформація. Найчастіше передбачається, що зашифрована інформація передається по загальнодоступному каналі зв'язку, наприклад, радіо чи Інтернет, так, що всі користувачі (законні і незаконні) мають до неї вільний доступ. У математичній чи теоретичній криптографії прагнуть показати, що задача зламування шифру є задачею із строго доказовими властивостями, зокрема, її розв’язування має визначену "складність" у рамках тієї чи іншої математичної моделі.

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

Дешифрування (deciphering) і розшифровування (decryption) - відповідно методи одержання із зашифрованого тексту інформації без знання криптографічного ключа і зі знанням його.

Шифр і шифросистема (cipher, cypher, ciphercode) - найчастіше вихід криптосистеми і сама симетрична криптосистема відповідно. У залежності від контексту шифр може означати зашифроване повідомлення або саму криптографічну систему перетворення інформації.

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

Криптографічна стійкість, криптостійкість (cryptographic strength) - стійкість шифросистеми проти всіх відомих видів криптоаналізу.

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

Раунд чи цикл шифрування (round) - один комплексний крок алгоритму, в процесі якого перетворюються дані.

Підключ шифрування (round key, subkey) - криптографічний ключ, що обчислюється і використовуваний тільки на етапі шифрування з основного ключа шифрування.

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

Гама-послідовність чи просто гама (gamma sequence, gamma) - послідовність псевдовипадкових елементів, що генеруються за певним законом чи  алгоритмом.

Гамування (gamma xoring) - процес "накладання" гама-послідовності на відкриті дані, найчастіше з допомогою логічної операції XOR (виключне АБО).

Автентичність даних і систем (authenticity of information) - для даних автентичність можна визначити як факт підтвердження дійсності інформації, що міститься в цих даних, а для систем - здатність забезпечувати процедуру відповідної перевірки - аутентифікації даних.

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

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

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

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

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

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

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

Основні методи кpиптоаналізу:

  • Brute force ("грубою силою")- перебірвсіхможливихваріантів (ключів).
  • Статистичний - обчислення ключа ведеться із врахуванням статистичних закономірностей відкритого тексту (частота появи букв, цифр, складів).
  • Known plaintext (з відомим відкритим текстом)- ключ обчислюється за відомим фрагментом відкритого тексту та відповідного йому зашифрованого.
  • Симетрична криптосистема - система із секретним ключем, який використовується і під час шифрування,  і під час розшифровування. Для одержання секретного ключа учасниками обміну інформацією потрібен секретний канал, що є головним недоліком класичних симетричних криптосистем.
  • Асиметрична криптосистема чи система з відкритим (публічним) ключем - система із двома ключами. Генеруються два ключі - секретний і відкритий. Відкритий ключ передається відкритими каналами зв’язку одному або декільком партнерам, з допомогою нього шифруються повідомлення і передаються володарю секретного ключа. Розшифрувати повідомлення можна тільки секретним ключем. Знайти секретний ключ  за відомим  публічним - обчислювально складна задача, яку неможливо розв’язати (поки що) за допомогою комп’ютерних систем. Для генерації ключів і шифрування  використовуються обчислювально складні  алгоритми, наприклад, розклад астрономічно великих чисел на прості множники, цілочисельне логарифмування, еліптичні функції. Алгоритми, які грунтувались на задачі вкладання ранця, виявились ненадійними і спростовані математично. Недоліком асиметричних криптосистем є їх нестроге теоретичне обгрунтування. Однак є практичні області, де без них обійтись неможливо - це системи електронного підпису, електронного голосування, "електронні" гроші.

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

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

  • Перестановочні шифри - простий стовпчиковий перестановочний шифр, перестановочний шифр із ключовим словом.

  • Підстановочні шифри - шифр Цезаря, Афінна криптоситема, шифр Полібія.

  • Багатоалфавітні системи - XOR-алгоритм, шифр Віженера, шифр Бофорта, шифр з автоключем.

  • Блочні шифри - режим електронної шифрувальної книги, режим зчеплення блоків шифру.

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

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

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

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

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

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

Основи криптографії з відкритими ключами були висунуті Уїтфілдом Діффі (Whitfield Diffie) і Мартіном Хеллманом (Martin Hellman), і незалежно Ральфом Мерклом (Ralph Merkle). Їх внеском в криптографію було переконання, що ключі можна використовувати парами – ключ шифрування і ключ дешифрування - і що може бути неможливо отримати один ключ з іншого.

Діффі і Хеллман вперше представили цю ідею на Національній комп'ютерній конференції 1976г., через декілька місяців була опублікована їх основоположна робота "New Directions in Cryptography" ("Нові напрями в криптографії"). Перша робота Меркла вийшла в 1978г.

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

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

- розкладання великих чисел на прості множники (RSA);

- обчислення логарифма в кінцевому полі (криптосистема Эль-Гамаля);

- обчислення коріння рівнянь алгебри (на основі еліптичних рівнянь).

Криптосистеми з відкритим ключем можна використовувати за трьома призначеннями:

- як самостійні засоби захисту даних, що передаються і зберігаються;

- як засоби для розподілу ключів;

- засоби аутентифікації користувачів.

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

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

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

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

Криптосистема RSA (захищена патентом США №4405829) була розроблена в 1977 році в Массачусетському технологічному інституті й отримала назву на честь її творців: Рона Рівеста (Ron Rivest), Аді Шаміра (Adi Shamir) і Леонарда Адлмана (Leonard Adleman). Вони скористалися тим фактом, що знаходження великих простих чисел в обчислювальному відношенні здійснюється легко, але розкладання на множники добутку двох таких чисел практично нездійсненно.

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

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

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

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

Ефективним програмно-технічним засобом для запровадження криптосистем є застосування електронних ключів. Одним з перших електронних ключів була розроблена в кінці 80-х років спеціалізована інтегральна схема IDS-P2 (MB8763). Пізніше програмна реалізація алгоритму RSA здійснена на інтегральній схемі CY1024.

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

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

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

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

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

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

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

Існують сотні алгоритмів симетричного типу! Найбільш поширені з них – AES, RC4, DES, 3DES, RC5, RC6 і т. д. Давайте розглянемо три найбільш популярних.

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

DES (data encryption standard), представлено в 1976 році, є найстарішим симетричним методом шифрування. Розроблений IBM для захисту конфіденційних урядових даних і офіційно прийнятий в 1977 році для використання федеральними агентствами в США. Алгоритм шифрування DES був одним з тих, який використовували в версії 1.0 і 1.1 TLS (transport layer security).

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

У 2005 році DES було офіційно оголошено застарілим і замінено алгоритмом шифрування AES. Найбільшим недоліком DES була занадто маленька довжина ключа шифрування, що полегшувало злом. Протокол TLS 1.2, який широко використовується сьогодні вже не використовує метод шифрування DES.

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

3DES також відомий як TDEA (triple data encryption algorithm), як випливає з назви, є оновленою версією алгоритму DES. 3DES розроблено для подолання недоліків алгоритму DES і введено в експлуатацію в кінці 1990 року. Оновлений алгоритм застосовував цикли DES тричі до кожного блоку даних. В результаті 3DES було набагато складніше зламати, ніж його попередника DES. TDEA став широко використовуваним алгоритмом шифрування в платіжних системах та інших технологіях фінансової індустрії. Він також став частиною криптографічних протоколів, таких як TLS, SSH, IPsec і OpenVPN.

Всі алгоритми шифрування в кінцевому підсумку піддаються владі часу, і 3DES не став винятком. Уразливість Sweet32 алгоритму 3DES була виявлена ​​Картікеяном Бхаварганом і Гаетаном Леурентом. Це відкриття змусило індустрію безпеки розглянути питання про старіння алгоритму, а Національний інститут стандартів і технологій США (англ. National Institute of Standards and Technology, NIST) оголосив про це офіційно в проекті управління, опублікованому в 2019 році.

Згідно з цим проектом, використання 3DES має бути скасовано в усіх нових додатках після 2023 року. Варто також відзначити, що TLS 1.3, новітній стандарт для протоколів SSL / TLS, також припинив використання 3DES.

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

AES (advanced encryption system) также известный как Rijndael, является одним из наиболее AES (advanced encryption system) також відомий як Rijndael, є одним з найбільш поширених алгоритмів шифрування. Був розроблений в якості альтернативи DES і після затвердження NIST в 2001 році став новим стандартом шифрування. AES – це сімейство блокових шифрів з різною довжиною ключів і різними розмірами блоків.

AES працює методами підстановки і перестановки. Спочатку незашифровані дані перетворюються в блоки, а потім шифрування застосовується з використанням ключа. Процес шифрування складається з різних процесів, таких як зсуви рядків, змішування стовпців і додавання ключів. Залежно від довжини ключа виконується 10, 12 або 14 таких трансформацій (раундів). Варто відзначити, що останній раунд відрізняється від попередніх і не включає подпроцесс мікшування.

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

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

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

  • Бездротова безпека;
  • Безпека процесорів і шифрування файлів;
  • Протокол SSL / TLS (безпека сайтів);
  • Безпека Wi-Fi;
  • Шифрування мобільних додатків;
  • VPN (virtual private network) і т. д.

Багато урядових установ США, використовують алгоритм шифрування AES для захисту своєї конфіденційної інформації.

Типи шифрування: симетричний та асиметричний

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

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

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

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

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

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

У 1977 році алгоритм винайшли троє вчених з Массачусетського технологічного інституту Рон Ривест, Аді Шамір і Леонард Адлеман (Ron Rivest, Adi Shamir, Leonard Adleman звідси «RSA»). На сьогоднішній день є найбільш використовуваним алгоритмом асиметричного шифрування. Його ефективність полягає в методі «первинної факторизації». По суті, обираються два різних випадкових простих числа заданого розміру (наприклад, 1024 біта кожне) і множаться, щоб створити ще одне гігантське число. Завдання полягає в тому, щоб визначити вихідні прості числа з помноженого гігантського. Виявляється, ця головоломка практично неможлива для сучасних суперкомп’ютерів, не кажучи вже про людей.

У 2010 році група добровольців провела дослідження, і їм знадобилося більше 1500 років обчислювального часу (розподіленого по сотням комп’ютерів), щоб зламати 768-бітний ключ RSA, що набагато нижче стандартного 2048-бітного, який використовується сьогодні.

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

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

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

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

У 1985 році два математика по імені Ніл Кобліц і Віктор Міллер запропонували використовувати еліптичні криві в криптографії. Майже через два десятиліття їх ідея втілилася в реальність, алгоритм ECC (Elliptic Curve Cryptography) почали використовувати в 2004-2005 роках.

У процесі шифрування ECC еліптична крива представляє набір точок, які задовільняють математичне рівняння (y 2 = x 3 + ax + b).

Еліптична крива

Як і RSA, ECC також працює за принципом незворотності. Простіше кажучи, в ECC число, яке символізує точку на кривій, множиться на інше число і дає іншу точку на кривій. Тепер, щоб зламати цю головоломку, ви повинні з’ясувати нову точку на кривій. Математика ECC побудована таким чином, що знайти нову точку практично неможливо, навіть якщо ви знаєте вихідну точку.

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

Не дивлячись на те, що в порівнянні з RSA, в ECC використовується коротша довжина ключа, забезпечує він більшу безпеку (від сучасних методів злому).

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

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

Гібридне шифрування: симетричне + асиметричне шифрування

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

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

Метод гібридного шифрування використовується в SSL / TLS сертифікатах під час послідовного зв’язку між серверами і клієнтами (веб-браузерами) в процесі, відомому як “TLS handshake”. Спочатку перевіряється особистість обох сторін з використанням закритого і відкритого ключа. Після того, як обидві сторони підтвердили свою особистість, шифрування даних відбувається за допомогою симетричного шифрування з використанням ефемерного (сеансового) ключа. Це забезпечує швидку передачу великого обсягу даних, які ми відправляємо і отримуємо в Інтернеті кожну хвилину.

Якщо у вас виникло питання: “То який же тип шифрування краще?”,  явного переможця не буде.

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

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

Last modified: Tuesday, 28 February 2023, 12:58 PM