From 08585650965678623e3d5e604e5b44d5c449b451 Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Sat, 24 Dec 2022 23:20:30 +0400 Subject: =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4=D1=83=20=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D0=B4=D0=B0=D1=80=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gost-translate/gost.pdf | Bin 0 -> 143367 bytes gost-translate/gost.tex | 181 ++++++++++++++++++++++++++++++++++++++++++++++++ gost-translate/maker.sh | 35 ++++++++++ 3 files changed, 216 insertions(+) create mode 100644 gost-translate/gost.pdf create mode 100644 gost-translate/gost.tex create mode 100755 gost-translate/maker.sh (limited to 'gost-translate') diff --git a/gost-translate/gost.pdf b/gost-translate/gost.pdf new file mode 100644 index 0000000..c72e793 Binary files /dev/null and b/gost-translate/gost.pdf differ diff --git a/gost-translate/gost.tex b/gost-translate/gost.tex new file mode 100644 index 0000000..db5bc8a --- /dev/null +++ b/gost-translate/gost.tex @@ -0,0 +1,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} diff --git a/gost-translate/maker.sh b/gost-translate/maker.sh new file mode 100755 index 0000000..e847acf --- /dev/null +++ b/gost-translate/maker.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +watch() { + [ -z "$1" ] && echo "Необходимо указать название основного документа" && help + set -o xtrace + latexmk -pdf -f -shell-escape -interaction=nonstopmode -pvc $1 +} + +doc() { + [ -z "$1" ] && echo "Необходимо указать название основного документа" && help + set -o xtrace + latexmk -pdf -f -shell-escape -interaction=nonstopmode $1 +} + +clean() { + set -o xtrace + rm -rf _minted-* + find . -name "*.aux" -exec rm {} \; + rm -f *.dvi *.fdb_latexmk *.fls *.log *.out *.toc +} + +help() { + echo "Использование:" + echo "./maker.sh watch .tex -> Запуск процесса, пересобирающего документ при изменениях" + echo "./maker.sh doc .tex -> Пересобрать документ" + echo "./maker.sh clean -> Удаление сгенерированных файлов" + exit 1 +} + +case "$1" in + watch) watch $2 ;; + doc) doc $2 ;; + clean) clean ;; + *) help ;; +esac -- cgit v1.2.3