113 lines
5.8 KiB
TeX
113 lines
5.8 KiB
TeX
\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}
|
||
|