\documentclass{beamer}
\usepackage{tikz}
\setbeamertemplate{navigation symbols}{}
\usetikzlibrary{arrows,shapes,backgrounds}

\useoutertheme{infolines}
    \defbeamertemplate*{footline}{my infolines theme}
    {
      \leavevmode%
      \hbox{%
      \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
        \usebeamerfont{author in head/foot}\insertshortauthor~~\insertshortinstitute
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
        \usebeamerfont{title in head/foot}\insertshorttitle
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
        \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
        \insertframenumber{} / \inserttotalframenumber\hspace*{2ex}
      \end{beamercolorbox}}%
      \vskip0pt%
    }
\definecolor{empha1}{RGB}{0,0,102}
\definecolor{empha2}{RGB}{100,0,100}
\definecolor{empha3}{RGB}{160,0,0}
\definecolor{empha4}{RGB}{54,124,0}
\definecolor{darkgreen}{rgb}{0.1,0.3,0.1}
\definecolor{darkred}{rgb}{0.55,0.0,0.0}
\setbeamercolor{title}{fg=empha1}
\setbeamercolor{frametitle}{fg=empha2}
\setbeamertemplate{headline}{} % removes the headline that infolines inserts
\setbeamercolor*{item}{fg=empha4}

\usefonttheme[onlymath]{serif}


\beamersetuncovermixins{\opaqueness<1>{25}}{\opaqueness<2->{15}}

\newcommand{\polylog}{\mathsf{polylog}}
\definecolor{mygreen}{RGB}{20,100,6}

\setbeamertemplate{itemize subitem}[ball] 
\setbeamertemplate{itemize subsubitem}[circle] 

\newcommand{\backupbegin}{
   \newcounter{finalframe}
   \setcounter{finalframe}{\value{framenumber}}
}
\newcommand{\backupend}{
   \setcounter{framenumber}{\value{finalframe}}
}


\begin{document}

\subtitle{1. Introducci\'on y Conceptos B\'asicos}
\title{Criptograf\'ia y Seguridad Computacional}
\author{Fernando Krell Loy}
\date{2 de Marzo 2016}
 
\begin{frame}[noframenumbering]
\titlepage
\end{frame}

\begin{frame}
\frametitle{Datos del Curso}
\begin{itemize}
\item Profesor: Fernando Krell
\item e-mail: fkrell@gmail.com
\item Horario clases: Mie. 15:30 - 18:20
\item Horario consultas: Mie 18:20 - 19:20
\item Ayudantes: TBA
\item Evaluaci\'on:
\begin{itemize}
\item 6 tareas - Soluciones en PDF en \LaTeX. 60\%

\item 2 pruebas.20 \%
\item 1 examen. 20 \%
\end{itemize}
\end{itemize}
\end{frame}


\begin{frame}
\frametitle{Criptograf\'ia vs Seguridad Computacional}
Seguridad Computacional:
\begin{itemize}
\item Seguridad de redes
\item An\'alisis de c\'odigo
\item Seguridad en sistemas operativos
\item Sistemas de detecci\'on de intrusos
\item Cloud computing security
\item ...
\item<2> y... criptograf\'ia
\end{itemize}
\pause
\begin{center}
$\mathsf{CRYPTO}\subset\mathsf{SECURITY}$
\end{center}
\end{frame}

\begin{frame}
\frametitle{?`Qu\'e es la criptograf\'ia?}
\begin{figure}
\includegraphics[scale=0.2]{images/lock.png}
\end{figure}

\end{frame}

\begin{frame}
\frametitle{Visi\'on cl\'asica de la Criptograf\'ia}

\begin{figure}
\includegraphics[scale=0.7]{images/seccom.pdf}
\end{figure}
Privacidad del mensage: S\'olo Alice y Bob pueden entender el mensaje.
Autentificaci\'on: Bob sabe que el mensage no fue modificado.
\end{frame}

\begin{frame}
\frametitle{Hoy en d\'ia, cripto es mucho m\'as}
\begin{itemize}
\item Cifrados basados en identidad
\item Cifrados basados atributos
\item Cifrado funcional (puedo descifrar $f(m)$ y nada mas).
\item B\'usqueda privada de datos
\item Computaci\'on segura:
\begin{itemize}
\item Encriptaci\'on homomorphica.
\item Obfuscaci\'on de programas.
\end{itemize}
\item y m\'as
\end{itemize}

\end{frame}


\begin{frame}
\frametitle{Revisi\'on de Probabilidad Discreta}

\begin{itemize}
\item  Sea $S$ un conjunto \emph{discreto}, y $p(\cdot):S\rightarrow[0,1]$ una funci\'on.\\
\item $p$ define un espacio de probabilidades si $\sum_{a \in S} p(a)=1$.

\item Un evento $E$ es un subconjunto de $S$. $\Pr[E] \stackrel{def}{=} \sum_{e\in E} p(e)$

\end{itemize}
\begin{definition}
Eventos $E_1$ y $E_2$ son \emph{independientes} si $\Pr[E_1\vee E_2]=\Pr[E_1] + \Pr[E_2]$
\end{definition}

\end{frame}

\begin{frame}
\frametitle{Propiedades}
\begin{itemize}
\item<1-> $\Pr[E_1\vee E_2]=\Pr[E_1] + \Pr[E_2] - \Pr[E_1 \wedge E_2]$
\item<2-> $\Pr[E_1\vee E_2]\leq \Pr[E_1] + \Pr[E_2]$ (cota de uni\'on, $=$ s\'olo si son ind.)
\item<3-> $\Pr[\bigvee_{i=1}^k E_i]\leq \sum_{i=1}^{k}\Pr[E_i]$ (cota de uni\'on generalizada)
\item<4-> Sea $\{E_i\}_{i=1}^k$ tales que $E_i\cap E_j=\emptyset\forall i\neq j$ y $\sum_{i=1}^k \Pr[E_i] = 1$ (una partici\'on del espacio de probabilidades). 
Entonces $\forall$ evento $F$:
\color{brown}{\[\Pr[F]=\sum_{i=1}^k \Pr[F\wedge E_i]\]}

\item<5-> $\Pr[E_1|E_2] \stackrel{\mathsf{def}}{=} \frac{\Pr[E_1 \wedge E_2]}{\Pr[E_2]}$ (probabilidad condicional)
\[\Rightarrow\]
Si $E_1$ y $E_2$ son \textcolor{green}{independientes}, \textcolor{brown}{$\Pr[E_1\wedge E_2]=\Pr[E_1]\cdot\Pr[E_2]$}
\end{itemize}

\end{frame}
\begin{frame}

\begin{theorem}[Bayes]
Si $\Pr[E_2]>0$ entonces $\Pr[E_1|E_2] = \frac{\Pr[E_1]\cdot\Pr[E_2|E_1]}{\Pr[E_2]}$
\end{theorem}

\begin{proof}
\begin{align}
\nonumber \Pr[E_1|E_2] &= \frac{\Pr[E_1 \wedge E_2]}{\Pr[E_2]}\\
\nonumber &= \frac{\Pr[E_1]\cdot\Pr[E_2| E_1]}{\Pr[E_2]}
\end{align}
\end{proof}

Hemos usado probabilidad condicional 2 veces.

\end{frame}

\begin{frame}
\frametitle{Notaci\'on asint\'otica}
\begin{itemize}
\item $f(n)=O(g(n))$ si $\exists c,n'$ tales que $f(n)\leq c\cdot g(n)$ $\forall n\geq n'$.
\item $f(n)=\Omega(g(n))$ si $\exists c,n'$ tales que $f(n)\geq c\cdot g(n)$ $\forall n\geq n'$.
\item $f(n)=\Theta(g(n))$ si $f(n)=O(g(n))$ y $f(n)=\Omega(g(n))$

\item $f(n)= o(g(n))$ si $\lim_{n\rightarrow \infty} \frac{f(n)}{g(n)} = 0$ 

\item $f(n)= \omega(g(n))$ si $\lim_{n\rightarrow \infty} \frac{f(n)}{g(n)} = \infty$ 

\item $f(n) = \tilde{O}(g(n))$ si $f(n) = O(g(n)\cdot \log^c{g(n)})$ para alguna constante $c$.
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Funciones negligibles}

\begin{definition}
Una function 
\textcolor{brown}{$\mu:\mathbb{N}\rightarrow \mathbb{R}$} es 
\textcolor{brown}{negligible}
si $\forall \text{ polinomio }p(\cdot)$
\[
p(\cdot) \mu(n) < 1/p(n)
\]

para todo $n$ suficientemente grande.
(En otras palabras $\mu(n)=o(1/p(n))$ para todo polinomio $p(\cdot)$)
\end{definition}

\pause

Uso: Construiremos esuquemas criptogr\'aficos que aseguran que la probabilidad de
que el adversario ''lo quiebre`` es \textcolor{brown}{negligible}.


Propiedades: 

\begin{itemize}
\item negligible + negligible = negligible.

Podremos componer algunos esquemas

\item \textbf{negligible x polinomio = negligible}

Si repetimos el adversario $p(n)$ veces, entonces su ventaja es a lo m\'as
$p(n)\cdot\mu(n) = \mathsf{negl}(n)$
\end{itemize} 


\end{frame}

\begin{frame}
\frametitle{Cifradores antiguos}
\begin{itemize}
\item Cifrador del Cesar: Rotar alfabeto en 3 posiciones:
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
a & b & c & d & \dots & w & x & y & z\\
\hline
D & E & F & G & \dots & Z & A & B & C\\
\end{tabular}
Ejemplo: $\mathsf{Enc}$({\tt criptografia}) = {\tt GVMTXSKVEJME}
\pause

\item Cifrador de desplazamiento: Usar una \emph{llave} en vez de cosntante.
\[\mathsf{Enc}(k,X) = (X + k)\]
Ejercicio: Cual es la llave que descifra YNYYNIRRFGERPR
\pause
\item Cifrado mono-alfab\'etico: Cada letra es reemplazada por otra.
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
a & b & c & d & \dots & w & x & y & z\\
\hline
T & X & A & F & \dots & G & Y & S & R\\
\end{tabular}

?`Cu\'al es la llave en este esquema?
\pause
 \item Cifrador de Vign\`ere: Usar diferentes desplazamientos, luego repetir.
Ejemplo: Llave es 3 6 7 8. 
$\mathsf{Enc}(${\tt seguridad}$)=${\tt VKNCU\~NKIL}

Tarea: describir como quebrar este cifrador. 

Caso1:El largo de la llave es conocido.

Caso2:El largo de la llave es desconocido.

\end{itemize}
 
\end{frame}

\begin{frame}
\frametitle{Ahora criptograf\'ia \emph{en serio}!}
\begin{enumerate}
\item Principio de Kerckhoffs: Algoritmo \textcolor{green}{\emph{p\'ublico}}, llave \textcolor{red}{secreta}.
\item Seguridad demostrable: Teoremas y demostraciones.
\item $P=NP \Rightarrow $ no hay encriptaci\'on*.
  Adversario podr\'ia ``{\em adivinar}'' la llave y chequear que es la correcta.
\item Supuesto b\'asico: \textcolor{red}{$P\neq NP$}. Es una condici\'on necesaria, es suficiente? Problema abierto.
\begin{itemize}
\item Necesitamos problema NP-completo dif\'icil en el caso promedio.
NP-completitud es s\'olo an\'alisis de peor caso.
\end{itemize}
\item ?`Cu\'al condici\'on es suficiente?
\begin{itemize}
\item Depende para qu\'e.
\item Criptograf\'ia sim\'etrica: Funciones unidireccionales.
\item Criptograf\'ia asim\'etrica: Permutaciones con ``puerta trasera''.
\item Hay m\'as ....
\end{itemize}
\end{enumerate}
\end{frame}

\begin{frame}
\frametitle{Temario}
\begin{enumerate}
\item Seguridad Perfecta.
\item Criptograf\'ia sim\'etrica.
\begin{enumerate}
\item Definiciones.
\item Generadores pseudo aleatoreos y ``stream ciphers''.
\item Cifradores de Bloque. construcci\'on pr\'acticas (AES) y te\'orica.
\item Modos de operacion
\item Autenticaci\'on. MACs, HMAC, etc.
\end{enumerate}
\item Criptograf\'ia asim\'etrica.
\begin{enumerate}
\item Teor\'ia de n\'umeros.
\item Cifradores asim\'etricos: RSA, ElGamal, Rabin, Paillier.
\item Firmas digitales.
\end{enumerate}
\item Seguridad de redes
\begin{enumerate}
\item Infraestructura de clave p\'ublica.
\item TLS, IPSEC, DNSSEC, ...
\end{enumerate}
\item T\'opicos avanzados
\begin{enumerate}
\item Computaci\'on segura multipartita.
\item Protocolos de nula divulgaci\'on.
\item Cifradores homom\'orficos.
\item Cifradores funcionales: IBE, ABE, etc.
\item Obfuscadores de indistinguibilidad.
\end{enumerate}
\end{enumerate}
\end{frame}

\end{document}
