Хэш-функция MASH-2

Мы взяли хэш-функцию MASH-2 в курсе колледжа, и на экзамене мы сталкиваемся с вопросами, чтобы вычислить что-то вроде этого ((62500)^257)) мод (238194151), используя только научный калькулятор. теперь я знаю некоторые теории с a^b (mod n), но проблему, которую я представляю выше, даже трудно вычислить вручную. Я думаю, что это займет около 15 минут, чтобы решить эту проблему. Я хотел бы знать, есть ли более быстрый способ сделать это. или даже если есть какой-то способ сделать это в двоичном формате (преобразовать число в двоичное и затем выполнить некоторые манипуляции). Мне нужно сделать это вручную с помощью научного калькулятора.

1 ответ

Решение

В этом частном случае основной фактор разложения a = 62500 = 2² ⋅ 5⁶ очень просто
Вы можете использовать это для расчета (2²)²⁵⁷ а также (5⁶)²⁵⁷ сначала и посчитаем потом произведение.
Но проблема, которую я вижу, заключается в том, что для n = 238194151 мой научный калькулятор не умеет рассчитывать правильно. Если ваш калькулятор может сделать это, это не должно быть проблемой.

поскольку gcd(a, b) = 1 Вы также можете использовать ЭЛТ, но я не уверен, что вы можете найти основные факторы n = 13 ⋅ 59 ⋅ 310553 только с научным калькулятором. Если так, это сделает это намного легче. Вы просто рассчитываете a²⁵⁷ mod (13⋅59) а также a²⁵⁷ mod 310553 и положить результаты вместе с ЭЛТ.

Вы также можете использовать только Возведение в квадрат, возводя в квадрат, поэтому вам нужно только вычислить 8 квадратов.

Другие вопросы по тегам