diff --git a/documentos_entregables/contenidos/antecedentes/bloques/modos/cbc.tex b/documentos_entregables/contenidos/antecedentes/bloques/modos/cbc.tex index 77c56a8708..5b39b488d3 100644 --- a/documentos_entregables/contenidos/antecedentes/bloques/modos/cbc.tex +++ b/documentos_entregables/contenidos/antecedentes/bloques/modos/cbc.tex @@ -45,7 +45,7 @@ \subsubsection{\textit{Cipher-block Chaining} (CBC)} \begin{pseudocodigo}[caption={Modo de operación CBC, cifrado.}, label={cbc:1}] entrada: llave $ L $; vector de inicialización $ VI $; bloques de mensaje $ B_1, B_2 \dots B_n $. - salida: bloques de mensaje cifrado $ Bc_1, Bc_2 \dots Bc_n $. + salida: bloques de mensaje cifrado $ Bc_1, Bc_2 \dots Bc_n $. inicio $Bc_0$ $\gets$ $ VI $ // El vector de inicialización para_todo $B$ // entra al primer bloque. @@ -58,7 +58,7 @@ \subsubsection{\textit{Cipher-block Chaining} (CBC)} \begin{pseudocodigo}[caption={Modo de operación CBC, descifrado.}, label={cbc:2}] entrada: llave $ L $; vector de inicialización $ VI $; bloques de mensaje cifrado $ Bc_1, Bc_2 \dots Bc_n $. - salida: bloques de mensaje original $ B_1, B_2 \dots B_n $. + salida: bloques de mensaje original $ B_1, B_2 \dots B_n $. inicio $Bc_0$ $\gets$ $ VI $ para_todo $Bc$ diff --git a/documentos_entregables/contenidos/antecedentes/bloques/modos/cfb.tex b/documentos_entregables/contenidos/antecedentes/bloques/modos/cfb.tex index 5613622b63..07b9c55907 100644 --- a/documentos_entregables/contenidos/antecedentes/bloques/modos/cfb.tex +++ b/documentos_entregables/contenidos/antecedentes/bloques/modos/cfb.tex @@ -47,7 +47,7 @@ \subsubsection{\textit{Cipher Feedback} (CFB)} \begin{pseudocodigo}[caption={Modo de operación CFB (cifrado y descifrado).}, label={cfb:1}] entrada: llave $ L $; vector de inicialización $ VI $; bloques de mensaje (cifrado o descifrado) $ B_1, B_2 \dots B_n $. - salida: bloques de mensaje (cifrado o descifrado) $ Bc_1, Bc_2 \dots Bc_n $. + salida: bloques de mensaje (cifrado o descifrado) $ Bc_1, Bc_2 \dots Bc_n $. inicio $Bc_0$ $\gets$ $ VI $ para_todo $B$ diff --git a/documentos_entregables/contenidos/antecedentes/bloques/modos/ecb.tex b/documentos_entregables/contenidos/antecedentes/bloques/modos/ecb.tex index 8477ac7237..5b63707ca6 100644 --- a/documentos_entregables/contenidos/antecedentes/bloques/modos/ecb.tex +++ b/documentos_entregables/contenidos/antecedentes/bloques/modos/ecb.tex @@ -33,7 +33,7 @@ \subsubsection{\textit{Electronic Codebook} (ECB)} \begin{pseudocodigo}[caption={Modo de operación ECB, cifrado.}] entrada: llave $ L $; bloques de mensaje $ B_1, B_2 \dots B_n $. - salida: bloques de mensaje cifrado $ Bc_1, Bc_2 \dots Bc_n $. + salida: bloques de mensaje cifrado $ Bc_1, Bc_2 \dots Bc_n $. inicio para_todo $B$ $Bc_i$ $\gets$ C($L$, $B_i$) @@ -44,7 +44,7 @@ \subsubsection{\textit{Electronic Codebook} (ECB)} \begin{pseudocodigo}[caption={Modo de operación ECB, descifrado.}] entrada: llave $ L $; bloques de mensaje cifrado $ Bc_1, Bc_2 \dots Bc_n $. - salida: bloques de mensaje original $ B_1, B_2 \dots B_n $. + salida: bloques de mensaje original $ B_1, B_2 \dots B_n $. inicio para_todo $Bc$ $B_i$ $\gets$ $C^{-1}$($L$, $Bc_i$) diff --git a/documentos_entregables/contenidos/antecedentes/bloques/modos/modos.tex b/documentos_entregables/contenidos/antecedentes/bloques/modos/modos.tex index 97da78a2a1..345227b54e 100644 --- a/documentos_entregables/contenidos/antecedentes/bloques/modos/modos.tex +++ b/documentos_entregables/contenidos/antecedentes/bloques/modos/modos.tex @@ -6,11 +6,13 @@ \subsection{Modos de operación} Por sí solos, los cifrados por bloques solamente permiten el cifrado y -descifrado de bloques de información de tamaño fijo. Para la mayoría de los -casos, menos de 256 bits\cite{modos_de_operacion}, lo cual es equivalente a -alrededor de 8 caracteres. Es fácil darse cuenta de que esta restricción no -es ningún tema menor: en la gran mayoría de las aplicaciones, la longitud de -lo que se quiere ocultar es arbitraria. +descifrado de bloques de información de tamaño fijo; donde, en la mayoría de +los casos, los bloques son de menos de 256 bits\cite{modos_de_operacion}, lo +cual es equivalente a alrededor de 8 caracteres. Es fácil darse cuenta de que +esta restricción no es ningún tema menor: en la gran mayoría de las +aplicaciones, la longitud de lo que se quiere ocultar es arbitraria. + +% TODO: formalizamos. Los modos de operación permiten extender la funcionalidad de los cifrados por bloques para poder aplicarlos a información de tamaño irrestricto. Formalizamos @@ -37,6 +39,8 @@ \subsection{Modos de operación} $ Tc $ son el texto original y el texto cifrado, respectivamente, y ambos son de longitud arbitraria: $ T, Tc \in \{0, 1\}^* $. +% TODO: presentamos x2. + Un primer enfoque (y quizás el más intuitivo) es partir el mensaje original en bloques del tamaño requerido y después aplicar el algoritmo a cada bloque por separado; en caso de que la longitud del mensaje no sea múltiplo del diff --git a/documentos_entregables/contenidos/antecedentes/bloques/modos/ofb.tex b/documentos_entregables/contenidos/antecedentes/bloques/modos/ofb.tex index c9eac9c606..3b3b0ad74c 100644 --- a/documentos_entregables/contenidos/antecedentes/bloques/modos/ofb.tex +++ b/documentos_entregables/contenidos/antecedentes/bloques/modos/ofb.tex @@ -5,9 +5,9 @@ \subsubsection{\textit{Output Feedback} (OFB)} -Este es muy similar al anterior (CFB), salvo porque la retroalimentación va +Este modo es muy similar al anterior (CFB), salvo que la retroalimentación va directamente de la salida del cifrador a bloques. De esta forma, nada que -tenga que ver con el texto en claro, llega al cifrado a bloques; este +tenga que ver con el texto en claro llega al cifrado a bloques; este solamente se la pasa cifrando una y otra vez el vector de inicialización. \begin{figure}[H] @@ -32,7 +32,7 @@ \subsubsection{\textit{Output Feedback} (OFB)} \begin{pseudocodigo}[caption={Modo de operación OFB (cifrado y descifrado).}] entrada: llave $ L $; vector de inicialización $ VI $; bloques de mensaje (cifrado o descifrado) $ B_1, B_2 \dots B_n $. - salida: bloques de mensaje (cifrado o descifrado) $ Bc_1, Bc_2 \dots Bc_n $. + salida: bloques de mensaje (cifrado o descifrado) $ Bc_1, Bc_2 \dots Bc_n $. inicio auxiliar $\gets$ $ VI $ para_todo $B$ diff --git a/documentos_entregables/documento_final.pdf b/documentos_entregables/documento_final.pdf index 02e56d82ac..ddb58c3fe4 100644 Binary files a/documentos_entregables/documento_final.pdf and b/documentos_entregables/documento_final.pdf differ