Как вычислить матрицу обратного ключа в алгоритме шифрования Hill?
Мне очень трудно понять, как вычисляется обратная матрица в алгоритме шифрования Hill. Я понимаю, что все это делается по модулю арифметики, но почему-то все не складывается. Я был бы очень признателен за простое объяснение!
рассмотрим следующую матрицу ключей шифрования Hill:
5 8
17 3
пожалуйста, используйте приведенную выше матрицу для иллюстрации.
2 ответов
вы должны изучить теорема линейной конгруэнтности и расширенный алгоритм GCD, который принадлежит Теория Чисел, для того, чтобы понять математику за арифметика по модулю.
инверсией матрицы K, например, является (1 / det(K)) * adjoint(K), где det(K) 0.
Я предполагаю, что вы не понимаете, как вычислить 1 / det (K) по модулю арифметики и вот где линейные конгруэнции и GCD приходят играть.
ваш K имеет det (K) = -121. Допустим, что модуль m равен 26. Мы хотим x*(-121) = 1 (mod 26).
[ a = b (mod m) означает, что a-b = N*m]
Мы можем легко найти это для x=3 вышеуказанная конгруэнтность истинна, потому что 26 делит(3*(-121) -1) точно. Конечно, правильный способ - использовать GCD в обратном порядке для вычисления x, но у меня нет времени объяснять, как это сделать. Проверьте алгоритм расширенного GCD:)
Теперь, inv(K) = 3*([3 -8], [-17 5]) (mod 26) = ([9 -24], [-51 15]) (mod 26)= ([9 2], [1 15]).
обновление: проверить основы теории вычислительных чтобы узнать, как вычислить модульные инверсии с расширенным евклидовым алгоритмом. Обратите внимание, что -121 mod 26 = 9
, Так gcd(9, 26) = 1
получаем (-1, 3)
.
по моему очень скромному мнению, гораздо проще вычислить обратную матрицу (модульную или другую) с помощью метода Гаусса-Джордана. Таким образом, вам не нужно вычислять определитель, а метод масштабируется очень просто до сколь угодно больших систем.
просто посмотрите "Матрица Гаусса Джордана обратная" - но, чтобы суммировать, вы просто примыкаете к копии матрицы тождества справа от инвертируемой матрицы, а затем используете операции строк, чтобы уменьшить вашу матрицу, которая будет решена до сама по себе она-матрица идентичности. В этот момент сопряженная матрица тождества стала обратной исходной матрице. Вуаля!