align="justify"> Таким чином, криптографія з відкритим ключем вирішує три проблеми симетричної криптографії, а точніше проблеми розподілу ключів, роботи з ключами і проблему безвідмовності. Однак слід зазначити, що реалізація систем з відкритим ключем трохи складніше реалізації систем симетричної криптографії. Також, операції з відкритими ключами займають більше часу, ніж операції в симетричному шифруванні. br/>
Шифр ​​Ель-Гамаля на основі еліптичних кривих
Генерація ключа. Нехай P - точка еліптичної кривої E над полем G (p) , що має порядок n . Тоді циклічна підгрупа E породжена точкою P буде складатися з точок { O, P, 2P, 3P,. . ., (N? 1) P} . Характеристика поля p , рівняння еліптичної кривої E , точка P та її порядок n є параметрами кривої. Секретним ключем є число d , яке вибирається випадково з інтервалу [1, n-1] , а відкритим ключем є точка Q = dP . Задача обчислення d по відомим параметрам кривій і точці Q називається проблемою дискретного логарифма в групі точок еліптичної кривої (ECDLP). Нижче наданий алгоритм генерації ключової пари ECC.
Вхід: Параметри кривої (p, E, P, n).
Вихід: Відкритий ключ Q і секретний ключ d.
Алгоритм: 1. Вибрати d ? R [1, n? 1].
. Обчислити Q = dP. p align="justify"> Повернути: (Q, d)
Шифрування. p align="justify"> Відкритий текст m представляється у вигляді точки M , а потім шифрується шляхом складання з точкою kQ . Відправник передає точку C1 = kP і C2 = M + kQ span> одержувачу, який використовує свій секретний ключ d для обчислення