Форум программистов, компьютерный форум CyberForum.ru

RSA с длинными числами на С++ - C++

Восстановить пароль Регистрация
 
Антон Акинин
Сообщений: n/a
12.12.2011, 03:37     RSA с длинными числами на С++ #1
RSA на C++

Помогите сформировать программу пожалуйста.

Задание:Задача заключается в шифровании (или дешифровании) данных с помощью алгоритма RSA. Во входном файле rsa.in находится три строки. На первой строке находятся два числа n и d. На второй строке находится число k. На третьей строке находится k кодированных чисел a_0 a_1 .. a_(k-1), где k=0..k В выходной файл rsa.out необходимо вывести k дешифрованных (или все-таки шифрованных?) чисел.

Это я сделал считывание данных из файла
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fstream>
#include <stdio.h>
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int D,N,K;
ifstream in("in.txt");
ofstream of("out.txt");
in>>D>>N;
in>>K;
int* cAr = new int[K];
for(int i = 0; i<k;>>cAr;
}
return 0;
}
Ввод обычного числа в длинное, для дальнейших опреаций..
C++
1
2
3
4
5
6
BigInt A(countOfNumbers(a1));
A.Size=countOfNumbers(a1);
int a2 = a1;
for(int i=0; i<countofnumbers(a1);>=(short)(a2);
a2/=10;
}
возведения в степень, неявно использующий двоичное представление(вычисляющий его на лету) и ненуждающийся в long2binary():

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
long powmod(long a, long k, long n)
{
lоng b=1;
 
while (k) {
if (k%2==0) {
k /= 2;
a *= a; // [ a = (a*a)%n; ]
}
else {
k--;
b *= a; // [ b = (b*a)%n; ]
}
}
return b;
}
А как это объединить и заставить работать не знаю(

 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2011, 03:37     RSA с длинными числами на С++
Посмотрите здесь:

C++ Действия над многорозряднымии числами(очень длинными)
Работа с длинными числами C++
C++ Длинная арифметика. Класс работы с длинными числами.
C++ Операции с длинными числами - неправильно выводится результат
C++ Функция с++ (работа с длинными числами - вывод результата в файл)
C++ Найти все натуральные числа меньше N, которые одновременно являются числами Фибоначчи и простыми числами.
Несократимая дробь ,представленная двумя длинными целыми:числитель и знаменатель C++
C++ Операции с длинными целыми

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 21:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru