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

RSA, Расширенный алгоритм Евклида. Код на С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы. Получите третий массив по правилу, Найдите в новом массиве минимальное значение и сумму всех элементов http://www.cyberforum.ru/cpp-beginners/thread840276.html
Сформируйте два массива, по t элементов в каждом, с помощью датчика случайных чисел. Получите третий массив по правилу: каждый элемент нового массива равен абсолютному значению разности соответствующих элементов исходных массивов. Найдите в новом массиве минимальное значение и сумму всех элементов. Выведите на экран массивы в виде таблицы с шапкой, ...
C++ Найдите общее количество собранного картофеля Найдите общее количество собранного картофеля. Результаты сбора картофеля и названия бригад хранятся в соответствующих массивах. Определите названия бригад и количество собранного ими картофеля, не выполнивших план в 2т. Код Pascal uses crt; var kr:array of real; br:array of string; http://www.cyberforum.ru/cpp-beginners/thread840274.html
Создать линейный список по уже имеющийся структуре "Записная книжка" C++
У меня довольно таки сложная последняя лабораторная.(для меня, по крайней мере) Нужно создать линейный список по уже имеющийся структуре(это у меня было в первой лабе) 1. Линейный список а) добавление записи б) удаление записи в) редактирование полей записи г) поиск элемента по заданному полю д) сортировка по заданному полю 2. чтение списка из файла и записи в файл 3. написать консольный...
C++ В массив B[n] занесены натуральные числа. Найти сумму тех элементов, которые кратны данному f
В массив B занесены натуральные числа. Найти сумму тех элементов, которые кратны данному f. Добавлено через 55 минут В массив B занесены натуральные числа. Найти сумму тех элементов, которые кратны данному f. Код Pascal var a:arrayof integer; s,i,k:integer; begin
C++ разработать программу, позволяющую расшифровать файл по паролю, вводимому пользователем http://www.cyberforum.ru/cpp-beginners/thread840265.html
Здравствуйте! Задали лабу. НУЖНО зашифровать текстовый файл по произвольному паролю и разработать программу, позволяющую расшифровать файл по паролю, вводимому пользователем. В случае успешной расшифровки вывести на экран содержимое файла. ПОМОГИТЕ!!!!
C++ Какой unicode у коньюнкции? (wchar_t)0x2227 выводит квадрат. подробнее

Показать сообщение отдельно
Nastyik
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 16
17.04.2013, 10:06     RSA, Расширенный алгоритм Евклида. Код на С++
Доброго времени суток ,форумчане)

тут такой вопрос:
есть Расширенный алгоритм Евклида.
( кто сможет простым языком разъяснить ,как правильно пользоваться расширенным алгоритмом Евклида.Как им считать? )
Из этого вытекает следующий вопрос:

Есть RSA (необходимо реализовать алгоритм RSA. И опять же, для него нужен расширенный алгоритм Евклида. А так же стопор возникает на обратном элементе по модулю.)

Объясните ,как считать? а может программно получится.
Есть такая программка расширенного алгоритма+обычного(взятая с просторов интернет.
Может возможно в неё какую-нибудь функцию вписать для определения обратного элемента по модулю?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <cmath>
using namespace std;
 
int gcd(int a, int b) {
   int t;
   while (b) {
     t = a % b;
     a = b;
     b = t;        
   }
   return abs(a);
}
 
int ext_gcd(int a, int b, int& x, int& y)
{
   int q, r, x1, x2, y1, y2,d;
   if (b == 0) {
      d = a, x = 1, y = 0;
      return d;
   }
   x2 = 1, x1 = 0, y2 = 0, y1 = 1;
   while (b > 0) {
      q = a / b, r = a - q * b; 
      x = x2 - q * x1, y = y2 - q * y1; 
      a = b, b = r; 
      x2 = x1, x1 = x, y2 = y1, y1 = y;
   }
   d = a, x = x2, y = y2;
   return abs(d);
  
}
 
 
int main(){
    
    int a, b, x, y;
    char flag='y';
    cout << "Eta programma nahod NOD\n";
    while(flag=='y'||flag == 'Y'){
        cout << "Vvedite dannie\na = ";
        cin >> a;
        cout <<"b = ";
        cin >> b;
        cout << "NOD(" << a << "," << b << ")=" <<gcd(a,b) << " (algoritm Evklida)"<<endl;
        cout << "NOD(" << a << "," << b << ")=" <<ext_gcd(a,b,x,y) << " (rashirenniy algoritm Evklida)"<<endl;
        cout << "x = " << x << endl;
        cout << "y = " << y << endl;
        cout << "Obr po mod " << x <<endl;
        cout << "Najmite [y] dlya povtora\n";
        cin >> flag;
    }
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru