\documentclass{article}

\usepackage[spanish]{babel}
\usepackage{graphics}
\usepackage{epsfig}
%\usepackage{amssymb}
\usepackage{eepic}
\usepackage{rotating}

\textwidth=6in
\oddsidemargin=0.25in
\evensidemargin=0.25in
\topmargin=-0.1in
\footskip=0.8in
\parindent=0.0cm
\parskip=0.3cm
\textheight=8.00in
\setcounter{tocdepth} {3}
\setcounter{secnumdepth} {2}
\newtheorem{theorem}{Teorema}
\newtheorem{exercise}{Ejercicio}
\newtheorem{corollary}{Corolario}
\newtheorem{lemma}{Lema}
\newtheorem{observation}{Observaci\'on}
\newtheorem{comentary}{Comentario}
\newtheorem{proposition}{Proposici\'on}
\newtheorem{definition}{Definici\'on}
\def\squarebox#1{\hbox to #1{\hfill\vbox to #1{\vfill}}}
\newcommand{\qedbox}{\vbox{\hrule\hbox{\vrule\squarebox{.667em}\vrule}\hrule}}
\newcommand{\qed}{\nopagebreak\mbox{}\hfill\qedbox\smallskip}
%\newcommand{\startproof}{\noindent{\em Dem:}\hspace{1em}}
\newenvironment{proof}{\noindent\par{\bf Dem:}\ }{\(\qed\) \par\medskip}
%\newenvironment{dem}{\startproof}{\qed}


\newcommand{\catedra}[4]{
   \pagestyle{headings}
   \thispagestyle{plain}
   \newpage
   \noindent
   \begin{center}
   \makebox[0in]{\framebox{
      \vbox{
    \hbox to 6in { {\bf MA-53G Intr. a la Criptograf\'{\i}a
                        \hfill Semestre Oto\~no, 1998}  }
       \vspace{4mm}
       \hbox to 6in { {\Large \hfill C\'atedra No.~{#1} : #2 \hfill} }
       \vspace{2mm}
       \hbox to 6in { {\it Transcriptor: #3 \hfill} }
      }
   }}
   \end{center}
   \markboth{C\'atedra No. #1 : #2}{C\'atedra No. #1 : #2}
   \vspace*{4mm}
}

% LISTA DE MACROS PERSONALES COMIENZA AQUI

\newcommand{\ie}{{\em i.e.}}
\newcommand{\plain}{{\cal P}}
\newcommand{\cipher}{{\cal C}}
\newcommand{\key}{{\cal K}}
\newcommand{\encrip}{{\cal E}}
\newcommand{\decrip}{{\cal D}}

\newcommand{\modulo}{{\cal Z}}
\newcommand{\kernel}{\mbox{Ker}}
\newcommand{\determ}[1]{\mbox{det}(#1)}
\newcommand{\mcd}[2]{\mathrm{mcd}(#1,#2)}
\newcommand{\mcm}[2]{\mathrm{mcm}(#1,#2)}
\newcommand{\set}[2]{\{#1\,|\,#2\}}
\newcommand{\smidge}{{\kern .05em}}	
\newcommand{\Colon}{{\smidge\colon\;\:}}

\newcommand{\chapref}[1]{\mbox{Capitulo~\ref{#1}}}
\newcommand{\secref}[1]{\mbox{Secci\'on~\ref{#1}}}
\newcommand{\ssecref}[1]{\mbox{Secci\'on~\ref{#1}}}
\newcommand{\apref}[1]{\mbox{Ap\'endice~\ref{#1}}}
\newcommand{\thref}[1]{\mbox{Teorema~\ref{#1}}}
\newcommand{\defref}[1]{\mbox{Definici\'on~\ref{#1}}}
\newcommand{\corref}[1]{\mbox{Corolario~\ref{#1}}}
\newcommand{\lemref}[1]{\mbox{Lema~\ref{#1}}}
\newcommand{\propref}[1]{\mbox{Proposici\'on~\ref{#1}}}
\newcommand{\figref}[1]{\mbox{Figura~\ref{#1}}}
\newcommand{\tablref}[1]{\mbox{Tabla~\ref{#1}}}
\newcommand{\eqref}[1]{\mbox{(\ref{#1})}}
\newcommand{\ineqref}[1]{\mbox{(\ref{#1})}}
\newcommand{\comref}[1]{\mbox{Comentario~\ref{#1}}}


\begin{document}

% LOS DATOS IDENTIFICATORIOS DE LA CATEDRA TRANSCRITA VAN AQUI

% (modificar los parametros en invocacion de la siguiente macro:
%	primer parametro: No. de catedra transcrita
%	segundo parametro: fecha de catedra transcrita
%	tercer parametro: Nombre del transcriptor

% En caso que la transcripcion no este basada en una transcripcion de
% an~os antriores usar:
%\catedra{2}{16 de Marzo}{Marcos Kiwi}

% En caso que la transcripcion ESTE basada en una transcripcion de 
% an~os anteriores usar: 
\catedra{2}{17 de Marzo}{Rodrigo Meza\footnotemark}

\footnotetext{Estos apuntes est\'an basados en la transcripci\'on de Marcos Kiwi (6/8/96)}

% TRANSCRIPCION DE LA CATEDRA COMIENZA AQUI
 
La seguridad de un criptosistema radica, en parte, en el tama\~no del 
  conjunto de claves $\key$.
Si la cardinalidad de $\key$ es demasiado peque\~na entonces es posible
  ciclar sobre todo el conjunto  y determinar $d_{K}(y)$ para todas las claves
  $K\in \key$.
Muchas veces, por contexto, podemos determinar cual texto puro $d_{K}(y)$
  es el \'unico que tiene sentido.  
A continuaci\'on determinaremos $|\key|$ para el cifrado af\'{\i}n.
\begin{definition}
El n\'umero de enteros en $\modulo_{m}$ que son relativamente primos
  a $m$ es $\phi(m)$ donde $\phi$ es la funci\'on-phi de Euler.
\end{definition} 
M\'as adelante probaremos que la funci\'on-phi de Euler es 
  multiplicativa, es decir, 
\begin{proposition}
  $\phi(m\,n) =\phi(m)\,\phi(n)$,
  si $m, n$ son enteros positivos relativamente primos.
\end{proposition}

Luego podemos concluir el siguiente 
\begin{lemma}
Si $m$ es tal que $\displaystyle m = \prod_{i=1}^{n} p_{i}^{e_{i}}$,
  donde los $p_{i}$ son n\'umeros primos distintos, y los $e_{i}$ son
  enteros positivos, entonces
\begin{eqnarray*}
\phi(m) & = & \prod_{i=1}^{n} ( p_{i}^{e_{i}}-p_{i}^{e_{i}-1})\,.
\end{eqnarray*}
\end{lemma}
\begin{proof}
Por la propiedad multiplicativa de $\phi$ sigue que 
  $\displaystyle \phi(m) = \prod_{i=1}^{n} \phi(p_{i}^{e_{i}})$.
Pero si $p$ es primo, y $e$ es un entero positivo es f\'acil ver
  que los \'unicos n\'umeros en $\{1,\ldots, p^{e}-1\}$ que no son
  primos relativos con $p^{e}$ son $1$ y los m\'ultiplos de $p$, de los 
  cuales hay $p^{e-1}$.
Luego, $\phi(p^{e})=p^{e}-p^{e-1}$, de donde se conluye el
 resultado buscado.
\end{proof}
Luego, el n\'umero de claves del cifrado af\'{\i}n conocido \emph{m} es
  $(m\,\phi(m))$.
Observar que conocida la fac\-to\-ri\-za\-ci\'on de $m$ es f\'acil calcular
  $\phi(m)$.
De hecho no se conoce un algoritmo eficiente para determinar 
  $\phi(m)$ desconocida la factorizaci\'on de $m$.
El siguiente resultado sugiere que de existir dicho algoritmo no 
  va a ser f\'acil encontrarlo.
\begin{proposition}
Si $m$ es el producto de dos primos $p$ y $q$ distintos, entonces 
  la determinaci\'on de $p$ y $q$ es equivalente a la determinaci\'on 
  de $\phi(m)$.
M\'as precisamente, uno puede calcular eficientemente $\phi(m)$
  conocidos $p$ y $q$, y conocido $\phi(m)$ se puede determinar 
  eficientemente $p$ y $q$.
\end{proposition} 

\begin{proof} 
Por el lema antes visto, sabemos que
\begin{eqnarray*}
\phi(m) & = & (p-1)(q-1)\\
		& =	& pq-p-q+1.\\
\end{eqnarray*}

Luego, conocidos $p$ y $q$ se puede calcular $\phi(m)$ con un costo
esencialmente equivalente al de multiplicar $p$ y $q$.\\

Por otro lado:\\
\begin{eqnarray*}
p+q  & = & m-\phi(m)+1 \\
pq & = & m.\\
\end{eqnarray*}

 De la misma forma,  $p$ y $q$ se pueden calcular conociendo $\phi(m)$ y $m$
con un costo similar al c\'alculo de una ra'iz cuadrada. Este c\'alculo es la
operaci\'on m\'as costosa y domina el tiempo involucrado en la ejecuci\'on
de las otras operaciones requeridas.

\end{proof}

\section{Criptosistemas Poli-alfab\'eticos}
%
En estos criptosistemas cada caracter alfab\'etico del que esta compuesto el 
  texto puro puede ser encriptado de distintas maneras.\\ 
%En general criptoanalisar este tipo de criptosistemas es m\'as 
%  dificil que criptanalisar cifrados mono-alfab\'eticos.

\subsection{Cifrado de Hill}
%
En este caso $\key$ est\'a definido sobre el conjunto de matrices invertibles de $n\times n$ 
  cuyas coordenadas estan en $\modulo_{m}$, es decir,
\begin{eqnarray*}
%%$\plain = \cipher = (\modulo_{m})^{n}$, y
\key & = & \set{(n,m,A)}{ n,m \in N^{*}\;y\; A\in M_{n}(\modulo{m})}\,.
\end{eqnarray*}
y para $k=(n,m,A)$ se cumple que $\plain_{k} = \cipher_{k}=(\modulo{m})^{n}$.\\
Adem\'as, para todo $x\in \plain$, $y\in \cipher$
\begin{eqnarray*}
e_{k}(x) & = & Ax, \\
d_{k}(y) & = & A^{-1}y\,.
\end{eqnarray*}
donde todas las operaciones se realizan sobre $\modulo_{m}$.

Tipicamente $m=27$, $j\in \modulo_{m}$ representa la $j$-\'esima
  letra del alfabeto (es decir $0$ representa $A$, $1$ representa $B$,
  etc.), y cada elemento de $\plain$ representa una secuencia de 
  $n$ letras.

Ponemos t\'ermino a esta secci\'on dando algunas caracterizaciones
  equivalentes de invertibilidad.
\begin{proposition} Sea $A\in M_{n}(\modulo_{m})$, las siguientes 
afirmaciones son equivalentes:
\begin{itemize}
\item $\mcd{\determ{A}}{m}=1$,
\item $A$ es invertible,
\item la transformaci\'on que a  $x\in (\modulo_{m})^{n}$ le 
  asocia  $A\,x\in (\modulo_{m})^{n}$ es inyectiva.
\item si $x\in (\modulo_{m})^{n}$ es tal que $x \neq \vec{0}$ entonces
  $A\,x\neq \vec{0}$,
\end{itemize}
\end{proposition}
\begin{proof}
Si $D=\mcd{\determ{A}}{m}=1$, entonces $D$ tiene inverso multiplicativo
  en $\modulo_{m}$ y la inversa de la matriz $A$ exise y est\'a dada por
  $B\in M_{n}(\modulo_{m})$ tal que 
  $B_{j,i} = D^{-1}\,(-1)^{i+j}\,\determ{A_{i,j}}$
  (observar que los \'{\i}ndices se invierten), y donde
  $A_{i,j}\in M_{n-1}(\modulo_{m})$ es la matriz que se obtiene de 
  $A$ al eliminar la $i$-\'esima fila y la $j$-\'esima columna.

Si $A$ es invertible entonces $A\Colon  (\modulo_{m})^{n} \to 
   (\modulo_{m})^{n}$ es una biyecci\'on, en particular es
   inyectiva.

Si $A\Colon  (\modulo_{m})^{n} \to (\modulo_{m})^{n}$ es inyectiva
  entonces, de un resultado b\'asico del \'algebra lineal,
  se tiene que 
  $\ker(A)=\set{x\in \modulo_{m}}{Ax=0}
	=\{(0,\ldots,0)\}\subseteq (\modulo_{m})^{n}$.

Demostraremos que la \'ultima afirmaci\'on implica la primera
  para el caso en que $n=2$. 
La ge\-ne\-ra\-li\-za\-ci\'on es directa pero tediosa.
Sea entonces 
\begin{eqnarray*}
A & = & \left( \begin{array}{cc} a & b \\ c & d \end{array}\right)\,.
\end{eqnarray*}
Supongamos que $D=\det{A}$ y $m$ no son primos relativos, i.e.
  $d=\mcd{D}{m}>1$.
Sea $m^{\prime}=m/{d}^{\prime}$.
La demostraci\'on se descompone en tres casos. 
(En lo que sigue todas las operaciones aritm\'eticas son sobre 
  $\modulo_{m}$.)
  \newline
{\bf Caso 1:} \ Si todas las componentes de $A$ son divisibles por 
  $d^{\prime}$ y 
  $x=\left(\begin{array}{c}m^{\prime} \\ m^{\prime}\end{array}\right)$ 
  sigue que $Ax=0$ lo que constituye una contradicci\'on. \newline
{\bf Caso 2:} \ Si $a$ y $b$ no son ambos divisibles por $d$. 
  Haciendo
  $x=\left(\begin{array}{c}-bm^{\prime} \\ am^{\prime}\end{array}\right)$ 
  y dado que $D=ac-bd$ sigue que 
  $Ax=\left(\begin{array}{c} 0 \\ Dm^{\prime}\end{array}\right)$, 
  contradicci\'on. \newline
{\bf Caso 3:} \ Si $c$ y $d$ no son ambos divisibles por $d^{\prime}$ se procede
  como en el caso anterior. \newline
\end{proof}
\section{Cifrados de Flujo}
%
En los criptosistemas que hemos estudiado hasta ahora, hemos encriptado
  el texto puro utilizando la misma clave $K$ de forma que
  el texto cifrado $y=y_{1}y_{2}\ldots= e_{K}(x_{1})e_{K}(x_{2})\ldots$.
Los criptosistemas que se obtienen utilizando esta forma de encriptar
  se conocen como \emph{cifrados en bloque}.\footnote{\ {\it Block chiphers}.}\\

En este curso nos remitiremos principalmente al estudio de este tipo
  de criptosistemas.  Sin embargo hay otras alternativas. Por completitud
discutiremos una de ellas en esta secci\'on: los \emph{cifrados de flujo}.\footnote{\ {\it Stream ciphers}.}

La idea b\'asica de este tipo de cifrados es generar una secuencia de 
  claves $K=z_{1}z_{2}\ldots$, y usarla para encriptar el texto puro
  $x=x_{1}x_{2}\ldots$, como sigue:

\begin{eqnarray*}
y \; = \; y_{1}y_{2}\ldots & = & e_{z_1}(x_{1})e_{z_2}(x_{2})\ldots
\end{eqnarray*}
Formalmente,
\begin{definition}
Un cifrado de flujo es una tupla $(\plain, \cipher, \key, {\cal L}, 
  {\cal F}, \encrip, \decrip)$
  tal que:
\begin{itemize}
\item $\plain$ es un conjunto de posibles textos puros.

\item $\cipher$ es un conjunto de posibles textos cifrados.

\item $\key$ es un conjunto de posibles claves.

\item ${\cal L}$ es un conjunto denominado alfabeto de claves de flujo.

\item ${\cal F}=(f_{1},f_{2},\ldots)$ es tal que $\forall\,i\geq 1$,
  $f_{i}\Colon \key\times \plain^{i-1} \to {\cal L}$.

\item Para cada  $z\in {\cal L}$, hay una \emph{funci\'on de
  encripci\'on} $e_{z}\in \encrip$ y una correspondiente
  \emph{funci\'on de decripci\'on} $d_{z}\in \decrip$, donde
  $e_{z}\Colon \plain \to \cipher$, $d_{z}\Colon \cipher \to \plain$ y 
  $d_{z}(e_{z}(x))=x$, cualquiera sea $x\in \plain$.
\end{itemize}
\end{definition}
A continuaci\'on discutimos la forma en que Alicia y Roberto emplean un 
  crip\-to\-sis\-te\-ma como el anterior. 
\begin{figure}
\begin{center}
\input{c2-f1}
\end{center}
\caption{M\'etodo de encripci\'on por cifrado de flujo.}
\end{figure}

Primero eligen una clave $K\in \key$ (cuando no pueden ser observados
  por Eva).
M\'as tarde, cuando Alicia quiere enviar a Roberto el texto
  puro $x=x_{1}x_{2}\ldots$,  $x_{i}\in \plain$, $i=1,2,\ldots$,
  esta determina $z_{i}=f_{i}(K,x_{1},\ldots,x_{i-1})$, 
  y env\'{\i}a $y_{i}=e_{z_{i}}(x_{i})$.
En general, Alicia determinar\'a $z_{1},y_{1},z_{2},y_{2},\ldots$
  secuencialmente.
(Es importante notar, que la encripci\'on de $x_{i}$ depende no s\'olo
  de $K$ sino que tambi\'en de $x_{1}x_{2}\ldots x_{i-1}$.)
Una vez que Roberto recibe el texto cifrado $y=y_{1}y_{2}\ldots$, 
  este obtiene el texto puro calculando secuencialmente 
  $z_{1},x_{1},z_{2},x_{2},\ldots$ determinando primero
  $z_{i}=f_{i}(K,x_{1},\ldots,x_{i-1})$ y luego $x_{i}=d_{z_{i}}(y_{i})$.

Claramente, los cifrados en bloque son un caso especial de los cifrados 
  de flujo donde $z_{i}=K$, para todo $i\geq 1$.

La utilidad de los cifrados de flujo radica en que usualmente se
  pueden implementar a nivel de hardware en forma muy eficiente.

Veamos un ejemplo de este tipo de cifrados. 
Consideremos $\plain = \cipher = {\cal L} = \modulo_{2}$ \newline y 
  $\key = (\modulo_{2})^{m}\setminus \{(0,\ldots,0)\}$.
Supongamos que 
  comenzamos con $K=(z_{1},\ldots,z_{m})\in \key$ y
  hacemos que
\begin{eqnarray*}
z_{i+m} & = & (\sum_{j=0}^{m-1} c_{j}\,z_{i+j}) \bmod 2\,,
\end{eqnarray*}
donde $c_{0},\ldots,c_{m-1}\in \modulo_{2}$ estan fijos. 
Finalmente hacemos
\begin{eqnarray*}
e_{z}(x) & = & (x+z)\bmod 2\,, \\
d_{z}(y) & = & (y-z)\bmod 2\,.
\end{eqnarray*}

M\'as adelante en el curso, 
  cuando estudiemos DES ({\it Data Encryption Standard}), 
  veremos otros ejemplos del tipo de encripci\'on discutido
  en esta secci\'on.


\section {Algunos otros m\'etodos}
Los m\'etodos de encriptaci\'on monoalfab\'eticos han sido bastamente usados a
trav\'es de la historia. Al finalizar esta secci\'on, queremos entregar algunas
de las t\'ecnicas criptogr\'aficas monoalfab\'eticas m\'as usadas.\\

\subsection{Cifrado de Cesar}
	Esta es una de las t\'ecnicas monoalfab\'eticas m\'as simples. Debe su nombre a Julio Cesar
 de quien se dice la ocupaba para escribir a sus colaboradores m\'as
cercanos. El m\'etodo es simple, y consiste en que cada letra del alfabeto
es reemplazada por la letra ubicada a tres espacios m\'as adelante en el
alfabeto en el alfabeto, y donde el alfabeto se considera circular, es decir, las letras $x$, $y$ y $z$ se codifican 
como $a$, $b$ y $c$ respectivamente. Esta t\'ecnica corresponde a los llamados cifrados
por corrimiento ya analizados, usando como constantes $a=3\, , m=26$.\\
	En la literatura se puede encontrar que a los cifrados por corrimiento
en general se les llama tambi\'en cifrados de Cesar.\\

\subsection{Atbash} 

El cifrado Atbash es otra t\'ecnica monoalfab\'etica. Tiene origen jud'io y
consiste en invertir el orden de las letras en el abecedario. De esta forma, la \emph{Z}
representa a la \emph{A}, la \emph{Y} reemplaza a la \emph{B}, etc\'etera.
La tabla de reemplazos es la siguiente:\\

\begin{tabbing}-----------------------------\=---\=---\=---\=---\=---\=---\=---\=---\=---\=---\=---\=---\=\kill\\
\>A\>B\>C\>D\>E\>F\>G\>H\>I\>J\>K\>L\>M\\
\>Z\>Y\>X\>W\>V\>U\>T\>S\>R\>Q\>P\>O\>N\\
\end{tabbing}
	El Atbash es a\'un m\'as sencillo de descifrar que los criptosistemas por
corrimiento, pues existe s\'olo una soluci\'on a intentar.\\

\subsection{Playfair}
	 A diferencia de los sistemas que ya hemos visto, el \emph{Play fair}
es un criptosistema poli-alfab\'etico.\\
	La forma en que trabaja consiste en generar una matriz $M \in
M_{55}$ con las letras del abecedario. como las letras son 26, la i y
la j se ponen juntas, pues el contexto nos es suficiente para determinar
cual usar.\\

	La forma de generar esta matriz puede variar. Una de las m\'as conocidas es
generarla a partir de una palabra clave, y luego poner las letras
resultantes en forma horizontal, eliminando las
repeticiones y poner las letras restantes bajo ella. Por ejemplo, usando la
palabra \emph{computador}, tenemos lo siguiente:
\begin{tabbing}----------------------------\=----\=----\=----\=----\=----\=----\=----\=----\=\kill\\
\>			C\>O\>M\>P\>U\>T\>A\>D\>R\\
\>			B\>E\>F\>G\>H\>I\>K\>L\>N\\
\>			Q\>S\>V\>W\>X\>Y\>Z\>-\>-\\
\end{tabbing}

Luego, se leen las letras por columnas y se genera la matriz.\\
\begin{tabbing}----------------------------\=----\=----\=----\=----\=----\=----\=----\=----\=\kill\\
\>			C  \>B  \>Q  \>O  \>E  \\
\>			S  \>M  \>F  \>V  \>P\\
\>			G  \>W  \>U  \>H  \>X\\
\>			T  \>IJ \>Y  \>A  \>K\\
\>			Z  \>D  \>L  \>R  \>N\\
\end{tabbing}


Para codificar cualquier texto, es necesario separarlo en grupos de dos
caracteres. Luego, para cada par de letras,  se considera la submatriz que
contiene ambas letras como v\'ertices y en un orden predeterminado, se
escriben las otras letras que son v\'ertices de esta submatriz.\\
Por ejemplo, para codificar el par de letras \emph{hm}, se codifica como \emph{wv},
pues son los v\'ertices opuestos en la submatriz que forman.\\

\subsection{El caso de los bailarines}
	Entre los cifrados por sustituci\'on de s'imbolos existen muchis'imos. En la
literatura se pueden encontrar algunos famosos, como en ''el caso de los
danzarines'' donde Allan Poe pone a su personaje Sherlock Holmes en el
dilema de descifrar la correspondencia entre cada bailar'in como los de la
 \figref{fig:bailarines} y los caracteres del alfabeto. En general este y
todos los cifrados de sustituci\'on monoalfab\'eticos tienen la desventaja de
ser muy f\'aciles de decriptar, analizando la frecuencia de los signos y
asoci\'andola a las letras del alfabeto.\\
\begin{figure}\label{fig:bailarines}
\scalebox{0.8}{\includegraphics{c2-f2.eps}}
\caption{Algunos de los bailarines del cuento de Edgard Allan Poe}
\end{figure}

\section {Quebrando los c\'odigos cl'asicos}
En general los c\'odigos cl'asicos como los que aqu'i hemos descrito, han sido
bastamente analizados, y es as'i como los m\'etodos para quebrarlos estan bastante bien
descritos en la literatura.\\
Las t\'ecnicas se basan fundamentalmente en:\\
\begin{itemize}
\item Como en general los criptosistemas monoalfab\'eticos se basan en claves
con $|\cal{K}|$ muy peque'no, es f\'acil iterar sobre todas las llaves posibles
y bas\'andose en el contexto, decidir cual es la clave utilizada. \\
\item Otro m'etodo un poco m'as elaborado consiste en, teniendo una gran
cantidad de texto cifrado, analizar la frecuencia de cada uno de los
caracteres que en el aparecen. Los lenguajes guardan una frecuencia por cada
letra muy precisa, y por lo tanto basta asociar cada letra con la frecuencia
correspondiente, y obtendremos el texto puro.\\
Este m\'etodo es aplicable a todos los sistemas de sustituci\'on, e incluso a
algunos de cifrado por bloque, como el Play Fair, ya que las frecuencias de
pares de letras tambi\'en se encuentran tabuladas.\\

En las tablas 1 y 2 se puede apreciar la distribuci\'on de frecuencias de
caracteres para los idiomas ingles y espa'nol respectivamente.\\

\end{itemize}



 \begin{table}
\begin{center}
\begin{tabular}{||c|c||c|c||c|c||c|c||}\hline\hline
a& 7.81& h &5.85& o & 8.21 & v &  1.00 \\\hline

b& 1.28 &i& 6.77 &p& 2.15 &w& 1.49\\\hline

c&2.93 &j &0.23 &q& 0.14 &x& 0.30 \\\hline

d&4.11 &k &0.42 &r& 6.64 &y& 1.51 \\\hline

e&13.05 &l& 3.60 &s &6.46 &z& 0.09 \\\hline

f&2.88 &m& 2.62& t& 9.02  &&\\\hline
g& 1.39 &n& 7.28 &u& 2.77 &&\\\hline\hline
\end{tabular}
\caption{Distribuci\'on de frecuencia (en porcentajes) de las letras en el idioma ingl\'es}
\end{center}
\end{table}

\begin{table}
\begin{center}
\begin{tabular}{||c|c||c|c||c|c||c|c||}\hline\hline
a& 13& h &1.2& 'n & 0.2 & u &  4.3 \\\hline

b& 1.6 &i& 6.3 &o& 9.6 &v& 1.1\\\hline

c&4 &j &0.6 &p& 2.6 &w& 0.01 \\\hline

d&4.3 &k &0.3 &q&  1.1 &x& 0.2 \\\hline

e&13.3 &l& 5.3 &r &6.0 &y& 1.2 \\\hline

f&0.5 &m& 3.9& s& 7.2  &z&0.4\\\hline
g& 1.1 &n& 6.6 &t& 4.3 &&\\\hline\hline
\end{tabular}
\end{center}
 \caption{Distribuci\'on de frecuencia (en porcentajes) de las letras en el idioma espa'nol}
 \end{table}



\end{document}








