next up previous contents
Siguiente: Data Encryption Standard (DES) Un nivel arriba: Introducción a criptografía y Anterior: Características criptográficas

Encriptamiento por bloques

Dado un mensaje $\mbox{\bf m}=\left(a_i\right)_{i\leq m}$, se parte en bloques $\mbox{\bf m}_i=\left(a_{(i-1)k+j}\right)_{j\leq k}$, donde k|n. Se encripta cada bloque para obtener el cifrado $\mbox{\bf c}_i=E_{\mbox{\scriptsize\it Llave}}(\mbox{\bf m}_i)$ y el cifrado de todo el mensaje es: $\mbox{\bf c}=\left(\mbox{\bf c}_i\right)_{i\leq \frac{m}{k}}$. Hay esencialmente dos tipos de encriptamiento de bloques:
de ráfaga:
En cada bloque i se usa una llave distinta y los cifrados anteriores: $\mbox{\bf c}_i=E_{i,\mbox{\scriptsize\it Llave}_i}(\mbox{\bf m}_i,\mbox{\bf c}_{i-1})$. Permite bloques pequeños. Hay varios modos de operación:
1.
En el modo de encadenamiento de bloques cifrados (cipher block chaining mode (CBC)) se toma como $E_{\mbox{\scriptsize\it Llave}}$ una permutación (la llave se mantiene constante) y

\begin{displaymath}\mbox{\bf c}_i=E_{\mbox{\scriptsize\it Llave}}(\mbox{\bf m}_i\oplus \mbox{\bf c}_{i-1})\end{displaymath}

donde $\mbox{\bf c}_0$ es un texto inicial. El mensaje se recupera haciendo

\begin{displaymath}\mbox{\bf m}_i=D_{\mbox{\scriptsize\it Llave}}(\mbox{\bf c}_i...
...ox{\scriptsize\it Llave}}=E_{\mbox{\scriptsize\it Llave}}^{-1}.\end{displaymath}

2.
En el modo de retroalimentación con salida (output feedback mode (OFB)) se toma como $E_{\mbox{\scriptsize\it Llave}}$ una permutación (la llave se mantiene constante) y se hace

\begin{displaymath}\mbox{\bf v}_{i}=E_{\mbox{\scriptsize\it Llave}}(\mbox{\bf v}...
...x{\scriptsize\it Llave}}(\mbox{\bf m}_i\oplus \mbox{\bf v}_{i})\end{displaymath}

donde $\mbox{\bf v}_0$ es una semilla inicial. El mensaje se recupera haciendo

\begin{displaymath}\mbox{\bf m}_i=D_{\mbox{\scriptsize\it Llave}}(\mbox{\bf c}_i\oplus \mbox{\bf v}_{i}).\end{displaymath}

3.
En el modo de retroalimentación con cifrado (cipher feedback mode (OFB)),

\begin{displaymath}\mbox{\bf c}_i=\mbox{\bf m}_i\oplus E_{\mbox{\scriptsize\it Llave}}(\mbox{\bf c}_{i-1})\end{displaymath}

donde $\mbox{\bf c}_0$ es un texto inicial. El mensaje se recupera haciendo

\begin{displaymath}\mbox{\bf m}_i=\mbox{\bf c}_i\oplus E_{\mbox{\scriptsize\it Llave}}(\mbox{\bf c}_{i-1}).\end{displaymath}

uniforme:
En cada bloque i se utiliza una misma función y una misma llave: $\mbox{\bf c}_i=E_{\mbox{\scriptsize\it Llave}}(\mbox{\bf m}_i)$. Aquí se tiene el modo de código de libro electrónico (electronic code book mode (ECB)). La característica principal es que:

\begin{displaymath}\forall i, j:\ \ \mbox{\bf c}_i=\mbox{\bf c}_j\ \Leftrightarrow\ \ \mbox{\bf m}_i=\mbox{\bf m}_j.\end{displaymath}


next up previous contents
Siguiente: Data Encryption Standard (DES) Un nivel arriba: Introducción a criptografía y Anterior: Características criptográficas
Guillermo Morales-Luna
2000-10-29