update
This commit is contained in:
38
crypto.tex
38
crypto.tex
@@ -32,12 +32,12 @@
|
|||||||
\maketitle
|
\maketitle
|
||||||
\section{Introduction}
|
\section{Introduction}
|
||||||
Cryptography is ubiquitous in our modern world.
|
Cryptography is ubiquitous in our modern world.
|
||||||
While the origins of cryptography date back thousands of years, evidence of its use in ancient is sparse.
|
While the origins of cryptography date back thousands of years, evidence of its use in ancient times is sparse.
|
||||||
\cite{luenberger}
|
\cite{luenberger}
|
||||||
Most of its use seemed to be reserved for political and military leaders, e.g. notably Mary Queen of Scots,
|
Historically, most of its use seemed to be reserved for political and military leaders, e.g. notably Mary Queen of Scots,
|
||||||
who while in prison, plotted to kill Queen Elizabeth using encrypted letters \cite{enwiki:maryofscots}.
|
who while in prison, plotted to kill Queen Elizabeth using encrypted letters \cite{enwiki:maryofscots}.
|
||||||
With the widespread adoption of the internet, the need for several cryptographical functions arose.
|
Much later, with the widespread adoption of the internet, the need for several cryptographical functions arose.
|
||||||
Due to its intended original use as a trusted research network (ARPANET),
|
Due to its intended use as a trusted research network (ARPANET),
|
||||||
almost none of the original protocols were 'secure' in any sense of the word.
|
almost none of the original protocols were 'secure' in any sense of the word.
|
||||||
|
|
||||||
Most notably still today is SMTP, the \textit{Simple Mail Transfer Protocol}, used to send email to servers.
|
Most notably still today is SMTP, the \textit{Simple Mail Transfer Protocol}, used to send email to servers.
|
||||||
@@ -72,6 +72,7 @@ It is closely related to Shannon's maxim, stating that
|
|||||||
This is opposed to \textit{security through obscurity}, which doesnt allow for verification of the cryptographic
|
This is opposed to \textit{security through obscurity}, which doesnt allow for verification of the cryptographic
|
||||||
algorithm through a scientific process in the public domain.
|
algorithm through a scientific process in the public domain.
|
||||||
|
|
||||||
|
|
||||||
\subsection{Hash Functions}
|
\subsection{Hash Functions}
|
||||||
A general hash function $h(m)$ is a function that takes a message $m$ of arbitrary and produces an output $h$ called \textit{hash}
|
A general hash function $h(m)$ is a function that takes a message $m$ of arbitrary and produces an output $h$ called \textit{hash}
|
||||||
of fixed length. However, not every mathematical function can be considered a hash function.
|
of fixed length. However, not every mathematical function can be considered a hash function.
|
||||||
@@ -96,7 +97,6 @@ They are also often used in combination with public key cryptography, allowing t
|
|||||||
to prove not only integrity but authenticity.
|
to prove not only integrity but authenticity.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Encryption}
|
\subsection{Encryption}
|
||||||
Even though the properties of hash functions are similar to encryption, the fact that the input message is reduced to a fixed size hash
|
Even though the properties of hash functions are similar to encryption, the fact that the input message is reduced to a fixed size hash
|
||||||
also means that inevitably information is lost by every hash function.
|
also means that inevitably information is lost by every hash function.
|
||||||
@@ -114,31 +114,47 @@ In the process of encoding, A is therefore replaced (substituted) with D, B with
|
|||||||
Upon reception of the message, the same process is done in reverse, i.e. shifted by $-3$.
|
Upon reception of the message, the same process is done in reverse, i.e. shifted by $-3$.
|
||||||
|
|
||||||
\begin{table}[h]
|
\begin{table}[h]
|
||||||
\resizebox{\textwidth}{!}{%
|
\resizebox{\textwidth}{!}{
|
||||||
\begin{tabular}{c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c}
|
\begin{tabular}{c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c}
|
||||||
A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z \\
|
A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z \\
|
||||||
\hline
|
\hline
|
||||||
D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C
|
D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C
|
||||||
|
|
||||||
\end{tabular}%
|
\end{tabular}
|
||||||
}
|
}
|
||||||
\caption{A simple substitution cipher demonstrated by a 3-letter shift.}
|
\caption{A simple substitution cipher demonstrated by a 3-letter shift.}
|
||||||
\label{tab:caesar}
|
\label{tab:caesar}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
This simple encryption is easy to break however for several reasons.
|
This simple encryption is easy to break however for several reasons.
|
||||||
Caesar ciphers in general only offer 26 different keys as further shifts only wrap around to $29 \mod 26 = 3$, with a shift of 26
|
Caesar ciphers in general only offer 26 different keys as further shifts only wrap around to e.g. $29 \mod 26 = 3$, with a shift of 26
|
||||||
being equal to the cleartext. \newline
|
being equal to the cleartext. \newline
|
||||||
Furter, by shifting every letter by the same amount,
|
Furter, by shifting every letter by the same amount,
|
||||||
the properties of the source language such as word spacing and letter frequencies are retained in the ciphertext,
|
properties of the source language such as word spacing and letter frequencies are retained in the ciphertext,
|
||||||
leaving it vulnerable to simple attacks.
|
leaving it vulnerable to simple statistical attacks.
|
||||||
|
|
||||||
|
|
||||||
\paragraph{Transposition} is the process of reordering the plaintext to obtain a ciphertext.
|
\paragraph{Transposition} is the process of reordering the plaintext to obtain a ciphertext.
|
||||||
Here, the key can be understood as instructions on how to re-order the ciphertext to obtain the original message.
|
Here, the key can be understood as instructions on how to re-order the ciphertext to obtain the original message.
|
||||||
The \textit{scytale} is one of the earliest implementations of a transposition cipher.
|
The \textit{scytale} is one of the earliest implementations of a transposition cipher.
|
||||||
|
The implementation involves a rope or band of text as well as a stick of known circumference as the key.
|
||||||
|
The band is wrapped in a spiral around the stick and the message written across the spiral.
|
||||||
|
When the stick is removed and the band unwrapped, the letters on the band appear scrambled by a fixed offset determined
|
||||||
|
by the stick's circumference.
|
||||||
|
|
||||||
\paragraph{Confusion and Diffusion} \cite{enwiki:confusion-diffusion}
|
\paragraph{Diffusion} is one of two properties of a secure cipher introduced by Shannon in 1945.
|
||||||
|
It is closely related to the \textit{collision resistance} of hash functions
|
||||||
|
and means that for a 1-bit change of the plaintext, about half the bits of the ciphertext should change.
|
||||||
|
The purpose of diffusion is to hide the statistical statistical relationship between plaintext and ciphertext
|
||||||
|
exhibited by simple encryption methods.
|
||||||
|
% Block ciphers achieve this by "diffusing" the information about the plaintext's structure across the rows and columns of the cipher.
|
||||||
|
|
||||||
|
\paragraph{Confusion} similarly aims to obscure the connection of ciphertext and key,
|
||||||
|
requiring each bit of the ciphertext to depend on multiple parts of the key.
|
||||||
|
Confusion and diffusion are often mistaken for substitution and transposition, as block ciphers achieve
|
||||||
|
confusion through substitution boxes (S-box) and
|
||||||
|
diffusion through permutation boxes (P-box).
|
||||||
|
\cite{enwiki:confusion-diffusion}
|
||||||
|
|
||||||
\section{DES}\label{sec:des}
|
\section{DES}\label{sec:des}
|
||||||
The \acrfull{DES} is a symmetric (or private-key) cipher developed in the 1970s at IBM as an archetypal block cipher.
|
The \acrfull{DES} is a symmetric (or private-key) cipher developed in the 1970s at IBM as an archetypal block cipher.
|
||||||
|
|||||||
Reference in New Issue
Block a user