Я играю с криптосистемой Эль-Гамаль, и моя цель - иметь возможность шифровать и дешифровать длинные последовательности текста.
Эль-Гамаль требует, чтобы открытый текст был целым числом. Я превратил свою строку в byte [], используя метод .getBytes () для Strings, а затем создал BigInteger из байта []. После шифрования / дешифрования я превращаю BigInteger в byte [], используя метод .toByteArray () для BigIntegers, а затем создаю новый объект String из байта [].
Я использую 1035-битный ключ, и это прекрасно работает, когда я шифрую / дешифрую со строками длиной до 129 символов. При использовании 130 или более символов вывод, полученный с помощью моего метода расшифровки, искажается.
Может кто-нибудь подсказать, как решить эту проблему?