Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2017, 00:02   #1
vladina
Новичок
Джуниор
 
Регистрация: 28.09.2017
Сообщений: 1
По умолчанию Длинная арифметика в С++

что делать, если одну из арифметической операций необходимо применить для огромных чисел, скажем так 1000 знаков или более…
vladina вне форума Ответить с цитированием
Старый 29.09.2017, 00:08   #2
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

например, есть boost::multiprecision
Croessmah вне форума Ответить с цитированием
Старый 01.10.2017, 23:14   #3
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Поищи на форуме - здесь неоднократно поднимался этот вопрос.
ura_111 вне форума Ответить с цитированием
Старый 02.10.2017, 13:42   #4
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 261
По умолчанию

Зачем вообще нужны библиотеки длинной арифметики в традиционном виде? Кому это надо?
В криптографии такая арифметика не нужна. Длинная арифметика для этих целей реализуется иначе. Выбирается фиксированное конечное поле и в этом поле реализуются операции на основании равенств, выполняющихся в этом поле. Получается неуниверсально, зато эффективно за счет использования векторных регистров.
Aoizora вне форума Ответить с цитированием
Старый 02.10.2017, 14:32   #5
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от Aoizora Посмотреть сообщение
Длинная арифметика для этих целей реализуется иначе.
Не могли бы Вы, уважаемый, чем-то подтвердить столь категорические заявления?
Black Fregat вне форума Ответить с цитированием
Старый 02.10.2017, 14:46   #6
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 261
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Не могли бы Вы, уважаемый, чем-то подтвердить столь категорические заявления?
Гугли эффективную реализацию криптоалгоритмов, арифметики в полях Галуа, быстрых мультипликаторов и прочее. Оптимизация на высоком уровне там заключается в выборе базиса, в котором вычисления занимают наименьшее число операций, а на низком уровне используются тождества, выполняющиеся в данном поле, и особенности процессоров (например, неиспользование инструкции adc, поскольку она не позволяет параллельно обрабатывать chunk'и длинных чисел в векторных регистрах).
Aoizora вне форума Ответить с цитированием
Старый 02.10.2017, 14:50   #7
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 261
По умолчанию

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

Последний раз редактировалось Aoizora; 02.10.2017 в 15:03.
Aoizora вне форума Ответить с цитированием
Старый 02.10.2017, 15:35   #8
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от Aoizora Посмотреть сообщение
Зачем вообще нужны библиотеки длинной арифметики в традиционном виде?
Банально - для расчетов.
Еще банальнее - калькулятор.
Croessmah вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Длинная арифметика nimfa1 Общие вопросы Delphi 4 28.06.2012 15:16
Длинная арифметика. Leshii Паскаль, Turbo Pascal, PascalABC.NET 4 01.03.2012 11:38
C# Длинная арифметика _Varyag_ Помощь студентам 23 21.02.2012 19:33
Длинная арифметика DmT Помощь студентам 2 06.10.2007 22:43