1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
|
\documentclass[a4paper,12pt]{extarticle}
\usepackage[T2A]{fontenc}
\usepackage[english,russian]{babel}
\usepackage[
left=2.5cm, right=2.5cm,
top=1.5cm, bottom=2cm,
]{geometry}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{indentfirst}
\usepackage{underscore}
\usepackage{multirow}
\usepackage{float}
\usepackage{setspace}
\singlespacing
\usepackage{graphicx}
\graphicspath{{./images/}}
\theoremstyle{definition}
\newtheorem{definition}{Definition}[subsection]
\newtheorem*{note}{Note}
\setcounter{tocdepth}{3}
\title{
{\scshape \bfseries Cryptographic security of information}\\
{Block ciphers}\\
{\Large ГОСТ Р 34.12-2015}}
\author{Переведено: Андрей Гущин, КНиИТ, 431 группа}
\date{}
\begin{document}
\maketitle
\section*{Abstract}
This standard contains a description of block encryption algorithms used in
cryptographic techniques of information security.
The need to develop a standard is caused by the need to create block ciphers
with different block lengths that meet modern requirements for cryptographic
strength and operational qualities.
This standard is terminologically and conceptually linked to the international
standards ISO/IEC 10116 and the ISO/IEC 18033 series.
\section{Scope}
This standard defines algorithms of basic block ciphers used in cryptographic
techniques of processing and protecting the information, including ensuring
confidentiality, authenticity and integrity of information during its
transmission, processing and storage in automated systems.
The cryptographic algorithms defined in this standard are designed for hardware
or software implementation, meet modern cryptographic requirements and do not
impose restrictions on the degree of secrecy of the protected information.
The standard is recommended for use in the development, operation and
modernization of general purpose information processing systems.
\section{Terms, definitions and designations}
\subsection{Terms and definitions}
The following terms and definitions are used in this standard.
\begin{definition}
\textbf{Encryption algorithm} --- algorithm that implements encryption, i.e.
converting plaintext into ciphertext.
\end{definition}
\begin{definition}
\textbf{Decryption algorithm} --- algorithm that implements decryption, i.e.
converting ciphertext into plaintext.
\end{definition}
\begin{definition}
\textbf{Basic block cipher} --- block cipher that implements for any fixed key
single reversible mapping from a set of plaintext blocks of fixed length into
ciphertext blocks of same length.
\end{definition}
\begin{definition}
\textbf{Block} --- string of bits of a defined length.
\end{definition}
\begin{definition}
\textbf{Block cipher} --- cipher from a class of symmetric cryptographic
techniques in which an encryption algorithm is applied to plaintext blocks to
compute ciphertext blocks.
\end{definition}
\begin{note}
This standard defines terms ``block cipher'' and ``algorithm of block
encryption'' to be synonyms.
\end{note}
\begin{definition}
\textbf{Encryption} --- reversible transformation of data using a cipher that
forms a ciphertext from plaintext.
\end{definition}
\begin{definition}
\textbf{Round key} --- sequence of characters computed with the key schedule
algorithm that defines the transformation in one iteration of the block
cipher.
\end{definition}
\begin{definition}
\textbf{Key} --- variable parameter in the form of a sequence of characters
that defines the cryptographic transformation.
\end{definition}
\begin{note}
This standard only considers keys in the form of a sequence of binary symbols
(bits).
\end{note}
\begin{definition}
\textbf{Plaintext} --- unencrypted information.
\end{definition}
\begin{definition}
\textbf{Key schedule} --- algorithm of computation of round keys from cipher
key.
\end{definition}
\begin{definition}
\textbf{Decryption} --- reversal of the corresponding encryption.
\end{definition}
\begin{note}
To preserve terminological continuity with scientific and technical
publications, this standard uses the term ``encryption'' for both operations
defined by the terms ``encryption'' and ``decryption''. The specific meaning
of the term ``encryption'' is determined based on the context.
\end{note}
\begin{definition}
\textbf{Symmetric cryptographic technique} --- cryptographic technique that
uses same key for the transformation performed by both the sender and the
recipient.
\end{definition}
\begin{definition}
\textbf{Cipher} --- cryptographic technique used to ensure confidentiality
of data, including an encryption algorithm and a decryption algorithm.
\end{definition}
\begin{definition}
\textbf{Ciphertext} --- plaintext data which has been encrypted to hide its
content.
\end{definition}
\subsection{Designations}
\dots
\section{General provisions}
This standard defines two basic block ciphers with block lengths of $n = 128$
bits and $n = 64$ bits and with key lengths of $k = 256$ bits.
\begin{note}\hfill
\begin{enumerate}
\item
Cipher with block length of $n = 128$ bits defined in this standard can
be referred to as ``Kuznyechik'' (``Кузнечик'').
\item
Cipher with block length of $n = 64$ bits defined in this standard can
be referred to as ``Magma'' (``Магма'').
\end{enumerate}
\end{note}
\dots
\end{document}
|