Хешування

Хешування — це процес перетворення будь-яких даних (наприклад, тексту, паролів, файлів) в унікальний набір символів фіксованої довжини за допомогою спеціальної математичної функції, яку називають хеш-функцією.
Як це приблизно працює?1. Ви подаєте на вхід дані будь-якої довжини.
2. Хеш-функція обробляє ці дані і видає унікальний код (хеш), який має фіксовану довжину.
3. Навіть якщо змінити вхідні дані на один символ, хеш зміниться кардинально.
4. Зворотне відновлення вихідних даних із хешу зазвичай неможливе.

Сфери використання

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

SHA-256

SHA-256 — це криптографічна хеш-функція, яка приймає на вхід довільні дані і повертає хеш (контрольну суму) фіксованої довжини — 256 біт.
Основні властивості SHA-256Фіксована довжина – незалежно від розміру вхідних даних, вихід завжди 256 біт.
Односторонність – неможливо відновити вихідні дані за хешем.
Ефект лавини – навіть невелика зміна вхідних даних повністю змінює хеш.
Стійкість до колізій – дуже складно знайти два різні входи, які дають однаковий хеш.
Як приблизно працює SHA-256?1. Розбиття даних на блоки по 512 біт – якщо дані менші, додається спеціальне доповнення (padding).
2. Ініціалізація внутрішніх змінних – використовується вісім 32-бітних початкових значень, визначених у стандарті.
3. Основний цикл (64 раунди обчислень) – виконується серія логічних операцій (зсуви, додавання, побітові операції) з використанням 64 унікальних констант.
4. Фінальне хешування – вихідні значення змішуються та формують 256-бітний підсумковий хеш.
Приклад SHA-256
Вхід: “hello”
SHA-256 хеш: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
Вхід: “Hello” (відрізняється лише однією великою літерою)
SHA-256 хеш: 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969

Дуже короткий огляд хеш-функцій

Сімейство SHASHA-1 (160-бітний хеш, вважається застарілим через вразливість до колізій).
SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512) — сучасний стандарт.
SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512) — нове покоління, засноване на алгоритмі Keccak.
Інші хеш-функціїMD5 (128-бітний, швидка, але небезпечниа для криптографії).
RIPEMD-160 (схожа на SHA-1, але більш стійка).
BLAKE2, BLAKE3 (швидші за SHA-256, використовується в криптовалюті).
Whirlpool (512-бітний, використовується в деяких криптографічних системах).

Хешування vs Шифрування

ХарактеристикаШифруванняХешування
ПризначенняЗахист інформації від сторонніхГенерація відбитка для перевірки даних
ПроцесДані перетворюються у зашифрований текст.Дані перетворюються у фіксований рядок за допомогою хеш-функції
ЗворотністьЗворотний процес можливий—дані можна розшифрувати за допомогою правильного ключа.Неможливо відновити оригінальні дані за отриманим хешем.
ЗастосуванняЗахист файлів, передача даних у мережах (HTTPS, VPN), шифрування жорстких дисків.Перевірка цілісності файлів, зберігання паролів, цифрові підписи.

Шифрування і хешування – це два різні методи обробки даних у сфері кібербезпеки.

Якщо потрібно приховати дані та згодом їх розшифрувати – використовуйте шифрування.

Якщо потрібно створити унікальний відбиток даних – використовуйте хешування.

В цьому відео поговоримо про:
00:00 Хешування
02:42 Сфери використання
03:15 SHA-256
08:46 Дуже короткий огляд хеш-функцій
11:37 Хешування vs Шифрування

Підбиваємо підсумки по шифруванню

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

Роль шифрування

Забезпечення конфіденційностіШифрування дозволяє захистити чутливі дані, такі як особиста інформація, паролі, фінансові дані або медичні записи, від несанкціонованого доступу. Навіть якщо хтось отримає доступ до зашифрованих даних, вони не зможуть їх прочитати або використовувати без відповідного ключа для розшифровання. Приклад: шифрування даних в електронних платіжних системах, де транзакції захищені від перехоплення зловмисниками.
Цілісність данихШифрування гарантує, що дані не були змінені під час передачі або зберігання. За допомогою хешування і криптографічних підписів можна переконатися, що інформація не була змінена зловмисниками або під час випадкових збоїв. Приклад: протоколи, як TLS/SSL, використовуються для забезпечення цілісності даних під час обміну інформацією між браузером і сервером, щоб уникнути атак, таких як “man-in-the-middle” (MITM).
Аутентифікація та підтвердження особиШифрування також використовується для перевірки автентичності користувачів або систем. Цифрові підписи та аутентифікація через шифрування дають змогу підтвердити, що певні дані надійшли від конкретної особи або організації. Приклад: у кібербезпеці часто використовують RSA або ECDSA для перевірки цифрових підписів, що забезпечує автентичність документів або програмного забезпечення, а також перевірку джерела даних.
Захист від атакШифрування допомагає захистити дані від різних видів атак, зокрема:    
• Перехоплення даних: атаки, такі як Man-in-the-Middle (MITM), коли зловмисники намагаються перехопити дані під час їх передачі через незахищену мережу.    
• Реверс-інжиніринг: навіть якщо зловмисники отримають доступ до коду чи файлів, вони не зможуть отримати доступ до інформації, поки вона зашифрована.    
• Атаки на паролі: шифрування паролів у базах даних або під час аутентифікації захищає від їх крадіжки.
Захист даних на пристроях і в хмарахЗахист пристроїв (комп’ютерів, смартфонів) і хмарних сховищ через шифрування гарантує, що навіть якщо фізичний доступ до пристрою буде отримано зловмисниками, вони не зможуть скористатися даними без наявності ключа для розшифрування. Приклад: на персональних пристроях часто використовуються FileVault або BitLocker для повного шифрування дисків. Це забезпечує безпеку особистих даних у разі крадіжки пристрою.
Протидія соціальним атакамШифрування допомагає у боротьбі з атаками, що спрямовані на отримання доступу до конфіденційної інформації через маніпуляції з людьми (наприклад, фішинг). За допомогою шифрування можна упередити доступ зловмисників до критичних систем.
Захист мережевих з’єднаньШифрування є одним з основних елементів для забезпечення безпеки мережевих з’єднань, особливо через Інтернет, де передаються чутливі дані.    
• VPN (Virtual Private Network) використовують шифрування для створення захищених тунелів, що дозволяє користувачам анонімно передавати дані в мережі Інтернет.    
• TLS/SSL використовуються для захисту з’єднань між клієнтами та веб-серверами (наприклад, HTTPS для захищених веб-з’єднань).
Запобігання витокам інформаціїШифрування даних також допомагає зменшити імовірність витоків чутливої інформації, таких як фінансові записи, особисті дані чи корпоративна інформація, у випадку атаки або компрометації системи. Приклад: навіть якщо система буде зламана, зашифровані дані, такі як персональні дані чи фінансові звіти, не можуть бути використані без ключа для їх розшифрування.
Захист на рівні криптовалютШифрування також використовується для забезпечення безпеки криптовалют, таких як Bitcoin, де кожна транзакція та приватний ключ шифруються, щоб запобігти несанкціонованому доступу до коштів користувача.

Програми для шифрування

VeraCryptОдин з найпопулярніших і надійних інструментів для шифрування дисків і томів. Він дозволяє створювати зашифровані віртуальні диски, які працюють як звичайні диски, або повністю шифрувати цілі розділи жорстких дисків. VeraCrypt підтримує складні алгоритми шифрування, такі як AES, Serpent і Twofish, що забезпечує високий рівень захисту.    
Платформи: Windows, macOS, Linux    
Особливості: Підтримка шифрування дисків, створення зашифрованих томів, стійкість до атак на пароль
BitLockerІнструмент для шифрування дисків, вбудований у операційну систему Windows (версії Pro і Enterprise). Він дозволяє шифрувати весь диск, щоб захистити дані від несанкціонованого доступу, якщо комп’ютер буде викрадений або стане доступним стороннім особам.    
Платформи: Windows (Pro, Enterprise)    
Особливості: Шифрування всього диска, інтеграція в систему, використання TPM (Trusted Platform Module) для зберігання ключів
FileVaultІнструмент для шифрування диска, вбудований у macOS. Він використовує алгоритм AES для шифрування даних на всьому диску Mac і допомагає захистити особисту інформацію в разі викрадення комп’ютера.    
Платформи: macOS    
Особливості: Шифрування всього диска, підтримка AES-128 і AES-256
AxCryptПрограма для шифрування окремих файлів та папок. Вона дуже зручна для простих користувачів, оскільки надає можливість легко зашифрувати файли за допомогою пароля. AxCrypt підтримує як симетричне шифрування, так і розширене шифрування для більш досвідчених користувачів.    
Платформи: Windows, macOS, Android, iOS    
Особливості: Легкість у використанні, інтеграція з контекстним меню, підтримка AES-128 і AES-256
DiskCryptorПрограмне забезпечення для повного шифрування дисків і розділів. Він підтримує шифрування всіх даних на диску, включаючи операційну систему, що забезпечує високий рівень захисту від несанкціонованого доступу.    
Платформи: Windows    
Особливості: Повне шифрування диска, підтримка AES, Twofish, Serpent

В цьому відео поговоримо про:
00:00 Роль шифрування
05:05 Програми для шифрування
08:39 Трохи працюємо з VeraCrypt

Атаки на шифрування

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

Атака методом підбору

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

Атака за допомогою аналізу частотності

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

Атака на довжину ключа

Атака на довжину ключа (Key Length Attack) Це атака, яка спрямована на злом шифру, що використовує слабкий ключ. Зловмисник може здійснити метод перебору ключів на основі їхньої довжини або спробувати знайти закономірності у ключах.
Принцип роботиЯкщо шифрування використовує короткий ключ (наприклад, 40 біт), це може значно знизити час, необхідний для атаки методом перебору. Проте довші ключі роблять цю атаку малоефективною.
ЗахистВикористання довгих та складних ключів (наприклад, 256-бітових для AES) значно ускладнює можливості успіху для цієї атаки.

Атака через вибір шифротексту

Атака через вибір шифротексту (Chosen Ciphertext Attack, CCA) В атаці CCA зловмисник має можливість вибирати зашифровані повідомлення (шифротексти) і спостерігати за їхнім дешифруванням. Така атака націлена на асиметричні системи шифрування, зокрема, на RSA.
Принцип роботиЗловмисник може вибирати конкретні шифротексти і отримувати їх дешифровані версії, що дозволяє йому вивести деяку інформацію про самі дані або шифрувальний ключ.
ЗахистВикористання механізмів гарантій цілісності та елементів автентифікації (наприклад, цифрових підписів або хеш-функцій) може допомогти захистити систему від таких атак.

Атака через вибір відкритого тексту

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

Атака з повторним використанням ключів

Атака з повторним використанням шифрувальних ключів (Key Reuse Attack) Ця атака відбувається, коли для кількох повідомлень використовується один і той самий шифрувальний ключ. Якщо зловмисник здобуде хоча б один шифротекст, це може дати йому достатньо інформації для розкриття інших повідомлень, зашифрованих тим самим ключем.
Принцип роботиВразливості виникають, коли для шифрування кількох повідомлень або блоків даних використовуються однакові ключі, що дозволяє зловмиснику вивести зв’язок між зашифрованими повідомленнями.
ЗахистВикористання динамічних ключів для кожного сеансу чи повідомлення, а також механізмів ротації ключів можуть запобігти такій атаці.

Атака “man-in-the-middle” (MITM)

Атака “man-in-the-middle” (MITM) Ця атака є однією з найпоширеніших на передачу ключів, і її мета — перехоплення та зміна комунікацій між двома сторонами (клієнтом і сервером) без їхнього відома.
Принцип роботиЗловмисник розміщується між двома комунікуючими сторонами (наприклад, між клієнтом та сервером), перехоплюючи всі повідомлення, включаючи ключі шифрування, що передаються. Після цього він може змінювати ці повідомлення, навіть шифрувати їх своїм власним ключем.
ЗахистВикористання сертифікатів SSL/TLS для автентифікації серверів і клієнтів, цифрових підписів, а також застосування публічно-приватних пар ключів для забезпечення безпеки під час передачі ключів. Важливо також перевіряти автентичність кожного учасника сесії перед початком обміну даними.

Атака через витоки ключів

Атака через витоки ключів (Key Leakage) Зловмисники можуть намагатися отримати доступ до ключів, які зберігаються в пам’яті, на жорсткому диску або в процесі передачі через канал зв’язку
Принцип роботиАтака може бути націлена на вразливості в системах зберігання ключів або на перехоплення переданих даних під час їхнього зберігання чи передачі.
ЗахистВикористання апаратного захисту для зберігання ключів (наприклад, HSM — Hardware Security Module), шифрування ключів на рівні додатків та управління доступом (тільки авторизовані користувачі мають доступ до ключів).

Атака через слабке шифрування каналу

Атака через слабке шифрування каналу (Weak Encryption) Якщо канал передачі ключів використовує слабкі або застарілі методи шифрування, то зловмисники можуть легко зламати та отримати доступ до переданих ключів.
Принцип роботиЗловмисники можуть експлуатувати слабкі шифри, такі як DES, які мають вразливості, які дозволяють зламати шифрування за допомогою сучасних обчислювальних потужностей.
ЗахистВикористання сучасних шифрів, таких як AES з достатньою довжиною ключа (наприклад, 256 біт) та оновлення шифрувальних протоколів для забезпечення більш високого рівня захисту.

Атака через підробку сертифікатів

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

В цьому відео поговоримо про:
00:00 Атака методом підбору
02:02 Атака за допомогою аналізу частотності
03:01 Атака на довжину ключа
04:43 Атака через вибір шифротексту
05:38 Атака через вибір відкритого тексту
06:29 Атака з використанням ключів
07:23 Атака “man-in-the-middle” (MITM)
08:43 Атака через витоки ключів
09:42 Атака через слабке шифрування каналу
10:26 Атака через підробку сертифікатів

Гібридне шифрування

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

Переваги гібридного шифрування

Ефективність• Асиметричне шифрування є повільним, тому його використовують лише для шифрування малого обсягу даних (симетричного ключа), тоді як основне повідомлення шифрується швидким симетричним шифруванням.
• Це поєднання забезпечує швидкість симетричного шифрування та безпеку асиметричного шифрування.
Безпека• Використання асиметричного шифрування для захисту симетричного ключа гарантує, що навіть якщо хтось перехопить зашифровані дані, він не зможе їх прочитати без доступу до закритого ключа.
• Симетричний ключ застосовується лише для шифрування конкретних даних, тому сама передача даних здійснюється на основі захищеного каналу.
Широке застосуванняГібридне шифрування широко використовується в сучасних системах і протоколах, таких як протокол HTTPS, електронні платежі, VPN-з’єднання та інші.

Недоліки гібридного шифрування

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

Застосування гібридного шифрування

SSL/TLS (Secure Sockets Layer / Transport Layer Security) SSL і його оновлена версія TLS використовуються для забезпечення захищеного з’єднання між клієнтом (наприклад, веб-браузером) і сервером через Інтернет. Вони активно застосовують гібридне шифрування для створення зашифрованого каналу.
Як це працює?• Під час початкового з’єднання браузер і сервер виконують “рукостискання” (handshake). В цьому процесі вони використовують асиметричне шифрування для обміну публічними ключами.
• Потім, за допомогою обміну ключами, генерується симетричний ключ (наприклад, AES), який використовується для подальшої зашифрованої передачі даних.
• Далі всі дані між браузером і сервером шифруються за допомогою симетричного шифрування, що забезпечує високу швидкість передачі даних.
Переваги• Швидкість передачі даних, забезпечена симетричним шифруванням.
• Висока безпека, оскільки ключі для обміну використовують асиметричне шифрування.

Наступний приклад застосування – вірутальні приватні мережі.

VPN (Virtual Private Network) Віртуальні приватні мережі використовують гібридне шифрування для створення захищеного каналу між користувачем і сервером через Інтернет.
Як це працює?• При підключенні до VPN-сервера відбувається процес обміну ключами за допомогою асиметричного шифрування (наприклад, Diffie-Hellman або RSA).
• Після цього генерується симетричний ключ, який використовується для шифрування всього трафіку, що передається через VPN-канал.
Переваги• Безпечний доступ до ресурсів в мережі Інтернет.
• Ефективна передача даних за допомогою симетричного шифрування.

PGP (Pretty Good Privacy) теж можна вважати прикладом застосування гібридного шифрування.

PGP (Pretty Good Privacy) для електронної пошти PGP — це програма для шифрування електронної пошти, яка використовує гібридну систему шифрування для захисту листів від несанкціонованого доступу.
Як це працює?• Користувач генерує пару ключів: публічний і закритий. Публічний ключ використовується для шифрування повідомлення, а закритий — для його розшифрування.
• При відправці зашифрованого листа PGP генерує симетричний ключ, яким шифрується саме повідомлення.
• Потім цей симетричний ключ шифрується за допомогою публічного ключа отримувача.
• Отримувач використовує свій закритий ключ для розшифровки симетричного ключа і потім для розшифровки самого листа.
Переваги• Висока безпека завдяки асиметричному шифруванню для захисту ключа.
• Швидкість шифрування повідомлень забезпечена симетричним шифруванням.

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

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

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

Шифрування в мобільних додатках Багато мобільних додатків для передачі повідомлень, таких як WhatsApp або Signal, використовують гібридне шифрування для захисту повідомлень та дзвінків користувачів.
Як це працює?• Для встановлення зашифрованого з’єднання між пристроями використовують асиметричне шифрування для обміну ключами.
• Після цього встановлюється симетричний ключ, який використовується для шифрування повідомлень чи дзвінків.
Переваги• Висока безпека переданої інформації.
• Низька затримка та висока швидкість завдяки використанню симетричного шифрування для самих даних.

В цьому відео поговоримо про:
00:00 Гібридне шифрування
02:18 Переваги гібридного шифрування
04:06 Недоліки гібридного шифрування
05:35 Приклади застосування гібридного шифрування

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

RSA

RSA (Rivest–Shamir–Adleman) — це один з найбільш популярних алгоритмів асиметричного шифрування, який широко використовується для забезпечення безпеки в комп’ютерних системах. Він був розроблений в 1977 році трьома вченими — Рональдом Рівестом, Аді Шаміром та Леонардом Адлеманом. Алгоритм RSA заснований на математичних властивостях великих простих чисел і є основою для багатьох систем безпеки в Інтернеті, зокрема для цифрових підписів та обміну ключами.
Асиметричне шифрування• У RSA використовуються два ключі: публічний ключ (який можна відкрито поширювати) і приватний ключ (який має зберігатися в таємниці). • Публічний ключ використовується для шифрування даних або перевірки цифрових підписів, а приватний ключ — для дешифрування даних або підписування повідомлень.
Ключі• Публічний ключ складається з двох чисел: n та e. • Приватний ключ складається з числа d, яке обчислюється за допомогою n та e.
Безпека RSA• Сила безпеки RSA базується на складності задачі факторизації великих чисел. Якщо хтось може знайти два простих числа p та q, то він може розкрити приватний ключ. • Зазвичай для сучасних застосувань використовуються дуже великі значення n (наприклад, 2048 або 4096 біт), що робить факторизацію практично неможливою навіть з використанням найпотужніших комп’ютерів.
Використання RSAЦифрові підписи: Для створення цифрових підписів, які підтверджують автентичність та цілісність даних. • Шифрування даних: Для шифрування конфіденційної інформації, наприклад, при передачі даних через Інтернет. • Обмін ключами: RSA часто використовується для безпечного обміну ключами для симетричного шифрування, яке потім використовується для шифрування великих обсягів даних.
Переваги RSAБезпека: RSA є одним з найбільш надійних асиметричних алгоритмів, при умові використання великих ключів. • Широке використання: RSA є стандартом для багатьох криптографічних систем, зокрема для протоколів, таких як SSL/TLS, які використовуються для захисту інтернет-з’єднань.
Недоліки RSAПродуктивність: RSA є повільним алгоритмом для шифрування великих обсягів даних, тому часто використовується для обміну ключами, а не для безпосереднього шифрування великих повідомлень. • Потрібні великі ключі: Для забезпечення високого рівня безпеки потрібно використовувати дуже великі ключі (2048 біт або більше), що збільшує обчислювальні витрати.
ВисновокRSA є одним з основних інструментів сучасної криптографії, особливо для обміну ключами, цифрових підписів і захисту даних. Він забезпечує високу безпеку, але його продуктивність може бути меншою порівняно з іншими алгоритмами, такими як симетричне шифрування, тому зазвичай використовується у поєднанні з іншими методами криптографії для досягнення кращої ефективності.

ECC

ECC (Elliptic Curve Cryptography) — це метод криптографії, заснований на властивостях еліптичних кривих, що використовується для створення шифрувальних алгоритмів і протоколів безпеки. ECC забезпечує високий рівень безпеки з використанням значно менших ключів у порівнянні з іншими алгоритмами, такими як RSA, при однаковому рівні криптографічної стійкості.
Принцип роботи ECCОсновна математична ідея в ECC — це операція додавання двох точок на еліптичній кривій, яка також дає точку на тій самій кривій. Це важливо для побудови ключових операцій криптографії. • Додавання точок на еліптичній кривій є обчислювально складною задачею, що забезпечує стійкість до атак. • ECC дозволяє використовувати менші ключі при тій самій безпеці, яку надають алгоритми, як RSA, але з використанням значно меншої кількості обчислень.
Безпека ECCБезпека ECC базується на складності задачі логарифмування на еліптичних кривих, яка є обчислювально складною. Це означає, що атакуючий не може ефективно обчислити приватний ключ, знаючи лише публічний ключ, навіть якщо він має велику обчислювальну потужність.
Переваги ECCМенші ключі для високої безпеки: Наприклад, 256-бітний ключ у ECC забезпечує таку ж безпеку, як і 3072-бітний ключ в RSA. Це робить ECC набагато більш ефективним з точки зору обчислювальних витрат і пропускної здатності. • Швидкість: Оскільки для досягнення високої криптографічної стійкості використовуються значно менші ключі, ECC є швидшим у порівнянні з іншими алгоритмами, такими як RSA, при тому ж рівні безпеки. • Менша вимоги до пам’яті: Завдяки коротшим ключам, ECC потребує менше пам’яті для зберігання ключів і виконання операцій, що робить його ідеальним для мобільних пристроїв і інших обмежених ресурсами систем.
Застосування ECCЦифрові підписи: ECC використовується для створення цифрових підписів (як у алгоритмі ECDSA — Elliptic Curve Digital Signature Algorithm). • Шифрування: ECC також використовується в протоколах шифрування, таких як ECDH (Elliptic Curve Diffie-Hellman), який забезпечує обмін ключами між сторонами для симетричного шифрування. • Протоколи безпеки: ECC широко використовується в протоколах безпеки, таких як SSL/TLS для захисту даних.
Популярні алгоритми на основі ECCECDSA (Elliptic Curve Digital Signature Algorithm) — алгоритм цифрових підписів, який використовує еліптичні криві. • ECDH (Elliptic Curve Diffie-Hellman) — алгоритм для обміну ключами між двома сторонами, що використовують еліптичні криві. • ECIES (Elliptic Curve Integrated Encryption Scheme) — схема інтегрованого шифрування, яка поєднує шифрування і цифрові підписи для забезпечення конфіденційності та автентичності даних.
ВисновокECC — це доволі ефективний метод криптографії, що дозволяє забезпечити високий рівень безпеки з використанням коротших ключів і меншої кількості обчислень порівняно з іншими популярними криптографічними методами, такими як RSA. Завдяки своїй ефективності, ECC швидко стає стандартом у багатьох галузях, включаючи мобільні технології, захищені комунікації та блокчейн.

ElGamal

Алгоритм ElGamal — це асиметричний криптографічний алгоритм, який базується на математичній задачі дискретного логарифмування. Він був розроблений Тахером Ель-Ґамалем у 1985 році. Алгоритм ElGamal використовується для шифрування та цифрових підписів і є основою для кількох сучасних криптографічних систем, зокрема в протоколах, що забезпечують конфіденційність та аутентифікацію.
Асиметричне шифруванняАлгоритм ElGamal використовує два ключі: публічний ключ для шифрування повідомлень і приватний ключ для їх дешифрування. Безпека ElGamal базується на складності задачі дискретного логарифмування в полях.
Використання ElGamalШифрування: ElGamal може використовуватись для захисту конфіденційних повідомлень. • Цифрові підписи: Завдяки своєму механізму підпису, ElGamal застосовується в системах, де необхідно підтвердити автентичність і цілісність інформації. • Протоколи безпеки: Наприклад, ElGamal може бути використаний у протоколах обміну ключами для забезпечення конфіденційності в системах криптографії.
ПеревагиВисокий рівень безпеки: Заснований на задачі дискретного логарифмування, яка є дуже складною для розв’язання, що робить ElGamal стійким до атак. • Асиметричність: Використання публічних і приватних ключів забезпечує безпечний обмін даними. • Гнучкість: Може використовуватися для шифрування повідомлень і створення цифрових підписів.
НедолікиНеефективність: Для шифрування та підписування потрібно більше обчислень порівняно з іншими алгоритмами, такими як RSA, через необхідність використання великих чисел. • Обсяг зашифрованих даних: Повідомлення в алгоритмі ElGamal зазвичай збільшуються вдвічі, оскільки для кожного повідомлення створюються два значення, що може вимагати більше місця для зберігання. • Проблеми з детермінованістю: Як і в RSA, випадкові числа використовуються для шифрування, що потребує додаткових обчислень і управління.
ВисновокАлгоритм ElGamal — це цікавий криптографічний метод, який забезпечує шифрування та цифрові підписи на основі складності задачі дискретного логарифмування. Він є основою для багатьох сучасних криптографічних протоколів, хоча і має деякі недоліки щодо ефективності в порівнянні з іншими алгоритмами, такими як RSA або ECC.

В цьому відео поговоримо про:
00:00 RSA
11:32 ECC
18:30 ElGamal