2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Модулярная арифметика
Сообщение07.09.2011, 14:11 


07/09/11
3
Помогите пожалуйста понять как нашли значение C
C=688^79mod3337=1570

 Профиль  
                  
 
 Re: Модулярная арифметика
Сообщение07.09.2011, 14:49 
Заслуженный участник


08/04/08
8562
Для начала topic183.html

А вообще $79$ раскладывать в 2-ичной системе счисления и затем выделяют множители отдельно, каждый считают по модулю и перемножают по модулю.
Т.е. если Вам надо подсчитать $3^{2^4} \mod 13$, Вы в цикле возводите в квадрат (4 раза будет) и после каждого возведения считаете остаток от деления на $13$.

 Профиль  
                  
 
 Re: Модулярная арифметика
Сообщение07.09.2011, 15:26 


07/09/11
3
$((((((688^2)^2)^2)^2)^2)^2)+(((688^2)^2)^2)+((688^2)^2)+688^2$
правильно?
А дальше как?

 Профиль  
                  
 
 Re: Модулярная арифметика
Сообщение07.09.2011, 16:32 
Заслуженный участник


08/04/08
8562
Rustam2 в сообщении #481146 писал(а):
$((((((688^2)^2)^2)^2)^2)^2)+(((688^2)^2)^2)+((688^2)^2)+688^2$
правильно?

Нет. Правильно $x^{a+b} = x^a \cdot x^b$, а Вы сделали по неверному правилу $x^{a+b} = x^a + x^b$.
Rustam2 в сообщении #481146 писал(а):
А дальше как?

А дальше, как я написал: считаете сначала степени двойки по модулю:
Sonic86 в сообщении #481137 писал(а):
Вы в цикле возводите в квадрат (4 раза будет) и после каждого возведения считаете остаток от деления на $13$.

Подробнее: пусть надо посчитать $x^{2^n} \mod m$ для $n>0$. Берем $x^{2^n} \mod m = (x^2)^{2^{n-1}} \mod m $$= (x^2 \mod m )^{2^{n-1}} \mod m = x_1^{2^{n-1}} \mod m$, где $x_1 = x^2 \mod m$. Таким способом мы сводим вычисление $x^{2^n} \mod m$ к вычислению $x_1^{2^{n-1}} \mod m$ - делаем так $n$ раз - степени исчезают. Остается перемножить несколько чисел по модулю. Делаем это тоже постепенно: перемножаем 2 числа, берем остаток, перемножаем еще 2 числа, берем опять остаток и т.п. до конца.
Кстати, если Вам это запрограммировать надо - можно сделать немного полегче, но, возможно, менее понятно.

 Профиль  
                  
 
 Re: Модулярная арифметика
Сообщение07.09.2011, 16:41 


07/09/11
3
Большое спасибо за информацию!
Это нужно мне для расчета контрольной работы, Асимметричная криптосистема RSA.

 Профиль  
                  
 
 Re: Модулярная арифметика
Сообщение07.09.2011, 16:50 
Заслуженный участник


08/04/08
8562
Rustam2 в сообщении #481177 писал(а):
Это нужно мне для расчета контрольной работы, Асимметричная криптосистема RSA.

Угу, я так и думал. Тогда можете подумать о расчете так:
$n=2k \Rightarrow x^n \mod m = (x^2 \mod m)^k \mod m$
$n=2k+1 \Rightarrow x^n \mod m = x \cdot (x^2 \mod m)^k \mod m$
Вам тогда даже массивы не понадобятся.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group