Как посчитать обратную матрицу, такой, чтобы она была целочисленная и неотрицательная? В общем, нужно по криптосистеме Хилла для расшифровки посчитать обратную матрицу-ключ, но не простую, а золотую целочисленную и неотрицательную. Получилось найти целочисленную, но отрицательную. А отрицательной она становится из-за того, что мы делаем из исходной матрицу алгебраических дополнений.Пример: |3 3| - исходная матрица A |2 5| |5 2| - матрица миноров M |3 3| |5 -2| - матрица алгебраических дополнений M' |-3 3| |5 -3| - транспонированная матрица ( M' )^t |-2 3| m = 34 (алфавит) det = 3*5 - 3*2 = 9 det^-1 (обратный определитель) такой, что: det * det^-1 mod m = 1 9 * 19 mod 34 = 1 det^-1 = 19 A^-1= det^-1 * ( M' )^t mod mПолучается: |27 -23| | -4 23| Она работает только на части биграмм, то есть через раз. Ее нужно как-то преобразовать в неотрицательную. Подскажите как это можно сделать.
Для того чтобы получить целочисленную и неотрицательную обратную матрицу, можно использовать метод обратной матрицы по модулю.
Найдите обратный определитель det^-1 по модулю 34. В вашем примере уже найдено, det^-1 = 19.Найдите обратную матрицу к матрице алгебраических дополнений (M') по модулю 34. Для этого вы должны найти обратный элемент к каждому элементу матрицы (M') по модулю 34. Если обратный элемент существует, то он будет таким, что a * a^-1 mod m = 1, где a - элемент матрицы, a^-1 - обратный элемент, m - модуль.После того как найдена матрица обратных элементов, полученную матрицу умножьте на обратный определитель det^-1 по модулю 34.Полученная матрица будет целочисленной и неотрицательной.
Например, для вашей матрицы M': |M'| |-2 3| |5 -3|
Обратные элементы по модулю 34: |-2 3| -> |9 2| |5 -3| |-5 11|
Для того чтобы получить целочисленную и неотрицательную обратную матрицу, можно использовать метод обратной матрицы по модулю.
Найдите обратный определитель det^-1 по модулю 34. В вашем примере уже найдено, det^-1 = 19.Найдите обратную матрицу к матрице алгебраических дополнений (M') по модулю 34. Для этого вы должны найти обратный элемент к каждому элементу матрицы (M') по модулю 34. Если обратный элемент существует, то он будет таким, что a * a^-1 mod m = 1, где a - элемент матрицы, a^-1 - обратный элемент, m - модуль.После того как найдена матрица обратных элементов, полученную матрицу умножьте на обратный определитель det^-1 по модулю 34.Полученная матрица будет целочисленной и неотрицательной.Например, для вашей матрицы M':
|M'|
|-2 3|
|5 -3|
Обратные элементы по модулю 34:
|-2 3| -> |9 2|
|5 -3| |-5 11|
Умножаем матрицу обратных элементов на обратный определитель det^-1:
|9 2| |19 0| |27 -23|
|-5 11| * | 0 19| = | -4 23|
Полученная матрица |27 -23|
| -4 23| будет целочисленной и неотрицательной и может использоваться для расшифровки по криптосистеме Хилла.