lunes, 23 de noviembre de 2015

Tipós básicos de algoritmos de encriptación

Según la forma en la que operan los algoritmos de cifrado o descifrado, es posible distinguir varios tipos:

-Cifrado en flujo: En estos algoritmos el cifrado se realiza bit a bit. Están basados en la utilización de claves muy largas que son utilizadas tanto para cifrar como para descifrar. Estas claves pueden estar predeterminadas (libreta de un solo uso) o generarse usando un generador de claves pseudoaleatorias o RKG (acrónimo del inglés random key generator), que genera una secuencia binaria pseudoaleatoria a partir de una clave de inicialización K. A veces, en el cálculo de la clave pseudoaleatoria también interviene el mensaje cifrado hasta ese momento. Por otra parte, el cifrador propiamente dicho: habitualmente en este tipo de algoritmos hay que mantener en secreto tanto la clave como el cifrador.


-Cifrado por bloques: En este tipo de algoritmos, el cifrado se realiza bloque a bloque. En primera instancia, se descompone el mensaje en bloques de la misma longitud. A continuación, cada bloque se va convirtiendo en un bloque del mensaje cifrado mediante una secuencia de operaciones. Ejemplos típicos de operaciones realizadas para conseguir cada mensaje cifrado son la sustitución y la permutación (cifrado por transposición) de elementos.

Este tipo de algoritmos pueden ser tanto de clave simétrica como de clave asimétrica. Sin embargo, en la bibliografía suele haber confusión y es frecuente ver casos en que se refieren sólo a algoritmos de clave simétrica. (Hurtado Cabrera, Tipos básicos de algoritmos de encriptación., 2015)