Este documento describe diferentes algoritmos de cifrado que pueden usarse para encriptar datos. Explica que el cifrado es una medida de seguridad importante para proteger bases de datos SQL Server. Luego describe brevemente algunos algoritmos simétricos y asimétricos comunes, así como sus ventajas y desventajas relativas a la seguridad y rendimiento. También menciona algunas herramientas de cifrado de claves públicas y privadas usadas en Linux y Windows.
Proyecto integrador. Las TIC en la sociedad S4.pptx
Trabajo De Computacion
1. TRABAJO DE COMPUTACION Nombre: Juan Villarreal Curso: D-107 ALGORITMOS DE CIFRADO El cifrado es una de las medidas defensivas con que cuenta cualquier administrador que desee proteger una instancia de SQL Server. Los algoritmos de cifrado definen transformaciones de datos que los usuarios no autorizados no pueden revertir con facilidad. SQL Server permite a los administradores y los programadores elegir entre varios algoritmos, incluidos DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, RC4 de 128 bits, DESX, AES de 128 bits, AES de 192 bits y AES de 256 bits. Ningún algoritmo único resulta idóneo para todas las situaciones. Además, ofrecer información detallada sobre las ventajas de cada uno queda fuera del ámbito de los Libros en pantalla de SQL Server. No obstante, se aplican los siguientes principios generales: El cifrado seguro suele consumir más recursos de la CPU que un cifrado menos seguro. Las claves largas suelen producir un cifrado más seguro que las claves cortas. El cifrado asimétrico es más seguro que el simétrico con la misma longitud de clave, pero es relativamente lento. Los cifrados en bloque con claves largas son más seguros que los cifrados en secuencia. Las contraseñas largas y complejas son más seguras que las contraseñas cortas. Si cifra una gran cantidad de datos, debe cifrar los datos con una clave simétrica y cifrar la clave simétrica con una clave asimétrica. Los datos cifrados no se pueden comprimir, pero los datos comprimidos se pueden cifrar. Si utiliza compresión, debe comprimir los datos antes de cifrarlos. ALGORITMOS DE CIFRADO PARA ENCRIPTAMIENTO DE CLAVES PUBLICAS: En un sistema de cifrado asimétrico, la clave de cifrado y descifrado de claves, están separados. En un sistema asimétrico, cada persona tiene dos llaves. Una de las claves, la clave pública, es compartida públicamente. La segunda clave, la clave privada, nunca debe ser compartida con nadie. Al enviar un mensaje utilizando la criptografía asimétrica, es cifrar el mensaje utilizando la clave pública de los beneficiarios. El beneficiario entonces descifra el mensaje utilizando su clave privada. Es por ello que el sistema se llama asimétrico. Dado que los algoritmos de cifrado asimétrico tienden a ser significativamente más computacionalmente intensivas, que suelen utilizarse en combinación con los algoritmos de cifrado simétrico para aplicar efectos a la criptografía de clave pública. El sistema de cifrado asimétrico se utiliza para cifrar una clave de sesión y la clave de sesión cifrada se utiliza entonces para cifrar el mensaje. Esto da la clave de intercambio de prestaciones de los algoritmos de cifrado asimétrico con la velocidad de los algoritmos de cifrado simétrico. ALGORITMOS PARA CLAVES PUBLICAS: El software de encriptación usado en Linux OpenSSH GPG OpenSSL ALGORITMOS DE CIFRADO PARA ENCRIPTAMIENTO DE CLAVES PRIVADAS: Los algoritmos de clave simétrica, también llamados de clave secreta o privada, son los algoritmos clásicos de encriptación en los cuales un mensaje es encriptado utilizando para ello una cierta clave sin la cual no puede recuperarse el mensaje original. El esquema básico de los algoritmos de clave simétrica es: MENSAJE + CLAVE = CÓDIGO (encriptación) CÓDIGO + CLAVE = MENSAJE (desencriptación) Esto se lleva a cabo sustituyendo porciones del mensaje original por porciones de mensaje encriptado usando la clave. La sustitución puede ser de varias formas: Monoalfabética: Cuando se encripta, cada caracter encriptado corresponde a un caracter del mensaje original y viceversa. Homofónica: Cuando un caracter de texto original se encripta en varios caracteres del texto encriptado. Poligráfica: Cuando n caracteres del mensaje original generan n caracteres del mensaje encriptado. Polialfabética: Cuando n caracteres del texto original se encriptan en m caracteres del texto encriptado (m≠n) . Cabe destacar que la sustitución poligráfica y la sustitución homofónica son casos particulares de la sustitución polialfabética. Criptosistemas: Definiremos a un criptosistema como un conjunto de tres elementos: Un espacio de mensajes: PT que es la colección de todos los posibles mensajes pt que pretendemos enviar. Un espacio de claves K. Cada clave k determina un método de encriptación Ek y un método de desencriptado Dk. De forma tal que Ek(pt) = código y Dk(código)=pt. Un espacio de códigos: CT que es la colección de todos los posibles códigos ct. Sistemas monoalfabéticos y polialfabéticos: Un algoritmo de encriptación por clave privada es monoalfabético si cada ocurrencia de un mismo caracter en el mensaje original es reemplazada siempre por un mismo caracter en el código cifrado. Un algoritmo de encriptación por clave privada es polialfabético si cada ocurrencia de un mismo caracter en el mensaje original es reemplazada por distintos caracteres en el código cifrado. Desarrollaremos a continuación algunos de los criptosistemas de clave privada mas conocidos, desde los más básicos hasta los más complejos. Criptosistema Caesar Criptosistema Hill Criptosistema Afines Criptosistema Playfair Criptosistema DES Modos de operación para encriptación de bloques. Al utilizar algoritmos de clave privada de, por ejemplo 64 bits de longitud para encriptar textos de mas de 64 bits debe considerarse alguna técnica particular, el método mas simple consiste en dividir el bloque a comprimir en porciones de igual longitud que la clave y encriptar cada uno en forma independiente. Este método se conoce como Electronic Code Block (ECB) pero existen otras técnicas, los modos de operación standard ANSI/FIPS son: ALGORITMOS PARA CLAVES PRIVADAS: ECB: Electronic Code Block. CBC: Cipher Block Chainning. CFB: Cipher Feedback. OFB: Output Feedback. Sobre la forma en que trabaja cada método puede consultarse el standard ANSI/FIPS correspondiente.