Я пытаюсь решить проблему с расшифровкой в алгоритме RSA.Неверный результат с формулой дешифрования в алгоритме RSA с использованием Arraylist в java
ArrayList<Integer> m=convertTextToInt(str,e,n,listc);
for (int elem1 : m){
System.out.print(elem1+ " ");
}
Здесь я передаю ул, которая является строкой из пользователя будет преобразована в целые числа в методе convertTextToInt, число е и п вычислить зашифрованный текст и массива список для сохранения значения после стоимости шифротекст с формулой
int c= (int)(Math.pow(Coded,e))%n;
listc.add(c);
тогда я пишу это, в основном, проблема заключается в том, что всякий раз, когда я выполнил эту петлю, что дает тот же самый результат, который 144 !!:
System.out.print("plain text is: ");
for (int element : m){
int plain = (int)(Math.pow(element,d))%n;
listp.add(plain);
System.out.print("listp:"+listp);
}
Я попытался изменить тип данных для равнины, чтобы удвоить, и это дает мне другое число, но не правильное число.
мой вопрос: почему формула простого текста (описание) дает мне тот же и неправильный результат каждый раз, когда это 144! :(
Алгоритм «обмана» является ошибочным, если он не может [* обмануть *] (http://www.dictionary.com/browse/deceive), а также ввести в заблуждение, обмануть, обмануть, обмануть, ... – Andreas
Пожалуйста, уточните свой вопрос. Я голосую, чтобы закрыть – pedrofb
Я имею в виду расшифровку ** извините! –