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

Шифрование RSA - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Лес двоичных деревьев начинающихся с одной буквы http://www.cyberforum.ru/cpp-beginners/thread1196475.html
Всем привет! Помогите решить задачу: Создать частотный словарь текста, расположенного в файле (подсчитать число появлений каждого слова в файле, результаты вывести в алфавитном порядке). Использовать двоичное дерево. Используя построенное в дерево, построить лес, в котором каждое дерево состоит из слов, начинающихся с одной буквы. Буду признателен за любые наметки по данной теме)
C++ Выяснить сколько покупателей воспользовались скидкой. Помогите решить пожалуйста Покупатели продуктового магазина пользуются 10% скидкой, если покупка состоит из более чем 5 наименований товаров или суммарная стоимость покупки превышает K рублей. Составить ведомость, учитывающую скидки: покупатель, количество наименований купленных товаров, стоимость покупки, стоимость покупки с учетом скидки. Выяснить, сколько покупателей сделало покупки,... http://www.cyberforum.ru/cpp-beginners/thread1196466.html
C++ Вывод слов вектора
В книге есть такая задачка, заполнить вектор и вывести слова по 8 слов в строке Я как бы наковырял вот такое, но сам момент вывода по 8 слов в строке не в курю, я конечно понимаю что нужно пройтись циклом, но, но... #include <iostream> #include <string> #include <vector> #include <cctype> using std::cout; using std::cin;
Описать светофор при помощи конечного автомата C++
Светофор переключается автоматически, с определенным количеством тактов на каждый сигнал Опишите выбранный светофор с помощью конечного автомата.
C++ Машина Тьюринга http://www.cyberforum.ru/cpp-beginners/thread1196444.html
Дана последовательность символов двух видов a, b. Построить машину Тьюринга, которая заменяет символ a на символ c и подсчитывает число замен
C++ Оператор, принимающий левый операнд типа std::basic_istream Здравствуйте. Работаю с ооп, хочу избавиться от public-переменных и сделать геттеры и сеттеры. Однако в паре случаев получаю такую ошибку. Как избавиться? if (!input.eof()) { starExists = true; input>>theStar.getName()>>theStar.getPlace().x>>theStar.getPlace().y>>theStar.getRadius(); Planet inputPlanet; подробнее

Показать сообщение отдельно
SODJ
 Аватар для SODJ
0 / 0 / 0
Регистрация: 18.05.2014
Сообщений: 9
02.06.2014, 23:54  [ТС]     Шифрование RSA
Вау, спасибо большое =) Только вот теперь что-то не могу понять, как правильно все математические операции привести к нужному типу (да и в целом мне пока не понятны такого рода махинации), чтобы MVS их не подчёркивала.
Цитата Сообщение от OstapBender Посмотреть сообщение
mpz_init_set_str(var, "6123712312391231203162370123123712311273", 10);
и что означает цифра 10 в конце?

Добавлено через 4 часа 22 минуты
OstapBender, Решил пока написать программу попроще с использованием gmp, но при компиляции теперь выдаются такие ошибки линковщика, не знаете в чём может проблема?
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
55
56
57
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <time.h>
#include <locale.h>
#include <Windows.h>
#include "config.h"
#include "gmp-mparam.h"
#include "gmp.h"
#pragma comment(lib, "gmp.lib")
#pragma comment(linker, "/NODEFAULTLIB:MSVCRTD.lib") 
 
mpz_t p, q, n, m, k; 
mpz_t d, e;
 
mpz_t source_text, shifro_text, deshifro_text;
mpz_t odin, proverka_dlya_vihoda;
 
 
int main()
{
    SetConsoleCP(1251);  //для работы русского языка + надо менять в консоли шрифт
    SetConsoleOutputCP(1251);
    mpz_init_set_str (source_text, "2006201801310518",10);
    mpz_init_set_str (odin, "1",10);
    
    mpz_init_set_str (p, "85785751",10);//инициализация моих данных
    mpz_init_set_str (q, "63284773",10);
    mpz_mul(m,p,q);
    mpz_mul(n,p-1,q-1);
 
    mpz_init_set_str (d,"3553",10);
    std::cout<<"\nВыбраный ключ d=";
    mpz_out_str(stdout, 10, d);
 
    mpz_init_set_str (e,"80983218792217",10);
    std::cout<<"\nВыбраный ключ e=";
    mpz_out_str(stdout, 10, e);
 
    mpz_mul(k,e,d);
    mpz_mod (proverka_dlya_vihoda, k, n);
    if (proverka_dlya_vihoda==odin)
    {
        std::cout<<"\nРезультат проверки k=";
        mpz_out_str(stdout, 10, k);
    }
    _getch();
    mpz_powm (shifro_text, source_text, d, m);//Шифрование
    std::cout<<"\nШифрованое сообщение (вариант 0): ";
    mpz_out_str(stdout, 10, shifro_text);
 
    mpz_powm (deshifro_text, shifro_text, e, m);//Дешифрование
    std::cout<<"\nДешифрованое сообщение (вариант 2): ";
    mpz_out_str(stdout, 10, deshifro_text);
    _getch();
    return 0;
}
Лог построения:
1>------ Построение начато: проект: Test, Конфигурация: Debug Win32 ------
1> Test.cpp
1>MSVCMRTD.lib(mstartup.obj) : error LNK2020: эхЁрчЁх°хээр* ыхъёхьр (0A0000C7) __native_startup_state
1>MSVCMRTD.lib(mstartup.obj) : error LNK2020: эхЁрчЁх°хээр* ыхъёхьр (0A000134) __native_startup_lock
1>MSVCMRTD.lib(mstartup.obj) : error LNK2020: эхЁрчЁх°хээр* ыхъёхьр (0A000135) __native_dllmain_reason
1>MSVCMRTD.lib(mstartup.obj) : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы "___native_dllmain_reason"
1>MSVCMRTD.lib(mstartup.obj) : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы "___native_startup_state"
1>MSVCMRTD.lib(mstartup.obj) : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы "___native_startup_lock"
1>C:\Users\Gin\Documents\Visual Studio 2012\Projects\Test\Debug\Test.exe : fatal error LNK1120: эхЁрчЁх°хээ√ї тэх°эшї ¤ыхьхэЄют: 6
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========



Изменил конфигурацию на Release и добавил
#pragma comment(linker, "/NODEFAULTLIB:msvcrt.lib")
Вот что получил опять.
1>MSVCMRT.lib(mstartup.obj) : error LNK2020: неразрешенная лексема (0A0000C6) __native_startup_state
1>MSVCMRT.lib(mstartup.obj) : error LNK2020: неразрешенная лексема (0A000131) __native_startup_lock
1>MSVCMRT.lib(mstartup.obj) : error LNK2020: неразрешенная лексема (0A000132) __native_dllmain_reason
1>MSVCMRT.lib(mstartup.obj) : error LNK2001: неразрешенный внешний символ "___native_dllmain_reason"
1>MSVCMRT.lib(mstartup.obj) : error LNK2001: неразрешенный внешний символ "___native_startup_state"
1>MSVCMRT.lib(mstartup.obj) : error LNK2001: неразрешенный внешний символ "___native_startup_lock"
1>C:\Users\Gin\Documents\Visual Studio 2012\Projects\Test\Release\Test.exe : fatal error LNK1120: неразрешенных внешних элементов: 6
 
Текущее время: 04:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru