ElGamal to jeden z dwóch najważniejszych algorytmów kryptografii asymetrycznej (obok RSA). System jest oparty na trudności problemu logarytmu dyskretnego w ciele liczb całkowitych modulo duża liczba pierwsza. Algorytm w połowie lat 80. XX wieku przedstawił Egipcjanin Taher ElgamalTaher Elgamal w serwisie LinkedIn ..
Algorytm ElGamala umożliwia szyfrowanie oraz obsługę podpisów cyfrowych. Setki modyfikacji algorytmu ElGamala (podobnie jak modyfikacje algorytmu RSA) mają różne inne zastosowania.
Na koncepcji algorytmu ElGamala jest też oparta kryptografia krzywych eliptycznych – w tym przypadku zamiast grupy multiplikatywnej ciała używamy grupy punktów na krzywej eliptycznej.
Szyfrowanie Generowanie klucza: wybieramy dowolną liczbę pierwszą dowolną liczbę będącą pierwiastkiem pierwotnym modulo oraz dowolne całkowite takie, że: ElGamal Część z serii dokumentów o algorytmach szyfrujących Liczymy
co potrafimy zrobić szybko za pomocą potęgowania przez podnoszenie do kwadratu.
jest wybierana w ten sposób, aby zapewnić równomierną dystrybucję (podobnie jak w protokole Diffiego-Hellmana Wpis na what-why-how o protokole Diffiego-Hellmana ).
Następnie publikujemy jako klucz publiczny i zachowujemy jako klucz prywatny.