Этот В статье говорится, что каждая квазигруппа порядка 4 может быть представлена в матричной форме с помощью следующего уравнения:
\begin{equation} x \ast y \equiv m^T +Ax^T +By^T +CA\cdot x^T \circ CB\cdot y^T \end{equation}
куда, $A = \begin{bmatrix} a_{11} & a_{12}\ a_{21} & a_{22} \end{bmatrix}, \begin{bmatrix} b_{11} & b_{12}\ b_{21} и b_{22} \end{bmatrix}$ являются невырожденными булевыми матрицами и $м = [м_1, м_2]$ является булевым вектором. Обратите внимание, что нам также необходимо рассмотреть логическое представление элементов $х$ и $у$ чтобы уравнение имело смысл.
Теперь, поскольку мы имеем дело с логическими представлениями элементов, я интерпретировал все операции в приведенном выше уравнении как логические операции «+», «.». и $'\circ'$ является скалярным произведением, которое означало бы работу с соответствующими элементами матриц с использованием '$\cdot$'.
Опять же, согласно это, любым произвольным невырожденным матрицам A, B, булевому вектору m и некоторому частному C мы получаем соответствующие квазигруппы порядка 4.
Поскольку это представление использовалось при разработке эффективных блочных шифров, я надеялся, что смогу использовать их в криптографических примитивах.
В качестве эксперимента я подумал, $м=[0, 0]$, $A=\begin{bmatrix} 1 & 1\ 1 & 0 \end{bmatrix}, B=\begin{bmatrix} 1 & 0\ 0 & 1 \end{bmatrix} $. $C= \begin{bmatrix} 1 и 1\ 1 и 1\end{bmatrix}$ (эта матрица задана в статье для получения квадратичных квазигрупп порядка 4). Теперь мы хотим построить латинский квадрат для квазигруппы $Q$ наличие элементов, $\{0, 1, 2, 3\}$.
Используя уравнение и логические представления элементов, $(0 экв 00, 1 экв 01, 2 экв 10, 3 экв 11)$ выполняем следующие операции:
$0 \ast 0 = (0, 0) \ast (0, 0) = \begin{bmatrix} 0 \ 0 \end{bmatrix} + \begin{bmatrix} 1 & 1\ 1 & 0 \end{bmatrix } \begin{bmatrix} 0\ 0 \end{bmatrix} + \begin{bmatrix} 1 & 0\ 0 & 1 \end{bmatrix} \begin{bmatrix} 0\ 0 \end{bmatrix} + \ begin{bmatrix} 1 & 1\ 1 & 1\end{bmatrix} \begin{bmatrix} 1 & 1\ 1 & 0 \end{bmatrix} \cdot \begin{bmatrix} 0\ 0 \end{bmatrix } \circ \begin{bmatrix} 1 & 1\ 1 & 1\end{bmatrix} \begin{bmatrix} 1 & 0\ 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} 0\ 0 \end{bmatrix} = [0 \; 0]^T$
$0 \ast 1 = (0, 0) \ast (0, 1) = \begin{bmatrix} 0 \ 0 \end{bmatrix} + \begin{bmatrix} 1 & 1\ 1 & 0 \end{bmatrix } \begin{bmatrix} 0\ 0 \end{bmatrix} + \begin{bmatrix} 1 & 0\ 0 & 1 \end{bmatrix} \begin{bmatrix} 0\ 1 \end{bmatrix} + \ begin{bmatrix} 1 & 1\ 1 & 1\end{bmatrix} \begin{bmatrix} 1 & 1\ 1 & 0 \end{bmatrix} \cdot \begin{bmatrix} 0\ 0 \end{bmatrix } \circ \begin{bmatrix} 1 & 1\ 1 & 1\end{bmatrix} \begin{bmatrix} 1 & 0\ 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} 0\ 1 \end{bmatrix} = [0\; 1]^T$
Сходным образом, $0 \ast 2 = [1 \;0]^T и, 0 \ast 3 = [1 \;1]^T.$
Следующий,
$1 \ast 0 = [1 \; 0]^T$;
$1 \ast 1 = [1 \; 1]^T$;
$1 \ast 2 = [1 \; 1]^T$
Мы знаем, что ни один элемент не может повторяться в строке или столбце латинского квадрата. Но в приведенном выше примере строка, соответствующая элементу 1, будет иметь повторяющиеся элементы, потому что $1 \аст 1 = 1 \аст 2$.
Могла ли быть некоторая двусмысленность в моей интерпретации или реализации матричных операций?
Пожалуйста, помогите мне определить мою ошибку здесь. Кроме того, приветствуется любая альтернативная интерпретация операций.
P.S. Я задал тот же вопрос в Mathematics Stack Exchange, но не получил ответа, поэтому я публикую его в надежде, что криптографическое сообщество сможет указать мне путь.