diff --git a/crypto.tex b/crypto.tex index 8472838..037bb0f 100644 --- a/crypto.tex +++ b/crypto.tex @@ -32,12 +32,12 @@ \maketitle \section{Introduction} 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} -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}. -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), +Much later, with the widespread adoption of the internet, the need for several cryptographical functions arose. +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. 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 algorithm through a scientific process in the public domain. + \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} 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. - \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 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$. \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} 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 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.} \label{tab:caesar} \end{table} 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 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, -leaving it vulnerable to simple attacks. +properties of the source language such as word spacing and letter frequencies are retained in the ciphertext, +leaving it vulnerable to simple statistical attacks. \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. 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} The \acrfull{DES} is a symmetric (or private-key) cipher developed in the 1970s at IBM as an archetypal block cipher.