121 lines
5.9 KiB
TeX
121 lines
5.9 KiB
TeX
\documentclass[aspectratio=169, lualatex, handout]{beamer}
|
|
\makeatletter\def\input@path{{theme/}}\makeatother\usetheme{cipher}
|
|
|
|
\title{Applied Cryptography}
|
|
\author{Nadim Kobeissi}
|
|
\institute{American University of Beirut}
|
|
\instituteimage{images/aub_white.png}
|
|
\date{\today}
|
|
\coversubtitle{CMPS 297AD/396AI\\Fall 2025}
|
|
\coverpartname{Part 2: Real-World Cryptography}
|
|
\covertopicname{2.5: High-Assurance Cryptography}
|
|
\coverwebsite{https://appliedcryptography.page}
|
|
|
|
\begin{document}
|
|
\begin{frame}[plain]
|
|
\titlepage
|
|
\end{frame}
|
|
|
|
\begin{frame}{Slides not complete and may contain errors}
|
|
\begin{itemize}
|
|
\item This slide deck is not finished, may contain errors, and is missing important material. Do not rely on it yet.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\section{Introduction}
|
|
|
|
\begin{frame}{Perfect security and confidence}
|
|
\begin{itemize}
|
|
\item In 1949, Claude Shannon proved that symmetric encryption achieves perfect confidentiality only when the key is longer than the message it encrypts
|
|
\item In other words, a system in which we may have 100\% confidence in its security must be impractical
|
|
\item Therefore, because we cannot have complete confidence in the security of practical cryptographic systems, we must rely on other methods to raise our confidence in their security
|
|
\item Different methods exist depending on the cryptographic system
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Cryptanalysis}
|
|
\begin{itemize}
|
|
\item One way is to have many people try to break the cryptographic system
|
|
\item If no one succeeds after several years, we guess it's probably secure
|
|
\item This method works for any cryptographic system, but it does not provide the highest level of confidence
|
|
\item It may be that nobody managed to break the cryptographic system because:
|
|
\begin{itemize}
|
|
\item We didn't put enough resources into trying to break it
|
|
\item Everyone who tried was not clever enough
|
|
\end{itemize}
|
|
\item Thankfully, for many cryptographic systems, we have better ways to raise our confidence
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Proving the absence of some attacks}
|
|
\begin{itemize}
|
|
\item A complementary method is to collect general classes of attacks against the cryptographic system under study
|
|
\item Mathematically prove that these types of attacks do not work
|
|
\item Example: On symmetric encryption algorithms, it is customary to prove that they resist against differential cryptanalysis
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Reduction proofs}
|
|
\begin{itemize}
|
|
\item On some cryptographic systems, especially on cryptographic protocols that assemble other cryptographic components (such as symmetric encryption, signatures, etc)
|
|
\item We can mathematically prove that the security of the whole system reduces to the security of each cryptographic component
|
|
\item Informally, the mathematical proof says: if you show me how to efficiently break the security of my cryptographic system, I can use this knowledge to show you how to efficiently break the security of one of its cryptographic components
|
|
\item Because the cryptographic components are believed to be secure (e.g. because they resisted cryptanalysis so far), this implies that the cryptographic system is also believed to be secure
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Trade-offs in security proofs}
|
|
\begin{itemize}
|
|
\item When possible, reduction proofs are considered to be the gold standard
|
|
\item However, when it is too difficult to do such a proof, it is common to make stronger assumptions about the security of cryptographic components
|
|
\item Example: the Random Oracle Model assumes that cryptographic hash functions are ``perfect''
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Trade-offs in security proofs}
|
|
\begin{itemize}
|
|
\item One may say that cryptographic hash functions are not perfect, therefore these proofs have no value
|
|
\item However, we argue that a proof with strong assumptions is better than no proof at all
|
|
\item In the end, this is a trade-off between the strength of the security theorem and the practical doability of its proof
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Symbolic model verification}
|
|
\begin{itemize}
|
|
\item If we push the trade-off cursor further and make the strongest assumptions, we obtain what is called the ``symbolic model''
|
|
\item Informally, security theorems in the symbolic model prove that it is impossible for an adversary to break the whole cryptographic system when the adversary only has black-box access to cryptographic components
|
|
\item In other words, if we assume that the cryptographic components being used in the system are ``perfect''
|
|
\item Again, these are strong assumptions, but a proof with strong assumptions is better than no proof at all
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Symbolic model: another perspective}
|
|
\begin{itemize}
|
|
\item Another way to understand the symbolic model is that it only considers adversaries that perform logical attacks
|
|
\item Logical attacks are attacks that only have a black-box use of cryptographic components
|
|
\item Therefore, the symbolic model proves the absence of the whole class of logical attacks
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Computer-checked proofs}
|
|
\begin{itemize}
|
|
\item As we shall see in the next section, mathematical proofs may contain errors and security proofs are no exception
|
|
\item We can rely on computers to raise our confidence that our mathematical proof is free of errors
|
|
\item This is done by having the computer mechanically verify each step of the proof
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Intuitive comparison}
|
|
\bigimagewithcaption{cas_comparison.png}{Source: Cas Cremers}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Slides not complete and may contain errors}
|
|
\begin{itemize}
|
|
\item This slide deck is not finished, may contain errors, and is missing important material. Do not rely on it yet.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}[plain]
|
|
\titlepage
|
|
\end{frame}
|
|
\end{document}
|