\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}