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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
bigbang
0 / 0 / 0
Регистрация: 06.05.2010
Сообщений: 4
#1

RSA-степень-переполнение - C++

06.05.2010, 08:04. Просмотров 1075. Ответов 6
Метки нет (Все метки)

Хай. Проблема: нужно возводить в степень большие числа (это для шифрования методом RSA). НО: если результат меньше 19 знаков, то все в порядке. А если больше - не считает, т.к. выходит за диапазон __int64 (Например, 29^13). Что делать с этим переполнением?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2010, 08:04     RSA-степень-переполнение
Посмотрите здесь:

RSA - C++
бьюсь головой об стол с перерывами на обед... вот код: bool prost(int z) { for(int i=2; i<=sqrt((float)z); i++) if(z%i == 0) ...

Переполнение - C++
Доброго времени суток! Есть код: void menu() { IndexList Universal; List *tmp = NULL; int punkt_menu; char *value =...

Переполнение - C++
При вводе слишком большого числа (например: 4444444444444444) программа зацикливается и постоянно выводит "Ошибка. Введенный элемент...

Шифрование RSA - C++
Доброго всем времени суток. Делаю курсовую работу по криптографии - реализация алгоритма RSA. Вот написал уже целый код, который работает...

RSA шифрование - C++
Здравствуйте уважаемые форумчане. Знаю, есть темы подобные моей, но использовать готовое, когда есть что-то свое, не хочется. ...

RSA шифрование - C++
Народ кому не жалко выложите алгоритм шифрования методом RSA нужен самописный а не с помощью библиотек

RSA - иероглифы - C++
Привет всем! Возникла проблема. Есть программа на RSA (честно, помогали люди) - но почему - то при шифровании выводит иероглифы, и мне...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
06.05.2010, 08:17     RSA-степень-переполнение #2
Использовать действительно
Цитата Сообщение от bigbang Посмотреть сообщение
большие числа
Гуглите по словам "Длинная арифметика", читайте второй том Д. Кнута и да будет Вам счастье
bigbang
0 / 0 / 0
Регистрация: 06.05.2010
Сообщений: 4
06.05.2010, 10:33  [ТС]     RSA-степень-переполнение #3
как то google ничего внятного не дал... и все-таки, без подключения библиотек есть алгоритм возведения в степень больших чисел? у меня есть не очень больших, как бы его модифицировать?
C
1
2
3
4
5
6
7
8
9
10
__int64 step(__int64 a,__int64 b)
{
__int64 t = a;
__int64 i;
if (b > 0)
for (i=0;i<b-1;i++)
a = a*t;
else a = 1;
return a;
}
Добавлено через 1 час 22 минуты
подскажите, пожалуйста, есть у кого алгоритм создания больших чисел, чтобы их потом в формулу подставить?

Добавлено через 3 минуты
И еще может кто знает, тоже по RSA - Нужно разбить сообщение на блоки, каждый из которых может быть представлен в виде числа M(i)=0,1,2..., n-1. Чтобы потом зашифровать текст по формуле C(i)=(M(I)^e)mod n.
Alexandoros
227 / 65 / 4
Регистрация: 02.06.2009
Сообщений: 280
06.05.2010, 13:51     RSA-степень-переполнение #4
http://gmplib.org/
или самому писать поразрядное умножение и возведение
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
06.05.2010, 15:10     RSA-степень-переполнение #5
bigbang, Вы хотя бы понимаете, что каким бы стандартным типом данных не пользоваться, все равно для "нормального/стойкого" шифрования ключи нужны как минимум 256 бит (самый самый минимум), ни в какой стандартный тип данных это не влезет.
Если хотите могу выложить собственные исходники длинной арифметики, если конечно не будет лень разбираться в таком количестве чужого кода.
Лучше уж и правда воспользоваться сторонними библиотеками
neske
1473 / 840 / 72
Регистрация: 26.03.2010
Сообщений: 2,876
06.05.2010, 15:10     RSA-степень-переполнение #6
Книга Л.Аммерааль'STL для программистов на C++'
Последняя глава - "Очень большие числа".
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2010, 15:41     RSA-степень-переполнение
Еще ссылки по теме:

шифрование RSA - C++
Помогите пожалуйста с задачей: Составить программу на языке программирования С++, которая осуществляет шифрование информации по правилу...

Ключи RSA - C++
Помогите, пожалуйста, разобраться с ключами для криптосистемы RSA :) А конкретнее с их генерацией, написать надо самому, реализован набор...

PolarSSL RSA - C++
Помогите разобраться с криптобиблиотеками PolarSSL (сейчас она уже называется mbed TLS), а именно с библиотекой RSA. Уже который день никак...

Задача на переполнение - C++
Вот такая задачка: Дано число в двоичном виде состоящее из 1млн (короче из огромного количества) символов, нужно это число перевести в...

Переполнение буфера - C++
Подскажите, пожалуйста кто-нибудь, в чем беда... Во время выполения программы пишет, что буфер переполнен, что точка останова смещена и...


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

Или воспользуйтесь поиском по форуму:
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
06.05.2010, 15:41     RSA-степень-переполнение #7
М. Вельшенбах. "Криптография на Си и С++ в действии"
Yandex
Объявления
06.05.2010, 15:41     RSA-степень-переполнение
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru