Вступ до шифрування ElGamal

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

Алгоритм шифрування ElGamal з прикладом

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

Це буде дуже легко зрозуміти, використовуючи простий приклад. Припустимо, навіть якщо такі величини, як g a і g b, є відомими для зловмисника, зловмиснику буде вкрай важко з'ясувати значення g ab, яке є не що інше, як тріщини.

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

Крок 1: Створення відкритого та приватного ключів.

  • Користувач1 спробує вибрати дуже довге або велике число х, а тим часом він також вибере циклічну групу Fx. З цієї циклічної групи він буде надалі обирати інший компонент b та ще один елемент c. Значення вибиратимуться таким чином, що при передачі через певну функцію результат буде еквівалентний 1.
  • Після завершення фази вибору значення буде обчислено значення, яке надалі буде використовуватися для генерації приватного ключа. Застосовуючи формулу fm = b c, значення буде обчислено. У поточному сценарії користувач1 вибере F, fm = b c, a, b в якості свого відкритого ключа, тоді як значення a буде збережено як приватний ключ, який надалі буде використовуватися як приватний ключ.

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

  • Для того, щоб почати шифрування повідомлення, є певні значення, які користувач повинен вибрати. Користувачеві2 також потрібно буде вибрати одне із значень р з циклічної групи. Циклічна група буде такою ж, як і для користувача1. Значення слід вибирати таким чином, щоб передачі Inc з певною функцією генерували результат 1.
  • Знайте, що користувач2 генерує деякі інші значення, які будуть використані для шифрування повідомлення за допомогою відкритого ключа. Значення, що генерує, буде Pm = b p. Інше переоцінка b c буде дорівнює b ap. Результат цього обчислення буде помножений на інше значення Z, щоб наблизитися до методу шифрування. Врешті-решт значення буде надіслане з використанням результатів обчислень на b p, Z * b ap.

Крок 3: Розшифровка повідомлення на кінці user1.

  • Потім користувач1 використовуватиме обчислення значень, вибраних на першій та другій фазі, для того, щоб визначити відповідне число, яке буде використано для розшифрування зашифрованого повідомлення. User1 буде обробляти b ap, і тоді результат буде використаний для ділення на Z, щоб отримати розшифроване значення. Розшифроване значення - це те, що було зашифровано на другій фазі.
  • У наведеному вище сценарії користувач1 ініціював процес, обчислюючи приватний та відкритий ключ, який є сутністю алгоритму. Ключ надалі використовується користувачем2 на другому кроці для шифрування методу.
  • Повідомлення шифрується таким чином, щоб їх значення, обчислені в цій початковій фазі, можна було використати і для розшифрування повідомлення. На третьому кроці можна було засвідчити, що після дайвінгу все значення з числом, яке обчислюється на третьому кроці, повністю розшифровує повідомлення, роблячи його читабельним для кінцевого користувача. Один і той же підхід дотримується кожного, коли виникає бажання надійно передати повідомлення.

Висновок - Шифрування ElGamal

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

Рекомендовані статті

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

  1. Асиметричне шифрування
  2. Симетричне шифрування ключів
  3. Розширений стандарт шифрування
  4. Алгоритм шифрування