summaryrefslogtreecommitdiff
path: root/gost-translate
diff options
context:
space:
mode:
authorAndrew Guschin <guschin.drew@gmail.com>2022-12-24 23:20:30 +0400
committerAndrew Guschin <guschin.drew@gmail.com>2022-12-24 23:20:30 +0400
commit08585650965678623e3d5e604e5b44d5c449b451 (patch)
treea6347e3064bc1da9e18484c15460ac58f4a496c7 /gost-translate
parent7ac882e3a313d59b4a5478e1e0f0583f8ca473bd (diff)
Добавлено задание по переводу стандарта
Diffstat (limited to 'gost-translate')
-rw-r--r--gost-translate/gost.pdfbin0 -> 143367 bytes
-rw-r--r--gost-translate/gost.tex181
-rwxr-xr-xgost-translate/maker.sh35
3 files changed, 216 insertions, 0 deletions
diff --git a/gost-translate/gost.pdf b/gost-translate/gost.pdf
new file mode 100644
index 0000000..c72e793
--- /dev/null
+++ b/gost-translate/gost.pdf
Binary files 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 <main-doc>.tex -> Запуск процесса, пересобирающего документ при изменениях"
+ echo "./maker.sh doc <main-doc>.tex -> Пересобрать документ"
+ echo "./maker.sh clean -> Удаление сгенерированных файлов"
+ exit 1
+}
+
+case "$1" in
+ watch) watch $2 ;;
+ doc) doc $2 ;;
+ clean) clean ;;
+ *) help ;;
+esac