|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.09.2017, 00:02 | #1 |
Новичок
Джуниор
Регистрация: 28.09.2017
Сообщений: 1
|
Длинная арифметика в С++
что делать, если одну из арифметической операций необходимо применить для огромных чисел, скажем так 1000 знаков или более…
|
29.09.2017, 00:08 | #2 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
например, есть boost::multiprecision
|
01.10.2017, 23:14 | #3 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Поищи на форуме - здесь неоднократно поднимался этот вопрос.
|
02.10.2017, 13:42 | #4 |
Заблокирован
Регистрация: 11.11.2016
Сообщений: 261
|
Зачем вообще нужны библиотеки длинной арифметики в традиционном виде? Кому это надо?
В криптографии такая арифметика не нужна. Длинная арифметика для этих целей реализуется иначе. Выбирается фиксированное конечное поле и в этом поле реализуются операции на основании равенств, выполняющихся в этом поле. Получается неуниверсально, зато эффективно за счет использования векторных регистров. |
02.10.2017, 14:32 | #5 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
|
02.10.2017, 14:46 | #6 |
Заблокирован
Регистрация: 11.11.2016
Сообщений: 261
|
Гугли эффективную реализацию криптоалгоритмов, арифметики в полях Галуа, быстрых мультипликаторов и прочее. Оптимизация на высоком уровне там заключается в выборе базиса, в котором вычисления занимают наименьшее число операций, а на низком уровне используются тождества, выполняющиеся в данном поле, и особенности процессоров (например, неиспользование инструкции adc, поскольку она не позволяет параллельно обрабатывать chunk'и длинных чисел в векторных регистрах).
|
02.10.2017, 14:50 | #7 |
Заблокирован
Регистрация: 11.11.2016
Сообщений: 261
|
Может быть, с RSA не так, но эллиптическая криптография оптимизируется хардкорно. Обычно для криптосистем на эллиптических кривых пишется специальная библиотека длинных чисел - допустим, 256-битные числа, а не числа произвольной длины, и все это оптимизируется на основании теорем алгебры и особенностей железа. Можно добавить, что формулы сложения точек на кривых записываются в проективных координатах, тогда получается очень быстро.
Последний раз редактировалось Aoizora; 02.10.2017 в 15:03. |
02.10.2017, 15:35 | #8 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Длинная арифметика | 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 |