2016-07-12 5 views
1

Недавно я закодирован на реализованный RSA алгоритм, я был смущен проблемами MOD-POWER, я не мог, почему уравнение верно, я не могу дать доказательство этого уравнения:Кто-то знает, как доказать результат: a^b% m = (... ((a% m) * a)% m) ...... * a)% m 'из математического представления?

'a^b % m = (...((a % m) * a) % m) ......* a) % m' 

с математической точки зрения?

+0

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что речь идет не о программировании. –

+0

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что речь идет о [math.se] вместо программирования или разработки программного обеспечения. – Pang

ответ

0

Из основных вещей, которые мы знаем о умножении в модульной арифметике.

Мы знаем, что (a * b) % m == ((a % m) * (b % m)) % m

0

Поскольку власть определяется рекурсивно

a^0 = 1, a^b = a^(b-1) * a 

вы докажете модульную формулу также на индукцию, то есть, используя

a^b % m = ( (a^(b-1) % m) * (a % m) ) % m 

как шаг.