В криптографии мы должны обрабатывать матрицы. Хотя эта тема принадлежит специальному разделу алгебры, который называется линейной алгеброй, необходим краткий обзор матриц для подготовки к изучению криптографии. Читатели, знакомые с этими вопросами, могут пропустить часть или весь этот раздел. Раздел начинается с некоторых определений и примеров использования матрицы в модульной арифметике.
Матрица — прямоугольный массив, содержащий l x m элементов, в которых l — число строк, m — число столбцов. Матрица обычно обозначается заглавной буквой, такой, как A. Элемент aij расположен в i -той строке и j -том столбце. Хотя элементы матрицы могут быть любым множеством чисел, мы обсуждаем только матрицы с элементами в Z. Пример матрицы с m столбцами и l строками \[ \begin{pmatrix} a_{11}& a_{12}& ... &a_{1m}&\\ a_{21}& a_{22}& ... &a_{2m}&\\ ... \\ a_{l1}& a_{l2}& ... &a_{lm}&\\ \end{pmatrix} \]
Если матрица имеет только одну строку ( l = 1 ), она называется матрицей-строкой ; если она имеет только один столбец ( m = 1 ), то называется матрицей-столбцом. Матрица называется квадратной, если число строк равно числу столбцов ( l = m ) и содержит элементы a11, a22, ……, amm. Матрица обозначается 0, если все строки и все столбцы содержат нули. Единичная матрица обозначается I, если она квадратная и содержит все единицы на главной диагонали и все нули на других местах. Рисунок 3.2 показывает некоторые примеры матриц с элементами из Z.
В линейной алгебре для матриц определены одно уравнение (равенство) и четыре операции (сложение, вычитание, умножение и скалярное умножение).
Две матрицы равны, если они имеют одинаковое число строк и столбцов и соответствующие элементы равны. Другими словами, A = B, если мы имеем aij = bij для всех i и j.
Операция сложения двух матриц может применяться, если матрицы имеют одинаковое число столбцов и строк. Сложение записывают как C =A + B. В этом случае полученная в результате матрица C имеет тот же самый номер строк и столбцов, как A или B. Каждый элемент C — сумма двух соответствующих элементов A и B: aij + bij.
Операция вычитания производится аналогично сложению, за исключением того, что каждый элемент B вычитается из соответствующего элемента A: dij= aij – bij.
Пример 3.1
Ниже показан пример сложения и вычитания.
\[ \begin{pmatrix} 12& 4& 4&\\ 11& 12& 30&\\ \end{pmatrix} = \begin{pmatrix} 5& 2& 1&\\ 3& 2& 10&\\ \end{pmatrix} + \begin{pmatrix} 7& 2& 3&\\ 8& 10& 20&\\ \end{pmatrix}\\ C=A+B\\ \begin{pmatrix} -2& 0& -2&\\ -5& -8& -10&\\ \end{pmatrix} = \begin{pmatrix} 5& 2& 1&\\ 3& 2& 10&\\ \end{pmatrix} - \begin{pmatrix} 7& 2& 3&\\ 8& 10& 20&\\ \end{pmatrix}\\ C=A-B \]Две матрицы различного размера могут быть перемножены, если число столбцов первой матрицы совпадает с числом строк второй матрицы. Если A — матрица размера l x m, а матрица B размера m x p, то произведением будет матрица C размером l x p. Если элемент матрицы A обозначить aij, а каждый элемент матрицы B обозначить bjk, то элемент матрицы C — cik — вычисляется следующим образом:
\[ c_{ik} = \Sigma a_{ij} x b_{jk} = a_{i1} \multiply b_{1j} + a_{i2} x b_{2j} + … + a_{im} x b_{mj} \]Пример 3.2
Рисунок 3.3 показывает произведение матрицы-строки ( \[ 1 \times 3 \] ) на матрицу-столбец ( \[ 3 \times 1 \] ). В результате получаем матрицу размером \[ 1 \times 1 \] .
Пример 3.3
Рисунок 3.4 показывает произведение матрицы \[ 2 \times 3 \] на матрицу \[ 3 \times 4 \] . В результате получаем матрицу \[ 2 \times 4 \]
Мы можем также умножить матрицу на число (называемое скаляр ). Если A — матрица \[ l \times m \] и x — скаляр, то C = xA — матрица \[ l \times m \] , в которой \[ {c_{ij}} = x \times {a_{ij}} \] .
Пример 3.4
Рисунок 3.5 показывает пример скалярного умножения.