1. Antiguos
1.1. Cesar
1.1.1. Es un tipo de cifrado por sustitución en el que una letra en el texto original es reemplazada por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto. Por ejemplo, con un desplazamiento de 3, la A sería sustituida por la D
1.2. Afin
1.2.1. Es un tipo de cifrado por sustitución en el que cada símbolo del alfabeto en claro es sustituido por un símbolo del alfabeto cifrado siendo el número de símbolos del alfabeto en claro igual que el número de símbolos del alfabeto cifrado.
1.3. Polibio
1.3.1. Se trata de un algoritmo trivial, donde cada letra del alfabeto es reemplazada por las coordenadas de su posición en un cuadrado. Es un caso particular de transposición mono-alfabética. Este tipo de código no resiste a un análisis de frecuencias.
1.4. Playfair
1.4.1. Es un ejemplo de sustitución digrámica, donde un par de letras de un texto en claro se convierten en otro par distinto, para de esta forma codificar información que no deseamos sea leída.
1.5. HILL
1.5.1. Este sistema es polialfabético pues puede darse que un mismo caracter en un mensaje a enviar se encripte en dos caracteres distintos en el mensaje encriptado.
1.6. PigPen
1.6.1. El cifrado francmasón es un cifrado por sustitución simple que cambia las letras por símbolos basándose en un diagrama. Sin embargo, el uso de símbolos no impide el criptoanálisis, y el criptoanálisis es idéntico al de otros métodos de cifrado por substitución simple.
1.7. Vernam
1.7.1. Es un cifrado de flujo en el que el texto en claro se combina, mediante la operación XOR, con un flujo de datos aleatorio o pseudoaleatorio del mismo tamaño, para generar un texto cifrado. El uso de datos pseudoaleatorios generados por un generador de números pseudoaleatorios criptográficamente seguro es una manera común y efectiva de construir un cifrado en flujo.
2. Modernos
2.1. IDEA
2.1.1. El proceso de encriptación consiste ocho rondas de cifrado idéntico, excepto por las subclaves utilizadas (, en donde se combinan diferentes operaciones matemáticas (XORs y Sumas Módulo 16) y una transformación final.
2.2. DES
2.2.1. DES utiliza bloques de 64 bits, los cuales codifica empleando claves de 56 bits y aplicando permutaciones a nivel de bit en diferentes momentos . Es una red de Feistel de 16 rondas, más dos permutaciones, una que se aplica al principio y otra al final.
2.3. RSA
2.3.1. Como en todo sistema de clave pública, cada usuario posee dos claves de cifrado: una pública y otra privada. Cuando se quiere enviar un mensaje, el emisor busca la clave pública del receptor, cifra su mensaje con esa clave, y una vez que el mensaje cifrado llega al receptor, este se ocupa de descifrarlo usando su clave privada.
2.4. 3DES
2.4.1. Utiliza tres llaves en cada bloque de texto plano. En vez de utilizar una llave de 56 bits desde la tabla de llaves, 3DES encripta el texto plano con la primera llave, encripta ese texto encriptado con otra llave de 56 bits, y luego encripta nuevamente el texto encriptado con otra llave de 56 bits.
2.5. RC2
2.5.1. Este algoritmo pertenece a a categoria de cifradores de bloque que emplean una funcion de feistel, el metodo siguiendo el mismo que en los demas algoritmos, la division en bloques, la aplicacion de s-cajas y la funcion XOR.
2.6. RC4
2.6.1. Este consiste en 2 algoritmos: 1-Key Scheduling Algorithm (KSA) y 2- Pseudo-Random Generation Algorithm (PRGA). Cada uno de estos algoritmos usa 8-by-8 S-box, el cual es solo un array de 256 números en el que ambos son únicos en cuanto a rango y su valor va desde 0 hasta 255.
2.7. RC5
2.7.1. Permite definir el tamaño del bloque a encriptar, el tamaño de la clave utilizada y el número de fases de encriptación. El algoritmo genera una tabla de encriptación y luego procede a encriptar o desencriptar los datos.
2.8. AES
2.8.1. Su algoritmo no se basa en redes de Feistel, y en su lugar se ha definido una estructura de "capas" formadas por funciones polinómicas reversibles (tienen inversa) y no lineales. Es fácil imaginar que el proceso de descifrado consiste en aplicar las funciones inversas a las aplicadas para cifrar, en el orden contrario.
2.9. HASH
2.9.1. Parten de una información de entrada de longitud indeterminada y obtienen como salida un código, que en cierto modo se puede considerar único para cada entrada. La función de estos algoritmos es determinista, es decir que partiendo de una misma entrada siempre se obtiene la misma salida.
2.10. Simetrico
2.10.1. Solo utiliza una clave para cifrar y descifrar el mensaje, que tiene que conocer el emisor y el receptor previamente y este es el punto débil del sistema, la comunicación de las claves entre ambos sujetos, ya que resulta más fácil interceptar una clave que se ha transmitido sin seguridad
2.11. Blowfish
2.11.1. Utiliza valores decimales de Π para obtener las funciones de encriptación y desencriptación. Estas funciones emplean operaciones lógicas simples y presentes en cualquier procesador.
2.12. Asimetrico
2.12.1. La criptografía asimétrica se basa en el uso de dos claves: la pública (que se podrá difundir sin ningún problema a todas las personas que necesiten mandarte algo cifrado) y la privada (que no debe de ser revelada nunca).