Está en la página 1de 7

Algoritmos Criptogrficos Bsicos El mtodo de encriptacin y desencriptacin es llamado Cifrado.

Algunos mtodos criptogrficos se basan en el anonimato de los algoritmos de encriptacin; tales algoritmos son de inters histrico y no son adecuados para las necesidades del mundo real. En lugar de anonimato de los algoritmos por si solos, todos los algoritmos modernos basan su seguridad en la utilizacin Llaves; y un mensaje solo puede ser desencriptado si la llave utilizada para desencriptar coincide con la utilizada para encriptar. Hay dos clases de algoritmos de encriptacin basados en llaves, Algoritmos Simtricos (o de llave privada) yAlgoritmos Asimtricos (o de llave pblica). La diferencia es que los algoritmos simtricos utilizan la misma clave para encriptar y desencriptar (o la llave de desencriptacin es derivable de la llave de encriptacin), mientras que los algoritmos asimtricos utilizan una llave distinta para la encriptacin y para la desencriptacin, y ninguna de las llaves puede ser derivada a partir de la otra. Los algoritmos simtricos pueden ser divididos en Cifrado de Flujo y Cifrado de Bloques. El cifrado por flujo encripta un texto plano bit a bit, mientras que el cifrado por bloques toma un nmero de bits (generalmente 64 bit en cifrados modernos), y lo encriptan como una unidad simple. Muchos cifrados simtricos son descritos en la pgina de algoritmos. El cifrado asimtrico (tambin llamado algoritmos de clave pblica) permiten que la llave de encriptacin sea pblica (incluso puede ser publicada en sitios web), permitiendo que cualquiera pueda encriptar con la llave, mientras que el receptor apropiado (quien conoce la llave de desencriptacin privada) puede desencriptar el mensaje. La llave de encriptacin tambin es llamada Llave Pblica y la llave de desencriptacin Llave Privada. La seguridad suministrada por este cifrado se basa en en mantener la confidencialidad de la llave privada. Los algoritmos criptogrficos modernos no son mas cifrados de lpiz y papel. Se han desarrollado algoritmos criptogrficos potentes para ser ejecutados con computadoras o dispositivos especiales de hardware o, en muchas aplicaciones, la criptografa es hecha mediante software. Generalmente, los algoritmos simtricos son mas rpidos de ejecutar en las computadoras que los asimtricos. Tecnolgico de Estudios superiores de Ecatepec Ingeniera en sistemas computacionales Sistemas Operativos Ricardo Morales Paredes 5451 Viernes 25 de mayo del 2012

En la prctica a menudo son utilizados juntos, as un algoritmo de llave pblica es utilizado para encriptar una llave generada al azar, y esta llave es utilizada para encriptar el mensaje actual utilizando un algoritmo simtrico. Esto es conocido como Encriptacin Hbrida. Algoritmos simtricos Cifrados en Bloque: un bloque de cifrado transforma bloques de texto plano de nbits a bloques de texto cifrado de n-bits bajo la influencia de una llave k. En general se asume que la llave es escogida aleatoriamente, para una llave fija, un bloque cifrado es una biyeccin, definiendo una permutacin de vectores de n-bits. Cada llave potencialmente (pero no necesariamente) define una biyeccin diferente. Para mensajes de texto plano que exceden un bloque de longitud se usan varios modos de operacin para cifrados en bloque. Ms Informacin Algunos de los ms bien conocidos cifrados de flujo son RC4 y SEAL. Varios cifrados de flujo se basan en registros de cambio de retroalimentacin lineal (LFSR - LinearFeedback Shift Registers), tales como A5/1 usado en GSM. Estos tienen el beneficio de ser muy rpidos (varias veces ms rpidos que los cifrados en bloque usuales). Cifrados de Flujo: consiste en una mquina de estados que retorna para cada transicin de estado un bit de informacin. Este flujo de salida de bits se llama comnmente la llave corriente. La encriptacin puede ser implementada solo con darle la exclusividad de la llave corriente al mensaje de texto plano. La mquina de estados no es ms que un generador de nmeros seudo-aleatorios. Por ejemplo, podramos construir una de un cifrado en bloque encriptando repetidamente su propia salida. Tpicamente, se usan construcciones ms elaboradas para cifrados de flujo para obtener una alta velocidad. Ms Informacin SSSC (Self-Synchronizing Stream Ciphers - Cifrados de Flujo de Sincronizado Propio): La clase de cifrados de flujo de sincronizado propio, convenientemente, tiene la propiedad de que corrige el flujo de salida despus del cambio de bits o an cuando se pierden bits despus de un corto tiempo (digamos, algunos cientos de bits). Los SSSCs pueden ser construidos usando cifrados en bloque en una manera relacionada a CFB. Asuma que ya encriptamos n bits del mensaje y conocemos ese tanto del texto cifrado (donde dice n ntese la longitud del bloque del cifrado). Luego, producimos un nuevo bit de llave de arranque (ver arriba) encriptando los n bits de texto cifrado. Tomamos un bit de la salida del cifrado para que sea el nuevo bit de la llave de arranque. Ahora moviendo un bit ms podemos iterar este procedimiento para toda la longitud del mensaje. El cifrado en bloque usado debe tener un tamao de bloque suficientemente largo para evitar ataques de substitucin, por ejemplo.

Substitucin y transposicin: substitucin significa reemplazar smbolos o grupos de smbolos por otros smbolos o grupos de smbolos. Transposicin, por otro lado, significa permutar los smbolos en un bloque. Ninguna de estas operaciones por si sola provee de suficiente seguridad, pero mediante su combinacin pueden ser construidos cifrados fuertes. Por una Red de Substitucin-Permutacin (SPN Substitution Permutation Network), nos referimos a un cifrado compuesto de un nmero de etapas, cada una involucrando substituciones y permutaciones. Ejemplos bien conocidos de SPNs son DES y CAST-128. S-Boxes: tablas de bsqueda que mapean n bits a m bits (donde n y m son iguales frecuentemente). Hay varias maneras de construir buenas S-boxes para cifrados, as como varias maneras de medirlas. Algunos diseadores usan una aproximacin matemtica rigurosa al usar funciones curvilneas (o relacionadas) para crear Sboxes que puedan ser probadas como resistentes contra algunos ataques particulares. Otros diseadores usan aproximaciones heursticas, lo cual conducira a que las s-boxes sean ms difciles de manejar en pruebas matemticas, pero pueden tener beneficios adicionales (como varias opciones diferentes de implementacin). La S-Box puede ser la nica parte no lineal del cifrado. Este es el caso del cifrado en bloque DES, y de esta manera debe ser considerado como la parte ms importante del algoritmo. De hecho, muchos consideran a las S-boxes DES tan buenas que las usan en sus propios diseos (por ejemplo, Serpent). Redes Feistel: una red Feistel es una manera general de construir cifrados en bloque desde funciones simples. La idea original fue usada en el cifrado en bloque Lucifer, inventado por Horst Feistel. Muchas variaciones han sido concebidas de la versin original. Dicho de manera sencilla, la red Feistel standard toma una funcin de n bits a n bits y produce una funcin inversa de 2n bits a 2n bits. La funcin bsica sobre la cual se basa la estructura es llamada comnmente de redondeo. La propiedad esencial de las redes de Feistel que las hace tan tiles en diseo de cifrados es que la funcin de redondeo no necesita ser invertible, pero la funcin resultante siempre lo es. Si la funcin de redondeo depende de, digamos, k bits de una llave, entonces el cifrado Feistel requiere rk bits de la llave donde r es el nmero de redondeo usado. La seguridad de la estructura Feistel no es obvia, pero anlisis de DES han demostrado que es una buena manera de construir cifrados. Es obligatorio que el cifrado Feistel tenga suficientes redondeos, pero solo aadiendo ms redondeos no siempre garantiza la seguridad. La operacin de tomar la llave de usuario y expandirla en rk bits para los redondeos de Feistel se llama "key scheduling". Esta operacin, no siempre es lineal, por lo tanto descubrir alguno de los rk bits de las llaves de redondeo no provee de informacin directamente sobre la llave actual del usuario. Existen muchos cifrados que tienen esta estructura bsica; Lucifer, DES, y Twofish, solo para nombrar algunos. Expansin, Permutacin: estas son herramientas comnmente usadas en la mezcla de bits en la funcin de redondeo. Son operaciones lineales, por lo que no son suficientes para garantizar la seguridad. Sin embargo, cuando son usadas con

buenas S-boxes no lineales (como en DES) son vitales para la seguridad ya que propagan las operaciones no lineales uniformemente sobre todos los bits. Operaciones de "corte de bits" (operaciones lgicas XOR, AND, OR, NOT y permutaciones de bit): La idea sobre implementaciones de operaciones de corte a cifrados en bloque se le debe a Eli Biham. Es una prctica comn en mquinas de vectores realizar una operacin paralela. Sin embargo, Biham lo aplic en mquinas en serie usando registros tan grandes como los que tienen las computadoras modernas. El trmino "corte de bits" se le debe a Matthew Kwan. Algoritmos Asimtricos
*RSA

(Rivest-Shamir-Adleman) es el algoritmo de llave pblica mas utilizado generalmente. Puede ser utilizado para la encriptacin como para las firmas digitales. La seguridad del RSA el generalmente considerada equivalente a la f actorizacin, aunque esto no se ha comprobado. Los clculos del RSA se realizan con el mdulo entero n=p*q, para dos primos grandes y secretos p y q. Mas detalles estan disponibles en muchos recursos, tal como en el Manual de criptografa aplicada. El tamao de la llave (el tamao del mdulo) debera ser mas grande que 1024 bits (esto es, debe ser de la magnitud de 10^300) para un mrgen razonable de seguridad. Llaves de tamao, sopongamos, de 2048 bits deberan brindar seguridad por dcadas. Grandes avances en la factorizacin de enteros largos podran hacer vulnerable al RSA, pero se conocen tambin otros ataques contra variantes especficas. Buenas implementaciones utilizan redundancia para evitar ataques utilizando la estructura multiplicativa del texto cifrado. RSA es vulnerable a los ataques de texto plano seleccionado y ataques de hardware y de fallas . Tambin existen ataques contra muchos pequeos exponentes, as como tambin contra factorizaciones parciales reveladas del mdulo. Las implementaciones apropiadas del algoritmo RSA con redundancia es bien explicada en el estndar PKCS (ver la definicin en el laboratorio RSA). El algoritmo plano RSA no debera ser aplicado en ninguna aplicacin. Se recomienda que las implementaciones sigan el estndar pues tiene tambin la ventaja adicional de la inter-operabilidad con la mayora de los protocolos ms importantes. El RSA es el algoritmo de llave pblica ms importante. Fue patentado en los Estados Unidos (la patente expir en el ao 2000). El criptosistema Rabin debe ser visto como un "pariente" del RSA, aunque tenga un proceso de decodificacin muy distinto. Lo que lo hace interesante es que romper Rabin es probablemente equivalente a factorearlo. Rabin utiliza el exponente 2 (o an cualquier entero) en lugar de un entero peculiar como el RSA. Esto tiene dos consecuencias. Primero, se puede probar que el criptosistema Rabin es equivalente al factoreo; segundo, la desencriptacin se hace

mas difcil, al menos en algunos aspectos. Como es equivalente a factorear el mdulo, el tamao del mdule es el parmetro de seguridad ms importante. Mdulos de mas de 1024 bits se asumen como seguros. No hay actualmente un estndar para el algoritmo Rabin pero es explicado en varios libros. El proyecto IEEE P1363 podra proponer un estndar y de esta manera hacerlo ampliamente utilizado. Equivalente a factorear significa solo que ser capaz de desencriptar cualquier mensaje encriptado por el criptosistema Rabin permite factorear el mdulo. De esa manera no hay garantas de seguridad en un sentido fuerte. Agentes Agente, del latn agere, es "el que hace". En el mbito de los negocios, un agente es "aquel que tiene por oficio gestionar negocios ajenos". Un agente inteligente es un programa de ordenador que es capaz de hacer lo que haramos nosotros si tuvieramos tiempo, o de forma ms precisa "un tipo de programa informtico que, por encargo de un usuario u otro programa, realiza de forma autnoma tareas que requieren cierto grado de inteligencia y aprendizaje". Caractersticas La mayora de los agentes poseen las siguientes tres caractersticas: comunicacin, inteligencia y autonoma. Comunicacin El agente puede comunicarse con el usuario, con otros agentes y con otros programas. Con el usuario se comunica con un interfaz amigable, mediante el que personaliza sus preferencias. Algunos agentes permiten comunicarse en lenguaje natural, algo tpico de los chatbots. El grado de inteligencia vara mucho de unos agentes a otros, que suelen incorporar mdulos con tecnologas procedentes de la Inteligencia Artificial. Los ms sencillos se limitan a recoger las preferencias del usuario, quien debe personalizarlos. Un ejemplo son los agentes inteligentes basados en tecnologa de redes neuronales especializados en identificar mensajes de correo electrnico sospechosos de contener spam -mensajes no deseados-. En una primera fase el usuario debe marcarlos como spam, el agente va aprendiendo a identificar los rasgos que caracterizan a estos mensajes y posteriormente los filtra. Autonoma Un agente no slo debe ser capaz de hacer sugerencias al usuario sino de actuar. En el ejemplo anterior, el agente que filtra el spam no puede estar continuamente alertando al usuario en cada mensaje de correo que llega sobre la posibilidad de que sea un mensaje no deseado y su verdadera utilidad surge cuando elimina de forma autnoma dichos mensajes.

Directorios Los Directorios son un tipo de archivo especial que organiza una serie de archivos y/o otros directorios, como puede ser en que parte del disco duro esta localizado,el nombre del archivo y sus atributos. Campo Proteccin Contrasea Creador Propietario Bandera de solo lectura Bandera de Oculto Bandera de sistema Bandera de Archivado Bandera ASCII/Binario Bandera de acceso aleatorio Bandera de temporal Banderas de Candado Longitud de registro Posicin de la llave Longitud de la llave Tiempo de creacin Tiempo de ultimo acceso Tiempo de ultimo cambio Tamao actual Tamao mximo Significado Quien puede acceder al el y de que modo Contrasea requerida para acceder Identificador de la persona que creo el archivo Propietario actual 0=lectura/escritura;1=solo lectura 0=normal;1=no mostrar listado 0=archivo normal ; 1=archivo del sistema 0=ya se respaldo;1=necesita respaldarse 0=archivo ascii ; 1=archivo binario 0=acceso aleatorio solo secuencial ; 1=acceso

0=normal;1=eliminar al salir de un proceso 0=sin candado ;diferente de cero con candado Numero de bytes de registro Distancia de bytes de la llave desde el comienzo del registro Numero de bytes del campo llave Fecha y hora de creacin Fecha y hora del ultimo acceso Fecha y hora en que se modifico Numero de bytes que tiene Numero de bytes que puede llegar a tener

Operaciones con directorios CREATE Se crea un directorio que esta vaco con la excepcin de punto y punto ,punto,que el sistema ( o en unos pocos casos el programa mkdir)coloca ah automticamente Se elimina un directorio. Solo puede eliminarse un directorio vacio. Un directorio que solo contienen punto y punto,punto se considera vaco, ya que estos normalmente no pueden eliminarse Los directorios pueden leerse. Por ejemplo, para listar todos los archivos de un directorio,un programa para emitir listados abre el directorio y lee los nombres de los archivos que contienen Una vez que se ha ledo un directorio debe cerrarse para liberar las tablas internas Esta llamada devuelve la siguiente entrada de un directorio abierto .Antes era posible leer los directorios empleando una llamada a READ normal,pero este enfoque tiene la desventaja de obligar al programador a conocer y manejar la estructura interna de un directorio . En muchos sentidos los directorios son iguales que los archivos y podemos cambiar el nombre de estos como con los archivos El enlace (linking) es una tcnica que permite a un archivo aparecer dentro de un directorio. Esta llamada especial especifica al sistema un archivo existente y el nombre de ruta y crea un enlace del archivo existente al nombre especificado por la ruta. Se elimina una entrada de directorio. Si el archivo que esta siendo desvinculado solo esta presente en un directorio(el caso normal) se eliminara del sistema de archivos, si el archivo esta en varios directorios solo se eliminara de la ruta especificada.

DELETE

OPENDIR

CLOSEDIR READDIR

RENAME LINK

UNLINK