UPD crypto: HCTR2

This commit is contained in:
2025-03-26 22:23:56 +01:00
parent 619e25d2bf
commit 96a6c0053c
4 changed files with 167 additions and 8 deletions

View File

@@ -1,5 +1,5 @@
--- ../config 2025-03-23 20:28:37.107453247 +0100
+++ .config 2025-03-24 00:38:14.946924181 +0100
+++ .config 2025-03-26 21:50:41.791986566 +0100
@@ -31,7 +31,7 @@
#
CONFIG_INIT_ENV_ARG_LIMIT=32

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4fb5759698ed8b85a85eac4fdfb9e2171fea9a8c597187322789770bd8addcc6
size 180964
oid sha256:9b496c4d7db1e0cfaca9a82ddcb6335f150064fff72aba439697b39c210af7df
size 2657465

View File

@@ -9,13 +9,13 @@
% pacman -S hyphen hyphen-de
% pacman -S texlive-mathscience
\includeonly{
%\includeonly{
%linux_configuration_13_memory_management_options,
%linux_configuration_15_device_drivers,
%linux_configuration_16_file_systems,
%linux_configuration_17_security_options,
linux_configuration_18_cryptographic_API
}
% linux_configuration_18_cryptographic_API
%}
\documentclass[10pt,a4paper]{article}
%\documentclass[12pt,a4paper]{report}
@@ -62,6 +62,21 @@
%}%
%}%
% Ein Font, der auch $\varDelta$ usw. unterstützt:
%\usepackage{kpfonts}
%\usepackage{mathptmx}
%Palatino: The mathpazo package provides Palatino with small caps.
%\usepackage{mathpazo}
%Charter: You can use the charter package for the Charter font, which also includes small caps.
%\usepackage{charter}
%Libertine: The libertine package provides the Libertine font with small caps.
%\usepackage{libertine}
%Baskerville: The baskerville package allows you to use the Baskerville font with small caps.
%\usepackage{baskervillef}
%Garamond: The garamond package provides the Garamond font with small caps.
%\usepackage{CormorantGaramond}
\newcommand{\english}[1]{\\[0.3em]\begin{small}\textit{\selectlanguage{english}#1}\end{small}}
\newcommand{\note}[1]{\\[0.3em]\begin{scriptsize}#1\end{scriptsize}}

View File

@@ -98,8 +98,8 @@ Only signature verification is implemented.}
\subsubsection{EC-RDSA (Elliptic Curve Russian Digital Signature Algorithm)}
CONFIG\_CRYPTO\_ECRDSA [=m] \textbf{[M]}\\
Russischer digitaler Signaturalgorithmus mit elliptischer Kurve (\texttt{GOST R 34.10-2012}, \texttt{RFC 7091},
\texttt{ISO/IEC 14888-3})\\
Russischer digitaler Signaturalgorithmus mit elliptischer Kurve (\texttt{GOST R 34.10-2012}, \texttt{RFC 7091},\\
\texttt{ISO/IEC~14888"~3})\\
Einer der russischen kryptografischen Standardalgorithmen (GOST-Algorithmen genannt). Es ist nur eine Signaturprüfung implementiert.
\english{Elliptic Curve Russian Digital Signature Algorithm (GOST R 34.10-2012, RFC 7091, ISO/IEC 14888-3)\\
One of the Russian cryptographic standard algorithms (called GOST algorithms). Only signature verification is implemented.}
@@ -195,3 +195,147 @@ Camellia is a symmetric key block cipher developed jointly at NTT and Mitsubishi
The Camellia specifies three key sizes: 128, 192 and 256 bits.\\
See \url{https://info.isl.ntt.co.jp/crypt/eng/camellia/} for further information.}
\subsubsection{CAST5 (CAST-128)}
CONFIG\_CRYPTO\_CAST5 [=m] \textbf{[M]}\\
CAST5 (CAST-128) Verschlüsselungsalgorithmus (RFC2144, ISO/IEC~18033-3)
\english{CAST5 (CAST-128) cipher algorithm (RFC2144, ISO/IEC 18033-3)}
\subsubsection{CAST6 (CAST-256)}
CONFIG\_CRYPTO\_CAST6 [=m] \textbf{[M]}\\
CAST6 (CAST-256) Verschlüsselungsalgorithmus (RFC2612)
\english{CAST6 (CAST-256) encryption algorithm (RFC2612)}
\subsubsection{DES and Triple DES EDE}
CONFIG\_CRYPTO\_DES [=m] \textbf{[M]}\\
DES (Data Encryption Standard) (FIPS 46-2, ISO/IEC 18033-3) und Triple DES EDE (Encrypt"/Decrypt"/Encrypt)
(FIPS 46-3, ISO/IEC 18033-3) Verschlüsselungsalgorithmen
\english{DES (Data Encryption Standard)(FIPS 46-2, ISO/IEC 18033-3) and Triple DES EDE (Encrypt/Decrypt/Encrypt)
(FIPS 46-3, ISO/IEC 18033-3) cipher algorithms}
\subsubsection{FCrypt}
CONFIG\_CRYPTO\_FCRYPT [=m] \textbf{[M]}\\
Von RxRPC verwendeter FCrypt-Algorithmus\\
Siehe \url{https://ota.polyonymo.us/fcrypt-paper.txt}
\english{FCrypt algorithm used by RxRPC\\
See \url{https://ota.polyonymo.us/fcrypt-paper-txt}}
\subsubsection{Serpent}
CONFIG\_CRYPTO\_SERPENT [=m] \textbf{[M]}\\
Serpent-Chiffre-Algorithmus, von Anderson, Biham \& Knudsen\\
Die Länge der Schlüssel kann zwischen \qtyrange[list-units=single]{0}{256}{\bit} liegen, in Schritten von 8 Bits.\\
Weitere Informationen finden Sie unter \url{https://www.cl.cam.ac.uk/~rja14/serpent.html}.
\english{Serpent cipher algorithm, by Anderson, Biham \& Knudsen\\
Keys are allowed to be from 0 to 256 bits in length, in steps of 8 bits.\\
See \url{https://www.cl.cam.ac.uk/~rja14/serpent.html} for further information.}
\subsubsection{SM4 (ShangMi 4)}
CONFIG\_CRYPTO\_SM4\_GENERIC [=m] \textbf{[M]}\\
SM4-Verschlüsselungsalgorithmen (OSCCA GB/T 32907-2016, ISO/IEC 18033-3:2010/Amd 1:2021)\\
SM4 (GBT.32907-2016) ist ein kryptografischer Standard, der von der Organization of State Commercial Administration of China (OSCCA)
als autorisierter kryptografischer Algorithmus für die Verwendung in China herausgegeben wurde.\\
SMS4 wurde ursprünglich für den Schutz von drahtlosen Netzwerken entwickelt und ist im chinesischen Standard für Wireless LAN WAPI
(Wired Authentication and Privacy Infrastructure) (GB.15629.11-2003) vorgeschrieben.\\
Der neueste SM4-Standard (GBT.32907-2016) wurde von der OSCCA vorgeschlagen und durch das TC~260 der Standardisierungsbehörde
der Volksrepublik China (SAC) standardisiert.\\
Die Eingabe, die Ausgabe und der Schlüssel von SMS4 bestehen jeweils aus 128 Bit.\\
Siehe \url{https://eprint.iacr.org/2008/329.pdf} für weitere Informationen.\\
Wenn Sie unsicher sind, sagen Sie N.
\english{SM4 cipher algorithms (OSCCA GB/T 32907-2016, ISO/IEC 18033-3:2010/Amd 1:2021)\\
SM4 (GBT.32907-2016) is a cryptographic standard issued by the Organization of State Commercial Administration of China (OSCCA) as an authorized cryptographic algorithms for the use within China.\\
SMS4 was originally created for use in protecting wireless networks, and is mandated in the Chinese National Standard for Wireless LAN WAPI (Wired Authentication and Privacy Infrastructure) (GB.15629.11-2003).\\
The latest SM4 standard (GBT.32907-2016) was proposed by OSCCA and standardized through TC~260 of the Standardization Administration of the People's Republic of China (SAC).\\
The input, output, and key of SMS4 are each 128 bits.\\
See \url{https://eprint.iacr.org/2008/329.pdf} for further information.\\
If unsure, say N.}
\subsubsection{Twofish}
CONFIG\_CRYPTO\_TWOFISH [=m] \textbf{[M]}\\
Algorithmus der Twofish-Chiffre\\
Twofish wurde von den Forschern von CounterPane Systems als AES-Kandidatenchiffre (Advanced Encryption Standard) eingereicht.
Es handelt sich um eine 16-Runden-Blockchiffre, die Schlüsselgrößen von \qtylist[list-units=single]{128;192;256}{\bit} unterstützt.\\
Weitere Informationen finden Sie unter \url{https://www.schneier.com/twofish.html}.
\english{Twofish cipher algorithm\\
Twofish was submitted as an AES (Advanced Encryption Standard) candidate cipher by researchers at CounterPane Systems.
It is a 16 round block cipher supporting key sizes of 128, 192, and 256 bits.\\
See \url{https://www.schneier.com/twofish.html} for further information.}
%18.4
\subsection{Length-preserving ciphers and modes \texorpdfstring{$\longrightarrow$}{->}}
\textit{Längenerhaltende Chiffren und Modi}
\subsubsection{Adiantum}
CONFIG\_CRYPTO\_ADIANTUM [=m] \textbf{[M]}\\
Der längenerhaltende Verschlüsselungsmodus von Adiantum.\\
Entwickelt für schnelle und sichere Festplattenverschlüsselung, insbesondere auf CPUs ohne spezielle Kryptoanweisungen.
Es verschlüsselt jeden Sektor mit der XChaCha12-Stream-Chiffre, zwei Durchläufen einer $\varepsilon$-almost-$\Delta$-universiellen
Hash-Funktion und einem Aufruf der AES-256-Blockchiffre für einen einzelnen 16-Byte-Block.
Auf CPUs ohne AES-Befehle ist Adiantum sehr viel schneller als AES-XTS.\\
Die Sicherheit von Adiantum ist nachweislich auf die der zugrunde liegenden Strom- und Blockchiffren reduzierbar, vorbehaltlich einer Sicherheitsgrenze. Im Gegensatz zu XTS ist Adiantum ein echter Wide-Block-Verschlüsselungsmodus, so dass es tatsächlich einen noch stärkeren Sicherheitsbegriff als XTS bietet, vorbehaltlich der Sicherheitsgrenze.\\
Wenn Sie unsicher sind, sagen Sie N.
\english{Adiantum tweakable, length-preserving encryption mode\\
Designed for fast and secure disk encryption, especially on CPUs without dedicated crypto instructions.
It encrypts each sector using the XChaCha12 stream cipher, two passes of an $\varepsilon$-almost-$\Delta$-universal hash function,
and an invocation of the AES-256 block cipher on a single 16-byte block.
On CPUs without AES instructions, Adiantum is much faster than AES-XTS.\\
Adiantum's security is provably reducible to that of its underlying stream and block ciphers, subject to a security bound.
Unlike XTS, Adiantum is a true wide-block encryption mode, so it actually provides an even stronger notion of security than XTS,
subject to the security bound.\\
If unsure, say N.}
\subsubsection{ChaCha}
CONFIG\_CRYPTO\_CHACHA20 [=m] \textbf{[M]}\\
Die Stromchiffrieralgorithmen ChaCha20, XChaCha20 und XChaCha12\\
ChaCha20 ist eine 256-Bit-Hochgeschwindigkeitsstromchiffre, die von Daniel J. Bernstein entwickelt und in RFC7539 für
die Verwendung in IETF-Protokollen näher spezifiziert wurde.
Dies ist die portable C-Implementierung von ChaCha20.
Weitere Informationen finden Sie auf der Website \url{https://cr.yp.to/chacha/chacha-20080128.pdf}.
XChaCha20 ist die Anwendung der XSalsa20-Konstruktion auf ChaCha20 und nicht auf Salsa20.
XChaCha20 erweitert die Schlüssellänge von ChaCha20 von 64 Bit (bzw. 96 Bit bei Verwendung der RFC7539-Konvention) auf 192 Bit,
wobei die Sicherheit von ChaCha20 nachweislich erhalten bleibt.
Weitere Informationen finden Sie auf der Website \url{https://cr.yp.to/snuffle/xsalsa-20081128.pdf}.\\
XChaCha12 ist XChaCha20, reduziert auf 12~Runden, mit entsprechend reduzierter Sicherheitsspanne, aber erhöhter Leistung.
Es kann in einigen leistungssensiblen Szenarien benötigt werden.
\english{The ChaCha20, XChaCha20, and XChaCha12 stream cipher algorithms\\
ChaCha20 is a 256-bit high-speed stream cipher designed by Daniel J. Bernstein and further specified in RFC7539 for use in IETF protocols.
This is the portable C implementation of ChaCha20.
See \url{https://cr.yp.to/chacha/chacha-20080128.pdf} for further information.\\
XChaCha20 is the application of the XSalsa20 construction to ChaCha20 rather than to Salsa20.
XChaCha20 extends ChaCha20's nonce length from 64 bits (or 96 bits using the RFC7539 convention) to 192 bits, while provably retaining ChaCha20's security.
See \url{https://cr.yp.to/snuffle/xsalsa-20081128.pdf} for further information.\\
XChaCha12 is XChaCha20 reduced to 12~rounds, with correspondingly reduced security margin but increased performance.
It can be needed in some performance-sensitive scenarios.}
\subsubsection{CBC (Cipher Block Chaining)}
CONFIG\_CRYPTO\_CBC [=m] \textbf{[M]}\\
CBC-Modus (Cipher Block Chaining) (NIST SP800-38A)\\
Dieser Blockchiffriermodus ist für IPSec ESP (XFRM\_ESP) erforderlich.
\english{CBC (Cipher Block Chaining) mode (NIST SP800-38A)\\
This block cipher mode is required for IPSec ESP (XFRM\_ESP).}
\subsubsection{CTR (Counter)}
CONFIG\_CRYPTO\_CTR [=y] \textbf{[Y]}\\
CTR (Zähler) Modus (NIST SP800-38A)
\english{CTR (Counter) mode (NIST SP800-38A)}
\subsubsection{CTS (Cipher Text Stealing)}
CONFIG\_CRYPTO\_CTS [=m] \textbf{[M]}\\
CBC-CS3-Variante von CTS (Cipher Text Stealing) (NIST Addendum zu SP800-38A (Oktober 2010))\\
Dieser Modus ist für die Unterstützung des Kerberos-GSS-Mechanismus für die AES-Verschlüsselung erforderlich.
\english{CBC-CS3 variant of CTS (Cipher Text Stealing) (NIST Addendum to SP800-38A (October 2010))\\
This mode is required for Kerberos gss mechanism support for AES encryption.}
\subsubsection{ECB (Electronic Codebook)}
CONFIG\_CRYPTO\_ECB [=y] \textbf{[Y]}\\
ECB (Elektronisches Codebuch) Modus (NIST SP800-38A)
\english{ECB (Electronic Codebook) mode (NIST SP800-38A)}
\subsubsection{HCTR2}
CONFIG\_CRYPTO\_HCTR2 [=m] \textbf{[M]}\\
HCTR2 längenerhaltender Verschlüsselungsmodus\\
Ein Modus für die Speicherverschlüsselung, der auf Prozessoren mit Befehlen zur Beschleunigung von AES und übertragsloser
Multiplikation effizient ist, z.\,B. x86-Prozessoren mit AES-NI und CLMUL und ARM-Prozessoren mit den ARMv8-Kryptoerweiterungen.\\
Siehe \url{https://eprint.iacr.org/2021/1441}
\english{HCTR2 length-preserving encryption mode\\
A mode for storage encryption that is efficient on processors with instructions to accelerate AES and carryless multiplication,
e.g. x86 processors with AES-NI and CLMUL, and ARM processors with the ARMv8 crypto extensions.\\
See \url{https://eprint.iacr.org/2021/1441}}