-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIntroduction.tex
More file actions
21 lines (18 loc) · 1.39 KB
/
Introduction.tex
File metadata and controls
21 lines (18 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
\section{Introduction}
In this project\footnote{\url{https://github.com/moritzklp/FP-ProjectTP}},
we explore fundamental principles of classical cryptography by implementing three historical ciphers: Caesar, Vigenère, and One-Time Pad (OTP).
Alongside implementing these encryption techniques, we also investigate their weaknesses and known cryptographic attacks.
Specifically, we focus on:
\begin{itemize}
\item Frequency analysis on the Caesar cipher (and monoalphabetic substitutions in general),
showing how statistical patterns in natural language can reveal encrypted messages.
\item Kasiski examination and Friedmann tests on Vigenère,
which exploits repeating patterns in the ciphertext to determine the key length and ultimately decrypt the message.
\item Many-Time Pad (MTP) attacks on OTP, demonstrating how key reuse undermines its security.
\end{itemize}
Our approach includes encrypting and decrypting natural language messages, generating secure random keys,
and implementing attacks to expose vulnerabilities in these ciphers.
By doing so, we aim to highlight the contrast between theoretical security (as in OTP)
and practical weaknesses (as in cases of poor key management and cipher design).
The following sections outline our project’s objectives, methodologies, and experimental setup,
detailing our implementation and security analysis in a Haskell-based environment.