Как найти значение log 3 31 в кольце классов вычетов по модулю 43 с использованием метода Шэнкса или метода

  • 31
Как найти значение log 3 31 в кольце классов вычетов по модулю 43 с использованием метода Шэнкса или метода Полига-Силвера-Хеллмана?
Skazochnaya_Princessa
43
Для решения этой задачи с использованием метода Шэнкса или метода Полига-Силвера-Хеллмана нам необходимо найти значение \(\log_{3} 31\) в кольце классов вычетов по модулю 43. Давайте рассмотрим каждый метод по отдельности.

Метод Шэнкса основан на идее построения таблицы множителей и позволяет найти значение дискретного логарифма. В данном случае ищем \(\log_{3} 31\), то есть, нужно найти число \(x\) такое, что \(3^x \equiv 31 \mod 43\).

Шаг 1: Создаем таблицу множителей. Для этого вычисляем значения \(3^i \mod 43\) для \(i = 0, 1, 2, 3, \ldots\) пока не найдем значение 31:
\[
\begin{align*}
3^0 &\equiv 1 \mod 43 \\
3^1 &\equiv 3 \mod 43 \\
3^2 &\equiv 9 \mod 43 \\
3^3 &\equiv 27 \mod 43 \\
3^4 &\equiv 81 \equiv 38 \mod 43 \\
3^5 &\equiv 114 \mod 43 \\
3^6 &\equiv 20 \mod 43 \\
3^7 &\equiv 60 \mod 43 \\
3^8 &\equiv 180 \equiv 51 \mod 43 \\
3^9 &\equiv 153 \mod 43 \\
3^{10} &\equiv 129 \mod 43 \\
3^{11} &\equiv 23 \mod 43 \\
3^{12} &\equiv 69 \mod 43 \\
3^{13} &\equiv 207 \equiv 121 \mod 43 \\
3^{14} &\equiv 133 \mod 43 \\
3^{15} &\equiv 29 \mod 43 \\
3^{16} &\equiv 87 \mod 43 \\
3^{17} &\equiv 156 \mod 43 \\
3^{18} &\equiv 136 \mod 43 \\
3^{19} &\equiv 38 \mod 43 \\
3^{20} &\equiv 114 \mod 43 \\
3^{21} &\equiv 14 \mod 43 \\
3^{22} &\equiv 42 \mod 43 \\
3^{23} &\equiv 128 \mod 43 \\
3^{24} &\equiv 37 \mod 43 \\
3^{25} &\equiv 111 \mod 43 \\
3^{26} &\equiv 8 \mod 43 \\
3^{27} &\equiv 24 \mod 43 \\
3^{28} &\equiv 72 \mod 43 \\
3^{29} &\equiv 216 \equiv 127 \mod 43 \\
3^{30} &\equiv 52 \mod 43 \\
3^{31} &\equiv 31 \mod 43 \\
\end{align*}
\]

Шаг 2: После построения таблицы множителей, мы ищем значения \(3^j \mod 43\) для \(j = 0, 1, 2, 3, \ldots\) и сравниваем с найденными ранее значениями в таблице. Найденное совпадение дает нам значение искомого дискретного логарифма. В данном случае, из таблицы видно, что \(3^{31} \equiv 31 \mod 43\), следовательно, \(\log_{3} 31 = 31\) в кольце классов вычетов по модулю 43.

Теперь рассмотрим метод Полига-Силвера-Хеллмана, который также позволяет найти значения дискретного логарифма.

Шаг 1: Нам необходимо разложить модуль \(m = 43\) на простые множители. В этом случае \(43\) - простое число.

Шаг 2: Используем формулу \(\alpha = \lceil \sqrt{m} \rceil\) для нахождения верхней границы параметра \(\alpha\). В этом случае \(\alpha = \lceil \sqrt{43} \rceil = 7\).

Шаг 3: Теперь мы создаем таблицу с величинами \(B_j = \alpha^j \mod m\) для \(j = 0, 1, 2, \ldots\) пока не найдем совпадение со значением, которое мы ищем. В этом случае, мы ищем значение \(31\), следовательно, наша таблица будет выглядеть следующим образом:

\[
\begin{align*}
B_0 &= \lceil \alpha^0 \mod m \rceil = 1 \\
B_1 &= \lceil \alpha^1 \mod m \rceil = 7 \\
B_2 &= \lceil \alpha^2 \mod m \rceil = 49 \equiv 6 \mod 43 \\
B_3 &= \lceil \alpha^3 \mod m \rceil = 42 \\
B_4 &= \lceil \alpha^4 \mod m \rceil = 37 \\
B_5 &= \lceil \alpha^5 \mod m \rceil = 6 \\
\end{align*}
\]

Шаг 4: Наша таблица показывает, что значение \(B_5\) совпадает с значением, которое мы ищем. Соответственно, индекс этого значения, то есть, значение, которое мы ищем, равно \(5\). Таким образом, \(\log_{3} 31 = 5\) в кольце классов вычетов по модулю 43.

Таким образом, мы получили значение \(\log_{3} 31\) равное \(31\) с использованием метода Шэнкса и значение \(5\) с использованием метода Полига-Силвера-Хеллмана.