\documentclass[a4paper,fontsize=14bp]{article}

\input{../common-preamble}
\input{../fancy-listings-preamble}
\input{../bmstu-preamble}
\setcounter{secnumdepth}{0}
\numerationTop

\begin{document}
\thispagestyle{empty}
\makeBMSTUHeader

% ... работе, номер, тема, предмет, ?а, кто
\makeReportTitle{лабораторной}{1}{Криптографические преобразования}{Криптографические протоколы и стандарты}{}{Варфоломеев А.А.}
\newpage
\thispagestyle{empty}
\tableofcontents
\newpage
\pagestyle{fancy}
\section{Цель}
Целью лабораторной работы является освоение преобразований и практика ручного преобразования данных. Вариант \code{П_6}.
\begin{enumerate}
\item посчитать многочлен Жегалкина (алгебраическая нормальная форма для $f_i(x_4, x_3, x_2, x_1)$);
\item найти спектр Уолша-Адамара $\forall f_i$;
\item найти статистическую структуру $\forall f_i$;
\item посчитать вероятность $P_i$ изменения выходного бита при изменении одного входного бита;
\item посчитать среднее число изменяющихся выходных бит при изменении одного входного бита.
\end{enumerate}
\section{Выполнение работы}
\begin{table}[h!]
  \centering
  \begin{tabular}{|c|c|c|c|c|} 
    \hline
    $X_d$ & $X_h$ & $X_4X_3X_2X_1$ & \code{П_6} & $f_4f_3f_2f_1$\\ [0.5ex] 
    \hline
    0     & 0     & 0 0 0 0        & 8          & 0 1 0 0 \\ 
    1     & 1     & 0 0 0 1        & 14         & 1 1 1 0 \\ 
    2     & 2     & 0 0 1 0        & 2          & 0 0 1 0 \\ 
    3     & 3     & 0 0 1 1        & 5          & 0 1 0 1 \\ 
    4     & 4     & 0 1 0 0        & 6          & 0 1 1 0 \\ 
    5     & 5     & 0 1 0 1        & 9          & 1 0 0 1 \\ 
    6     & 6     & 0 1 1 0        & 1          & 0 0 0 1 \\ 
    7     & 7     & 0 1 1 1        & 12         & 1 1 0 0 \\ 
    8     & 8     & 1 0 0 0        & 15         & 1 1 1 1 \\ 
    9     & 9     & 1 0 0 1        & 4          & 0 1 0 0 \\ 
    10    & A     & 1 0 1 0        & 11         & 1 0 1 1 \\ 
    11    & B     & 1 0 1 1        & 0          & 0 0 0 0 \\ 
    12    & C     & 1 1 0 0        & 13         & 1 1 0 1 \\ 
    13    & D     & 1 1 0 1        & 10         & 1 0 1 0 \\ 
    14    & E     & 1 1 1 0        & 3          & 0 0 1 1 \\ 
    15    & F     & 1 1 1 1        & 7          & 0 1 1 1 \\ 
    \hline
  \end{tabular}
  \caption{Исходные данные}
  \label{table:1}
\end{table}

\subsection{Полином Жегалкина}
Поиск полинома осуществляется последовательным поразрядным поиском каждого элемента, при том, что $a_0$ известен, для $f_4$ равен 0. Например: $f(1,0,0,0) = a_{0000} \oplus a_{1000} = 1$,  следовательно $a_{1000} = 1$, $f(0,1,0,0) = a_{0000} \oplus a_{0100} = 0$, следовательно $a_{0100} = 0$, и так далее.

Полином Жегалкина для 4-го разряда будет иметь вид
\[f_4 = x_2 \oplus x_3 \oplus x_1x_3 \oplus x_1x_4 \oplus x_2x_3 \oplus x_2x_4 \oplus x_3x_4,\]
поскольку промежуточные значения a будут иметь следующие значения:
\begin{equation*}
  \begin{gathered}
a_{0000} = 1; a_{0001} = 0; a_{0010} = 1; a_{0011} = 0\\
a_{0100} = 1; a_{0101} = 1; a_{0110} = 1; a_{0111} = 0\\
a_{1000} = 0; a_{1001} = 1; a_{1010} = 1; a_{1011} = 0\\
a_{1100} = 1; a_{1101} = 0; a_{1110} = 0; a_{1111} = 0\\
  \end{gathered}
\end{equation*}

Полином Жегалкина для 3-го разряда будет иметь вид
\[f_3 = x_1 \oplus x_3 \oplus x_4 \oplus x_1x_4 + x_2x_3 + x_2x_4 + x_3x_4 + x_1x_3x_4 + x_2x_3x_4\]
поскольку промежуточные значения a будут иметь следующие значения:
\begin{equation*}
  \begin{gathered}
a_{0000} = 0; a_{0001} = 1; a_{0010} = 0; a_{0011} = 0 \\
a_{0100} = 1; a_{0101} = 0; a_{0110} = 1; a_{0111} = 0 \\
a_{1000} = 1; a_{1001} = 1; a_{1010} = 1; a_{1011} = 0 \\
a_{1100} = 1; a_{1101} = 1; a_{1110} = 1; a_{1111} = 0 \\
  \end{gathered}
\end{equation*}

Полином Жегалкина для 2-го разряда будет иметь вид
\[f_2 = x_1 \oplus x_2 \oplus x_3 \oplus x_4 \oplus x_2x_4 \oplus x_1x_2x_3 \oplus x_2x_3x_4\]
поскольку промежуточные значения a будут иметь следующие значения:
\begin{equation*}
  \begin{gathered}
a_{0000} = 0; a_{0001} = 1; a_{0010} = 1; a_{0011} = 0 \\
a_{0100} = 1; a_{0101} = 0; a_{0110} = 0; a_{0111} = 1 \\
a_{1000} = 1; a_{1001} = 0; a_{1010} = 1; a_{1011} = 0 \\
a_{1100} = 0; a_{1101} = 0; a_{1110} = 1; a_{1111} = 0 \\
  \end{gathered}
\end{equation*}

Полином Жегалкина для 2-го разряда будет иметь вид
\[f_1 = x4 \oplus x1x2 \oplus x1x3 \oplus x1x4 \oplus x2x3 \oplus x1x2x3 \oplus x1x2x4 \oplus x1x3x4 \oplus x2x3x4\]
поскольку промежуточные значения a будут иметь следующие значения:
\begin{equation*}
  \begin{gathered}
a_{0000} = 0; a_{0001} = 0; a_{0010} = 0; a_{0011} = 1 \\
a_{0100} = 0; a_{0101} = 1; a_{0110} = 1; a_{0111} = 1 \\
a_{1000} = 1; a_{1001} = 1; a_{1010} = 0; a_{1011} = 1 \\
a_{1100} = 0; a_{1101} = 1; a_{1110} = 1; a_{1111} = 0 \\
  \end{gathered}
\end{equation*}



\end{document}

