Асимметричные криптосистемы
5. Схема шифрования Эль Гамаля
Схема Эль Гамаля, предложенная в 1985 г., может быть использована как для шифрования, так и для цифровых подписей. Безопасность схемы Эль Гамаля обусловлена сложностью вычисления дискретных логарифмов в конечном поле.
Для того чтобы генерировать пару ключей (открытый ключ - секретный ключ), сначала выбирают некоторое большое простое число Р и большое целое число G, причем G < Р. Числа Р и G могут быть распространены среди группы пользователей.
Затем выбирают случайное целое число X, причем Х<Р. Число Х является секретным ключом и должно храниться в секрете.
Далее вычисляют Y = GX mod P. Число Y является открытым ключом.
Для того чтобы зашифровать сообщение М, выбирают случайное целое число К, 1<К<Р -1, такое, что числа К и (Р-1) являются взаимно простыми.
Затем вычисляют числа
a=GKmodP,
b = YK
М mod P.Пара чисел (а,Ь) является шифртекстом. Заметим, что длина шифртекста вдвое больше длины исходного открытого текста М.
Для того чтобы расшифровать шифртекст (а,b), вычисляют
М = b/a
Xmod Р. (*)Поскольку
b/aX
єYKM/aX єGKXM/GKX єM(mod P),то соотношение (*) справедливо.
Пример. Выберем Р = 11, G = 2, секретный ключ X = 8. Вычисляем
Y = GXmodP = 28 mod 11 =256 mod 11=3.
Итак, открытый ключ Y = 3.
Пусть сообщение М = 5. Выберем некоторое случайное число К = 9. Убедимся, что НОД (К,Р-1)=1. Действительно, НОД (9,10)=1. Вычисляем пару чисел а и Ь:
a = GXmodP = 29 mod 11 =512 mod 11=6.
b = YXMmodP = 39 mod 11 =19683 *5 mod 11=9.
Получим шифртекст (а, b) = (6, 9).
Выполним расшифрование этого шифртекста. Вычисляем сообщение М, используя секретный ключ X:
M=b/aXmodP=9/б8mod11.
Выражение М = 9/б
8mod11 можно представить в виде68*М є 9 mod 11
или
1679616 * M є 9 mod 11.
Решая данное сравнение, находим М = 5.
В реальных схемах шифрования необходимо использовать в качестве модуля Р большое целое простое число, имеющее в двоичном представлении длину 512... 1024 бит.
При программной реализации схемы Эль Гамаля скорость ее работы (на SPARC-II) в режимах шифрования и рас-шифрования при 160-битовом показателе степени для различных длин модуля Р определяется значениями, приведенными в табл.2.
Таблица 2 Скорости работы схемы Эль Гамаля
Режим работы |
Длина модуля, бит |
||
|
512 |
768 |
1024 |
Шифрование |
0,33с |
0,80с |
1,09с |
Расшифрование |
0,24с |
0,58с |
0,77с |