1. Algoritmos de cifrado en bloque
1.1. El algoritmo de cifrado o descifrado se aplica separadamente a bloques de entrada de longitud fija b, y para cada uno de ellos el resultado es un bloque de la misma longitud.
1.2. Operaciones básicas
1.2.1. La sustitución consiste en traducir cada grupo de bits de la entrada a otro, de acuerdo con una permutación determinada.
1.2.2. La transposición consiste en reordenar la información del texto en claro según un patrón determinado.
2. Uso de los algoritmos de clave simétrica
2.1. Cuando se utiliza el cifrado simétrico para proteger las comunicaciones, se puede escoger el algoritmo que sea más apropiado a las necesidades de cada aplicación: normalmente, a más seguridad menos velocidad de cifrado, y viceversa.
2.2. El nombre del modo ECB (Electronic Codebook) da la idea que se puede considerar como una simple sustitución bloque a bloque, de acuerdo con un código o diccionario (con muchas entradas, sin duda) que viene dado por la clave.
2.3. En el modo CBC (Cipher Block Chaining), se suma a cada bloque de texto en claro, antes de cifrarlo, (bit a bit, con XOR) el bloque cifrado anterior.
2.4. En el modo CFB (Cipher Feedback), el algoritmo de cifrado no se aplica directamente al texto en claro sino a un vector auxiliar (inicialmente igual al VI).
2.5. Modo CFB como cifradoen flujo Es fácil ver que el modo CFB (y también el OFB) se puede considerar como un cifrado en flujo que utiliza como función generador un cifrado en bloque.
2.6. El modo OFB (Output Feedback) opera como el CFB pero en lugar de actualizar el vector auxiliar con el texto cifrado, se actualiza con el resultado obtenido del algoritmo de cifrado.
3. Funciones hash seguras
3.1. Existen algoritmos basados en técnicas criptográficas que se usan para garantizar la autenticidad de los mensajes. Un tipo de algoritmos de estas características son las llamadas funciones hash seguras, también conocidas como funciones de resumen de mensaje (message digest, en inglés).
4. Algoritmos de clave pública
4.1. Uno de los problemas de la criptografía de clave simétrica es el de la distribución de las claves. Este problema se puede solucionar si utilizamos algoritmos de clave pública, también llamados de clave asimétrica.
4.2. La autenticación basada en clave pública se puede utilizar si el algoritmo permite utilizar las claves a la inversa; la clave privada para cifrar y la clave pública para descifrar.
5. Uso de la criptografía de clave pública
5.1. El problema de la confidencialidad entre dos partes que sólo disponen de un canal inseguro para comunicarse se resuelve con la criptografía de clave pública.
5.2. Firma digital
5.2.1. Es básicamente un mensaje cifrado con la clave privada del firmante.
6. Criptografía
6.1. Estudia, desde un punto de vista matemático, los métodos de protección de la información.
7. Criptograía de clave simétrica
7.1. Se caracterizan porque la clave de descifrado x es idéntica a la clave de cifrado k, o bien se puede deducir directamente a partir de ésta.
8. Algoritmos de cifrado en flujo
8.1. El funcionamiento de una cifrado en flujo consiste en la combinación de un texto en claro M con un texto de cifrado S que se obtiene a partir de la clave simétrica k.
9. Infraestructura de clave pública (PKI)
9.1. La sigla PKI corresponde al nombre en inglés de la infraestructura de clave pública (Public Key lnfrastructure).
9.2. Cuerpo del certificado
9.2.1. El campo version es el número de versión del formato: puede ser 1, 2 ó 3.
9.2.2. El campo serialNumber es el número de serie del certificado, y sirve para distinguirlo de todos los demás que haya generado la misma CA.
9.2.3. El campo signature indica el algoritmo utilizado por la CA para formar el certificado.
9.2.4. El campo issuer es el nombre distintivo (DN) del firmante o emisor del certificado, es decir, de la CA que lo ha generado.
9.2.5. El campo validity indica el período de validez del certificado, entre un instante inicial y un instante de caducidad.
9.2.6. El campo subject es el nombre distintivo (DN) del sujeto a nombre del cual esta emitido el certificado, es decir, el titular de la clave pública que figura en el certificado.
9.2.7. En el campo subjectPublicKeyinfo se encuentre la clave pública del sujeto: a que algoritmo corresponde, y su valor.
9.2.8. Los campos issuerUniqueidentifier y subjectUniqueidentifier se introdujeron en la versión 2, pero no se suelen utilizar porqué con el campo extensions son innecesarios.
9.2.9. El campo extensions se introdujo en la versión 3, y es una lista de atributos adicionales del certificado.
10. Sistemas de autenticación
10.1. La autenticación de mensaje o autenticación de origen de datos permite confirmar que el originador A de un mensaje es auténtico, es decir, que el mensaje no ha sido generado por un tercero Z que quiere hacer creer que lo ha generado A.
10.2. La autenticación de entidad permite confirmar la identidad de un participante A en una comunicación, es decir, que no se trata de un tercero Z que dice ser A.
11. Firmas digitales
11.1. Código HMAC Para calcular el código HMAC, al mensaje se le añade como prefijo una cadena de bits derivada de la clave, se calcula su hash, al resultado se le prefija otra cadena de bits derivada de la clave, y se vuelve a calcular el hash.
12. Protocolos de reto-respuesta
12.1. Secuencialmente
12.2. Aleatoriamente
12.3. Cronológicamente
12.4. Los protocolos
12.4.1. Los basados en técnicas simétricas
12.4.2. Los basados en técnicas de clave pública