Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
bigbang
0 / 0 / 0
Регистрация: 06.05.2010
Сообщений: 4
1

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

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

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

Вычислить 10-ю степень двойки сложением, умножением и просто возведением в степень.
Написать код на С++ или С# или на Java Вычислить 10-ю степень двойки 1 -...

Написать программу с функцией, вычисляющей целую степень дробного числа. Учесть,что степень может быть положительной, отрицательной, нулевой
Написать программу с функцией, вычисляющей целую степень дробного числа....

Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++.
Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2...

RSA
бьюсь головой об стол с перерывами на обед... вот код: bool prost(int z) {...

Переполнение
При вводе слишком большого числа (например: 4444444444444444) программа...

6
fasked
Эксперт С++
4982 / 2561 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
06.05.2010, 08:17 2
Использовать действительно
Цитата Сообщение от bigbang Посмотреть сообщение
большие числа
Гуглите по словам "Длинная арифметика", читайте второй том Д. Кнута и да будет Вам счастье
1
bigbang
0 / 0 / 0
Регистрация: 06.05.2010
Сообщений: 4
06.05.2010, 10:33  [ТС] 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.
0
Alexandoros
228 / 66 / 11
Регистрация: 02.06.2009
Сообщений: 280
06.05.2010, 13:51 4
http://gmplib.org/
или самому писать поразрядное умножение и возведение
1
fasked
Эксперт С++
4982 / 2561 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
06.05.2010, 15:10 5
bigbang, Вы хотя бы понимаете, что каким бы стандартным типом данных не пользоваться, все равно для "нормального/стойкого" шифрования ключи нужны как минимум 256 бит (самый самый минимум), ни в какой стандартный тип данных это не влезет.
Если хотите могу выложить собственные исходники длинной арифметики, если конечно не будет лень разбираться в таком количестве чужого кода.
Лучше уж и правда воспользоваться сторонними библиотеками
0
neske
1527 / 894 / 192
Регистрация: 26.03.2010
Сообщений: 3,074
06.05.2010, 15:10 6
Книга Л.Аммерааль'STL для программистов на C++'
Последняя глава - "Очень большие числа".
1
fasked
Эксперт С++
4982 / 2561 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
06.05.2010, 15:41 7
М. Вельшенбах. "Криптография на Си и С++ в действии"
1
06.05.2010, 15:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2010, 15:41

Переполнение
Доброго времени суток! Есть код: void menu() { IndexList Universal;...

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

RSA шифрование
Народ кому не жалко выложите алгоритм шифрования методом RSA нужен самописный а...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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