Temas de Criptografía (en preparación) Ariel Waissbein

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Temas de Criptografía (en preparación) Ariel Waissbein"

Transcripción

1 Temas de Criptografía (en preparación) Ariel Waissbein 18 de agosto de 2004

2 Prefacio Estas notas acompañan un curso de criptografía para estudiantes de matemáticas (licenciaturas y doctorado) de la Facultad de Ciencias Exactas y Naturales de la Universidad Nacional de Buenos Aires (UBA). Este curso dura 17 semanas y comprende 17 clases semanales de 3 horas. Los contenidos del curso incluyen las herramientas esenciales de la cripotgrafía, junto con los resultados de seguridad relacionados (e.g., ataques o resultados positivos de seguridad). El foco del curso está puesto en darle al estudiante elementos para analizar, desarrollar y atacar sistemas criptográficos. Estudiaremos el diseño de sistemas, protocolos y primitivas de seguridad usando un acercamiento de la complejidad computacional. Así mismo, introduciremos a alumno a los problemas de diseño e implementación (en código). Ariel Waissbein Febrero, Buenos Aires, Argentina. i

3 ii

4 Índice general 1. Introducción y preliminares Seguridad informática Introducción a la criptografía Génesis Criptografía moderna Preliminares Modelos de computación Protocolos Cifrado simétrico Block ciphers DES, Lucifer y las Feistel networks Algunos ataques Rijndael Seguridad de block ciphers Esquemas para encripción simétrica Modos de encadenado Seguridad Stream ciphers Linear Feedback Shift Registers Variantes Ejercicios Cifrado asimétrico Intercambio de claves Diffie-Hellman Conjeturas y ataques Esquema de encripción RSA Conjeturas y ataques Nociones de seguridad iii

5 iv ÍNDICE GENERAL Ataques Ataques esotéricos Ejercicios Integridad y autenticidad Funciones de hash MACs One-way functions, trapdoor functions y trapdoor permutations Ejercicios Paradigmas de seguridad Universally composable security Dos ejemplos Comunicaciones seguras Evaluación segura de funciones Commitment Oblivious transfer Coin flipping, Mental poker y voting Secret sharing Aplicaciones Autenticación y canales seguros Protección de software Bibliografía 52 Índice alfabético 56

6 Organización del Curso Introducción (1 clase). Block ciphers y stream ciphers (4 clases). Asymmetric ciphers (2 clases). Integridad y autenticidad (3 clases). Paradigmas de seguridad (1 clase). Evaluación segura de funciones (2 clases). Aplicaciones (4 clases). TOTAL: 17 clases. v

7 Capítulo 1 Introducción y preliminares La seguridad informática es la principal fuente de aplicaciones para la criptografía, Además, se presenta como un marco ideal donde pueden analizarse los problemas y sus soluciones. Es por eso que comenzamos esta introducción por seguridad informática. Acto seguido, introducimos a la criptografía como (parte de) una ciencia formal. Finalizamos esta introducción con una sección preliminares cuyo fin es el de proveer al alumno de las herramientas necesarias para comprender este texto que pueden faltar en su educación Seguridad informática Seguridad informática es la disciplina utilizada por desarrolladores de soluciones informáticas para la administración de recursos informáticos previniendo abusos perpetrados por atacantes. Entiéndase, por recursos informáticos a bienes como los son la información, capacidad de cómputo, espacio de almacenamiento, acceso a canales de comunicación (por ejemplo Internet inalámbrico), etcétera; y por su administración nos referimos a la capacidad de restringir o permitir acceso y uso de estos recursos. En seguridad informática se han desarrollado cientos de sistemas para protejer algunos de estos recursos: la herrramienta PGP 1, le permite a sus usuarios aplicar transformaciones a s, previo a su envio, con uno o varios destinatarios preestablecidos, de manera que este mensaje sea confidencial para todo 1 Ver el site de PGP en (Febrero 2004). 1

8 2 CAPÍTULO 1. INTRODUCCIÓN Y PRELIMINARES tercero (que lo lea), y que además le permite a sus destinatarios (previo aplicarle una serie de transformaciones secretas) leer el mensaje, comprobar su integridad y la autenticidad del remitente; en la prevención de virus (y codigo malicioso en general) se restringen las capacidades que tiene un programa implementado por un tercero al correr en una terminal propia (malicious client problems, cf. [Hoh98]); reciprocamente en protección de software, el desarrollador de un programa busca restringir las capacidades (e.g., de acceso) que tienen los usuarios de este programa al correrlo en sus propias terminales (malicous host problem), en pagos con tarjeta de crédito a través de la web se utiliza el protocolo SSL que chequea la autenticidad del server (e.g., que la página web a la que uno envia sus datos es la correcta y no la de un tercero) a travéz del esquema de certificados, luego inicia una conexión segura en la que el intercambio de mensajes es confidencial e integro (no pueden modificarse los mensajes sin que el usuario lo sepa). Finalmente, tanto el cliente como el usuario tienen un comprobante de la transaccción. En los primeros años de seguridad informática, los técnicos habian tomado algunos conceptos de criptografía para explicar lo que es la seguridad. De ahí surgió la famosa PAIN un acrónimo para privacy, authenticity, integrity y non-repudiation (o privacidad, autenticado, integridad y no repudio en castellano) buscando describir completamente la problemática en torno a seguridad informática. Hoy, se reconoce a esta taxonomía como incompleta y obsoleta. Por ejemplo, PAIN cubre los ejemplos 1 y 3 arriba, pero no el 2. Con sus veinte y tantos años de vida la seguridad informática hoy no se ha conformado como una ciencia y es más bien una disciplina practicada por técnicos especializados que deben aplicar decenas de técnicas y dominar una lista de conceptos imposibles de enumerar. Los fundamentos de la seguridad informática, como disciplina general, tomando conceptos de la informática teórica y más que nada de ingeniería de software forman una disciplina heterogenea sin conformar una unidad. Estos fundamentos, aún no afirmados, mutan impulsados por distintas tendencias en ataques, nuevas necesidades de la industria, y distintos avances tencológicos y científicos. Ésto evidencia que la explosiva apraición de soluciones prácitcas de seguridad informática (como disciplina) ha sobrepasado el crecimiento de una teoría que la respalde. Un buen ejemplo de ésto es del conocido software Secure Shell (SSH, usado para conexiones seguras entre terminales), que ha evolucionado desde

9 1.1. SEGURIDAD INFORMÁTICA 3 su nacimiento hace ya 15 años por el método de prueba y error, pasando de protocolo en protocolo, de implementación en implementación, a veces por medio de cambios simples (patches) y otras por medio de cambios globales (e.g., de protocolo). Sólo recientemente, algunas aplicaciones de seguridad informática gozan del privilegio del mundo de las ciencias duras y las demostraciones. En el caso de SSH, fue recién después del 2000 que aparecieron los primeros resultados de seguridad sobre SSH (e.g., [?] resuelve parte del problema de canales seguros cómo mostramos en la Sección 8.1). El caso de la criptografía es ligeramente distinto. Si bien la criptografía ha sido una fructuosa fuente de herramientas para la seguridad informática (de hecho la criptografía es la causa por la que se inventaron las computadoras), ha tenido un desarrollo muy distinto; y esto se debe a que quienes desarrollan sistemas criptográficos han residido siempre (hablamos de cripotgrafía moderna) en el ámbito académico. La criptografía moderna lleva mas de 30 años en desarrollo, creciendo junto a la informática teórica 2 con fundamentos sólidos, y decenas de aplicaciones que validan su uso y necesidad. Aún así, hoy quedan cientos de preguntas sin responder, cientos de sistemas cripotgráficos cuya seguridad permanece en duda. Por ejemplo, veremos que resulta dificil definir la seguridad de un sistema. Principalmente porque las definiciones de seguridad no son lo suficientemente fuertes como para proporcionar la exención de ataques ; y porque sería prácticamente imposible hacer una descripción completa de un sistema cripotográfico (hasta el último detalle). Para ser más explícito, notemos que una tal descripción debería incluir el todos los algoritmos asociados, programas que los implementan, una computadora donde corren esos programas (hardware y sistema operativo), etcétera. Retomando el argumento anterior, notamos que toda aplicación criptográfica resulta inutil sin una implementación segura que permita su uso. En definitiva, que la criptografía depende innegablemtente de la seguridad informática (y viceversa). Que resulta inutil considerar los dos temas como separados, ya que hoy los fundamentos de la informática no posibilitan una independencia sincera entre ambas (ni la unidad). En este curso introducimos distintos problemas de seguridad informática o cripotografía y estudiamos sus soluciones a partir de la criptografía. Analizaremos generalizaciones de estas aplicaciones y redescubrimos sus usos. 2 También con la teoría de números, probabilidades y estadística, curvas elípticas y otras ramas de la matemática; y con el desarrollo de hardware eficiente, y otras tantas herramientas.

10 4 CAPÍTULO 1. INTRODUCCIÓN Y PRELIMINARES Estudiaremos la relación entre la seguridad informática y la criptografía y veremos como una se alimenta de la otra buscando estabilidad en la relación Introducción a la criptografía Las primeras aplicaciones criptográficas tiene al menos 2500 años. Tal es el caso, por ejemplo del famoso cifrado del Cesar (Caesar s cipher en la literatura) que usaba Julio Cesar. Desde el cifrado de Cesar a la fecha ha habido muchisimos avances en criptografía, en particular a partir de las dos grandes guerras mundiales y el advenimiento de la informática. Las primeras aplicaciones criptográficas modernas (deberíamos decir criptológicas para ser estrictos) fueron los infames criptoanálisis de Bletchey Park (Inglaterra) cuando se construyeron las primeras computadoras en tiempo de la Segunda Guerra Mundial (veáse por ejemplo la engañosa película Enigma (2000) con libro del ingenioso Tom Stoppard, e.g., [Sto00]). La comunidad criptógrafica difiere y suele marcar en 1976 la fecha del nacimiento de la criptografía asimétrica como el nacimiento de la criptografí a moderna. Es claro que hubo distintos hitos que permitieron la gesta, como la creación del Data Encryption Standard (DES, 1972). Lo que es seguro, es que desde el cifrado de Caesar entrando el siglo XX (por ej., el Hill cipher, 1929, [Hil29]) hubo una serie de resultados y eventos que pertenecen al pasado de la criptografía ya fuera de uso. Hay excelentes libros sobre historia de la criptografía (ver por ejemplo [Kah96]), así que en lo que sigue introducimos brevemente algunos resultados prehistóricos y continuamos con una introducción a la critografía moderna Génesis 1.1 Encriptado pre-2da guerra, los one-time pads y el principio de la seguridad. (Esto no es un cruso de historia.) 1.2 Porque OTP no alcanzan criptografía moderna 1.3 RSA: criptografía eficiente y asimétrica Criptografía moderna La criptografía moderna se construye a partir de resultados del estilo de los trabajos pioneros de Diffie-Hellman (Whittfield Diffie y Martin Hellman, [DH76]) y Rivest-Shamir-Adleman (Ron Rives, Adi Shamir y Leonard Adel-

11 1.2. INTRODUCCIÓN A LA CRIPTOGRAFÍA 5 man, [RSA78]). Estos, plantean el problema de comunicación en frente de adversarios. La idea principal de estos trabajos es la de modelar a los adversarios por sus recursos, construyendo soluciones que son fáciles de usar, e.g., se realizan mediante cómputos eficientes, por los usuarios legítimos y computacionalmente dificiles de revertir por atacentes. Consideremos como ejemplo al esquema de generación de claves Diffie-Hellman : dos personas A y B quieren comunicarse por un canal inseguro de manera que al finalizar la comunicación sólo ellos puedan computar una clave k. (Para después usarla como clave simétrica con un block cipher seguro.) Básicamente: 1. eligen un número primo p Z y un generador g de Z p (i.e., tal que {g, g 2, g 3,...} = Z p). Esta información la intercambian por el canal de comunicación y podemos asumir, a efectos de la seguridad de DH, que es pública. 2. Luego A elige un entero a < p 1, computa x := (g a mod (p)), y le envia x a B por el canal de comunicación, 3. análogamente B elige un entero b < p 1, computa y := (g b mod (p)), y envia y a A por el canal de comunicación. 4. El intercambio ha finalizado. En este momento, ambos pueden calcular k := g ab mod (p), haciendo x b mod (p) o y a mod (p) dependiendo el caso. Sin embargo, para calcular a o b a partir de x e y hace falta calcular el logaritmo discreto de x o y. Y el problema del logaritmo discreto es computacionalmente difícil 3. Tanto DH y su famoso predecesor RSA, como las decenas de soluciones criptográficas que aparecieran en la decada de 1980, plantean el siguiente paralelo con complejidad computacional: Veremos que gran parte de la criptografía de los 1980 constó de resultados de ese tipo, y resultados que mostraban una falacia en el razonamiento anterior: para romper a π no es necesario resolver una instancia general de SAT. Es decir, que por más que el problema general puede ser dificil, uno puede encontrar instancias fáciles de resolver (de manera que el esquema subyacente resulta inseguro en esos casos). En lo que sigue esbozamos algunos problemas típicos de criptografía y discutimos soluciones. 3 Sigue abierto el problema de saber si es necesario calcular a o b para obtener a k. Ver la Sección 3.1 para más información.

12 6 CAPÍTULO 1. INTRODUCCIÓN Y PRELIMINARES Complejidad Criptografía Se quiere ver que el problema π es Se quiere ver que el esquema π dificil de resolver no puede atacarse eficientemente Si el problema π pudiera resolverse Si el esquema π pudiera atacarse eficientemente, entonces también eficentemente, podríamos romper SAT. SAT. para verlo: reducimos SAT a π: para verlo: reducimos SAT a π: construimos un algoritmo que construimos un algoritmo que resuelve SAT dado uno que resuelve SAT dado uno que resuelve a π. rompe a π. encriptado: simétrico: Alicia y Bernardo comparten una clave y quieren comunicarse por canales abiertos a atacentes, se pide que ningún atacante eficiente pueda obtener información asimétrico: Cada persona publica su información pública, de manera que si Alicia le quiere mandar un mensaje a Bernardo puede usar un algoritmo, inicializado con la información pública de él, para mandarle el mensaje sin que ningún atacante pueda leerlo. autenticación de mensajes simétrica: Alicia y Bernardo comparten una clave y queren comunicarse por canales abiertos a atacantes, se pide que ningún atacante pueda modificar un mensaje sin que el receptor lo note. (Esto se llama message authentication codes MACs) asimétrica: Cada persona publica su información pública, de manera que si Brenardo le quiere mandar un mensaje a Alicia, él puede usar un algoritmo, para mandarle el mensaje firmado de manera que Alicia pueda comprobar usando la información pública de Bernardo que el es el remitente y el mensaje no fue alterado en el camino. (Esto se conoce como digital signatures.) distribución autenticada de claves: una autoridad certificante reparte claves a distintos participantes, de manera que todos pueden comprobar la veracidad de las claves, la repartija se hace de manera confidencial, y la autoridad puede revocar claves. secure function evaluation: se refiere a la evaluación segura de funcio-

13 1.3. PRELIMINARES 7 nes por dos o más participantes, donde seguridad puede querer decir que todos averiguan el resultado simultanemaente, o que se obtiene el resultado correcto siempre que la mayoría de los participantes se comporten segun las reglas. Un ejemplo paradigmático es el problema de las parejas, donde Alicia y Bernardo quieren arreglar una cita si, y sólamente si, se gustan; sin revelar ninguna información en caso que no se gusten Preliminares Modelos de computación Ver por ejemplo el libro de Savage (o sus notas en Hay tres métodos clásicos de cómputo: los circuitos lógicos, las máquinas de estado finitas y las máquinas de Turing. Veamos, un circuito (binario) es una fórmula en el álgebra de Boole ({0, 1},...). Una máquina de estados finita tiene un conjunto de estados Q, un conjunto de entradas Σ y un conjunto de salidas Φ. En cada paso, la máquina de estados recibe una entrada y computa la función de transición que le dice cual es el siguiente estado. En cada estado, la máquina de estados produce una salida. Una máquina de estados parte de un estado inicial, que queda fijo por definición. En definitiva, una máquina de estados puede verse como un grafo dirigido La noción de máquina de Turing pertence a Alan Turing y es de 1936 y de alguna manera retrata la noción más poderosa de máquina de cómputo. Digamos, una máquina de Turing (la universal) puede calcular cualquier función recursiva, decidir cualquier lenguiaje recursivo, y aceptar cualquier lenguaje recursivamente numerable. Según la famosa tesis de Church-Turing, los problemas resolubles por medio de máquinas de Turing son exactamente aquillos resolubles por un algoritmo o cualquier otro método efectivo de computo (para cualquier definición razonable de esos términos). Formalmente, una máquina de Turning consite de: Una cinta dividida en celdas (numerables). En cada celda puede escribirse y leerse un símbolo de un alfabeto. Un alfabeto es simplemente un conjunto de símbolos y debe contener al símbolo vacío y por lo menos otro símbolo. Las celdas en las que no se ha escrito nada contienen el símbolo vacío. Una cabeza lectora que puede moverse de celda en celda leyendo o escribiendo símbolos.

14 8 CAPÍTULO 1. INTRODUCCIÓN Y PRELIMINARES Un registro de estados que guarda el estado actual de la máquina. El número de estados posibles es siempre finito, y hay un estado espacial: el inicial, en el que comienza la máquina. Una función de transición que establece que símbolo debe escribir la cabeza, o hacia donde debe moverse (derecha, izquierda o no moverse). La entrada de esta función est a dada por el valor de la celda donde se encuentra la cabeza lectora y el estado actual. De no haber estado siguiente, para una entrada, la máquina termina. (Es decir, es una máquina de estados finita cuya salida es el par valor-aescribir/dirección=de-desplazamiento). Complejidad estructural. Determinismo, no determinismo, y probabilidades. Ob.: en crypto, rara vez se usa el espacio como métrica. Es decir, la efectividad de los algoritmos se mide unicamente por el tiempo (aunque el espacio no se ignora, e.g., en el caso de differential attacks se necesita un espacio que los hace poco prácticos ***VER***) Ob.: 1 k simboliza al elemento de {0, 1} k que consta de k unos. Suele usarse este elemento como artifice en criptografía para representar la entrada de algoritmos que no tienen entrada. Por ejemplo, una máquina de Turing que genera claves de tamaño k en tiempo polinomial en k no necesita de una entrada, y el diseñador... Teoría de la Información Algorithmic information theory is a field of study which attempts to capture the concept of complexity by using tools from theoretical computer science. The chief idea is to define the complexity (or Kolmogorov complexity) of a string as the length of the shortest program which, when run without any input, outputs that string. Strings that can be produced by short programs are considered to be not very complex. This notion is surprisingly deep and can be used to state and prove impossibility results akin to Gödel s incompleteness theorem and Turing s halting problem. The field was developed by Andrey Kolmogorov, Ray Solomonoff and Gregory Chaitin starting in the late 1960s. There are several variants of Kolmogorov complexity or algorithmic information. The most widely used one is based on self-delimiting programs and is due to Leonid Levin (1974). Berry paradox: Let n be the smallest number that cannot be defined in fewer than twenty English words. Well, I just defined it in fewer than twenty English words.

15 1.3. PRELIMINARES Protocolos 1 protocolos 1.1 modelos sincrónicos, asincrónicos 1.2 autenticados, 2 oraculos Def.: Oráculo: Un oráculo es una entidad creada ad hoc en el modelado de protocolos criptográficos, que actua como black box y es capáz de responder preguntas a las demás entidades del protocolo. Por ejemplo,...

16 10 CAPÍTULO 1. INTRODUCCIÓN Y PRELIMINARES

17 Capítulo 2 Cifrado simétrico En criptología se estudian distintos métodos para la transmisión confidencial de datos. Una formulación simple del problema de confidencialidad es mediante dos entidades, Alicia y Bernardo, que deben comunicarse por un canal público sin que alguien con acceso a este canal, por ejemplo Eva, pueda obtener alguna información relevante de la comunicación. Digamos que A y B se comunican telefónicamente; E pincha la linea y escucha todo lo que se dicen; si A y B usan un esquema de confidencialidad, entonces E no entiende nada de lo que dicen. Figura 2.1: Comunicación en presencia de adversarios Existen dos tipos de cifrados simétricos, los cifrados por bloque, que encriptan de a bloques de caracteres, y le de cifrado por caracter (e.g., block ciphers y stream ciphers) 1. Analizamos dos aspectos rampantes de los block 1 La otra solución histórica es la esteganografía (στɛγαυóζ), e.g., escritura encubierta, aunque al día no existen esquemas esteganográficos de seguridad probable. 11

18 12 CAPÍTULO 2. CIFRADO SIMÉTRICO ciphers: las técnicas de diseño y los pormenores asociados a su uso correcto. Para el caso de los stream ciphers veremos algunos ejemplos, y revisaremos brevemente su dificultosa persistencia en el mundo tecnológico Block ciphers Hoy los block ciphers proveen el equilibrio exacto entre eficiencia y seguridad, en la comunicación de mensajes, y son una de las herramientas principales de la criptografía simétrica. En general, se establece un lenguaje L (por ejemplo L = {0, 1} o L = {a,b,c,...,x,y,z}) y un tamaño de bloque n Z, y se establece un espacio de claves K (por ejemplo K = {0, 1} k o K = {a,b,c,...,x,y,z} k ). Luego se establecen un par de aplicaciones (y algoritmos que las calculan) E : K L n L n y D : K L n L n de manera que, para toda clave k K, las aplicaciones E(k, ) : L n L n y D(k, ) : L n L n sean permutaciones de L n y además D(k, E(k, x)) = x para todo x L n. Formalmente: Definición 2.1 Un block cipher determinístico es un triplete de algoritmos eficientes (G, E, D), más un par de enteros n, k (que identifican al espacio de mensajes {0, 1} n y el espacio de claves {0, 1} k ) de manera que: G: es un algoritmo probabilístico que recibe una entrada de largo k (e.g., 1 k ) y devuelve una clave k {0, 1} k. E: Un algoritmo determinístico que calcula, a partir de una clave k y un valor de entrada x {0, 1} n, el valor E(k, x) {0, 1} n. D: Un algoritmo determinista que calcula, a partir de una clave k y un valor de entrada y, el valor D(k, y). y para toda clave k vale D(k, E(k, x)) = x. Más en general, podemos hablar de block ciphers probabilísticos, donde el resultado de la correspondencia E(k, ) : x E(k, x) es probabilístico (e.g., la función subyacente acepta como input una clave, un mensaje, y una tira de bits como fuente de aleatoriedad) y se mantiene la condición D(k, E(k, x)) = x. En lo que sigue estudiamos dos ejemplos paradigmáticos de block cipher y luego hacemos un estudio general de seguridad de block ciphers.

19 2.1. BLOCK CIPHERS DES, Lucifer y las Feistel networks Indiscutiblemente uno de los hitos que impulsara al estudio de criptografía es el artículo de Horst Feistel, publicado en Scientific American, Cryptography and Computer Privacy ([Fei73]) con los resultados de sus investigaciones sobre encriptado simétrico. La conclusión principal de Feistel fue la de clasificar las transformaciones de encriptado en dos: permutaciones y sustituciones las primeras lineales y las otras no lineales y combinar ambas para producir el efecto avalancha : pequeños cambios en la entrada produzcan grandes cambios en la salida. La histoira cuenta que Fesitel, quien trabajaba para IBM en ese entonces, desarrolló el block cipher Lucifer implementándolo en chips (i.e., hardware). Sus propiedades de diseño lo hacían ideal para eso. Poco después una agencia del gobierno estadounidense, la NSA, trabajó con el grupo de Feistel en IBM y otro de militares en lo que sería el Data Encryption Standard (DES), el standard en encripción simétrica desde su creación en 1976 hasta varios años después. Hace por lo menos 10 años que se sabe que DES es no resiste un ataque que de fuerza bruta ([?]), e.g., la Electronic Frontier Foundation (EFF) en 1995 construyó una arquitectura en paralelo que costó unos U$S y podía probar todas las claves posibles y encuentra la correcta en 3 días 2. Sin más dilaciones, describamos al algoritmo que calcula a DES. DES es un block cipher que usa claves de 56 bits (aunque solo usa 48 bits como clave, y los restantes sirven como chequeo de paridad) y acepta mensajes de 64 bits. Denotemos por E y D a las funciones de encriptado y desencriptado de DES que pasamos a describir. Los algoritmos E y D son iterativos, es decir que su implementación consiste de la repetición iterartiva de un mismo procedimiento. Cada ronda implementa una función de {0, 1} 48 {0, 1} 64 en {0, 1} 56 y se llama ronda. DES consta de 16 rondas. Antes de la primera ronda se aplica una permutación de la entrada (de 64 bits), y al finalizar las 16 rondas se aplica otra pemutación. Estas no contribuyen a la seguridad de DES pero estan ahí 3. Los algoritmos E y D corren un procedimiento de key scheduling para ensanchar la clave produciendo una clave por ronda, 2 Históricamente, esta acción cobra gran importancia. Pues, EFF, una fundación no gubernamental, demostró que era posible el brute-force attack. Mientras que, probablemente, otros gobiernos estaban al tanto de esta información que guardaban por propósitos estratégicos. Ver misc/descracker/, Febrero Hay mucho folklore en torno a la creación de DES, ya que fue creada por una agencia gubernamental que mantuvo en secreto los detalles (y errores) de diseño

20 14 CAPÍTULO 2. CIFRADO SIMÉTRICO digamos 16 claves k 1,..., k 16 de 48 bits. Cada ronda recibe de entrada la salida anterior y la clave k i : k Key Schedule x P f f f P y Una de las principales ventajas del diseño de DES es el uso de Fesitel tranforms, dónde se construyen funciones biyectivas a partir de funciones arbitrarias. Veamos: dado un string x = (x 1,..., x 64 ) {0, 1} 64 definimos L := (x 1,..., x 32 ) y R := (x 33,..., x 64 ). En cada ronda calcula la aplicación (L i 1, R i 1 ) (L i, R i ) por L i := R i 1 y R i := f(r i 1, K i ) L i 1 para una función f : {0, 1} 48 {0, 1} 32 {0, 1} 32 a definir. Es fácil ver que esta aplicación es inversible, e.g., pues para cada ronda i, 1 < i 16 los valores (L i 1, R i 1 ) se obtienen de (L i, R i ) por (L i 1, R i 1 ) = (R i f(k i, L i ), L i ). (2.1) Luego, para computar D se generan las claves K 1,..., K 16 {0, 1} 56 a partir de K y luego se aplica (2.1). Explicamos ahora brevemente un algoritmo de cómputo para la función f. En primer término se utiliza una serie de tablas (dependiendo la ronda, se usa una tabla distinta) en la que se establece como expandir la entrada de 32 bits a una de 48. Por ejemplo, la tabla correspondiente a la primera ronda establece expandir la entrada (a 1,..., a 32 ) a (a 32, a 1, a 2, a 3, a 4, a 5, a 4, a 5,...). Luego se calcula el X-OR entre esa entrada expandida y la clave de la ronda. Después de eso, se divide el valor en seis tiras de 8 bits cada una, y cada una entra una S-box distinta (o substitution box). DES usa n S-boxes distintas en las 16 rondas que estan descriptas por tablas, tienen por entrada 8bits y 6 de salida. De esta manera, el resultado de aplicar las 8 S-boxes es una tira de 32 bits. Finalmente, estos bits se permutan usando la permutación de la ronda. Expandir y X-OR Algunos ataques La seguridad de un esquema criptográfico, y en particular de un block cipher, se puede estimar por la efectividad de un atacante. En criptografía moderna se suele modelar a los atacantes por bounded-probability polynomialtime Turing machines (BPP TM), digamos que un block cipher se dirá seguro

21 2.1. BLOCK CIPHERS 15 si ningún atacante válido puede romperlo en tiempo razonable, y es razonable esperar que el atacante obtenga cierta información antes de comenzar el ataque. En el caso de block ciphers, uno quiere, además, cuantificar la información a la que los atacantes tienen acceso. Por ejemplo, ejemplo es claro que en casos como el del Caesar s cipher, conocer un par de plaintext-ciphertext le alcanza al atacante para recuperar la clave. Veámos las distintas clasificaciones Known-plaintext attack (KPA): el atacante tiene acceso a un número arbitrario de pares plaintext-ciphertext elegidos al azar. chosen-plaintext attack (CPA): el atacante puede elegir un número arbitrario de plaintexts, y antes de comenzar el ataque recibe los ciphertext correspondientes. chosen-ciphertext attack (CCA1): el atacante puede elegir un número arbitrario de ciphertexts, y antes de comenzar el ataque recibe los plaintexts correspondientes. adaptive chosen-ciphertext attack CCA2): el atacante puede elegir durante todo el ataque un número arbitrario de ciphertexts y recibe los plaintexts correspondientes inmediatamte. Cabe notar, que estos ataques son posibles en la vida real. Por ejemplo, un par de personas A,B pueden usar una misma clave durante un tiempo largo y pueden hacer público, después de varios meses, alguno de los mensajes que se transmitieron (permitiendo un KPA). De hecho, en el caso de que A y B usen la clave para intercambiar mails, un ejemplo trivial es aquel en el que el atacante le envia un chiste divertido a A, y espera que se lo reenvie a B para obtener un CPA. El caso de CCA es más dificil de realizar, pero aún posible: en el mismo setting, el atacante le manda un ciphertext a su elección a A, que al desencriptarlo recuperara un plaintext ilegible, y si no es cauto, puede responderle a B: No entendí nada de tu mensaje que dice: plaintext ilegible. Además en repetidas oportunidades, cuando técnicos no especializados desarrollan sistemas de seguridad, suelen permitir este tipo de filtrados de información con malas implementaciones (ver, por ejemplo, [?]). Buena parte de la teoría de block ciphers puede desarrolarse en torno a DES (cf. [Cop94]). En lo que sigue veremos dos ataques, el differential cryptanalysis [BS91] y el linear cryptanalysis [Mat94], los que se han transformado en pruebas que han de ser pasadas sine qua non para que un block

22 16 CAPÍTULO 2. CIFRADO SIMÉTRICO cipher pueda llamarse seguro. Pero antes de eso, cabe notar una propiedad curiosa de la aldea globalizada e Internet: en 1998 la empresa de seguridad RSA lanzó un concurso sobre quien podía romper a DES, un proyecto colaborativo reunió a miles de usuarios que bajaron un programa de Internet que ejecutaron en paralelo en sus máquinas y así rompieron DES en unos 39 dias. En definitiva, sería ilusorio desestimar el poder de una arquitectura paralelo de miles de máquinas en estos días. En la Sección veremos que los ataques que intentan recuperar la clave, si bien interesantes, brindan una noción de seguridad demasiado laxa (cf. Ejemplo 2.5). Criptoanálisis diferencial El criptoanálisis diferencial se utiliza para atacar block ciphers iterartivos, busca reconstruir la clave a partir de pares de plaintext-ciphertext elegidos por el atacante ([BS91], [?]). Si bien en general se requiere un alto número de estos pares, lo que hace el ataque poco práctico, resulta útil para medir la seguridad de un block cipher (cf. [?]. Por ejemplo en el caso de DES, un criptoanálisis diferencial requiere aproximadamente de 2 47 pares, y computa la clave en tiempo El ataque plantea obtener información estadística a partir de las diferencias entre un par de valores x y y la diferencia entre el resultado de aplicar una ronda de block cipher f(x) f(y). De ahí el diferencial. Linear cryptanalysis El análisis lineal ([Mat94]) precedió al diferencial y cumple el mismo propósito aunque con requerimientos mas bajos. Por ejemplo en el caso de DES, un criptoanálisis diferencial requiere de 2 44 pares concidos (no elegidos), y computa la clave en tiempo... Otras opciones Algo de brute forcing, y brute froceing machines. Después deducimos la necesidad de mejorar el tamaño de la clave y analizamos algunas construcciones que no andan. Los meet-in-the-middle attacks. Y definimos 3DES. Observación 2.2 Si bien 3des usa claves de 112 bits, existe un ataque del tipo CCA (chosen-ciphertext attack) que recupera la clave en tiempo proporcional a 2 60 (y otro tanto de espacio).

23 2.1. BLOCK CIPHERS 17 Demostración: Sean k 1, k 2 las claves de 56 bits que usa 3DES y recordemos que la aplicación de encripción está dada por x E(k 1, D(k 2, E(k 1, x))), donde E, D denotan la función de encripción y desencripción de DES, respectivamente. Calcular la encripción de 0 con todas las posibles claves (2 56 ) y guardarlo; para cada uno de esos ciphertexts calcular su desencripción; luego cada valor de la segunda tabla es de la forma D(k 1, E(k 2, D(k 1, E(k, 0)))) para distintos valores de k, y cuando k y k 1 coinciden esto es D(k 1, E(k 2, 0)); finalmente, para cada valor en la segunda tabla, calcular su encripción y notar que cuando se use la clave k 1 el resultado E(k 2, 0) aparecerá en la primera tabla. Así se encuentran ambas claves El advanced encryption standard (AES): Rijndael Después de casi 25 años de reinado de DES, y algunos tantos años de usar (por descarte) 3DES o Blowfish, la comunidad necesitaba un nuevo standard. En seguridad informática, parece ser que la gente necesita que le digan que hacer. Era dificil elegir entre las nuevas opciones: Blowfish, 3DES, etcétera. Para elegir el estandar la National Institute of Standards and Technology (NIST) organizó un concurso internacional abierto al público cuyas bases se presentaron en la pagina web los concursantes debían diseñar un block cipher buscando dos propiedades: seguridad y eficiencia. Cinco block ciphers sobrepasaron el umbral de eficiencia preestablecido y resistieron todos los ataques, éstos fueron evaluados por una comisión que eligió a Rijndael como el nuevo standard. El nombre Rijndael resulta de una contracción del nombre de sus creadores, los belgas, Vincent RIjmen y Joan Daemen. Juntos publilcaron un libro describiendo la creación de Rijndael ([DR02], ver también Rijndael fue el elegido. Rijndael es un block cipher rápido y seguro. Acepta claves de tamaño k = 128, 196 y 256 y mensajes de tamaños n = 128, 196 y 256. El standard AES cubre solo los casos de clave variable y mensajes de 128 bits. Rijndael es un block cipher iterativo, y el número de rondas depende de n y k. Describimos solo el caso n = 128 y k = 128. Para más información ver, por ej., [DR00]. El algoritmo inherente a Rijndael es bastante simple. Utiliza un procedimiento expand que expande la clave k {0, 1} 128 a 11 claves de 128 bits. Luego, cada una de las 10 rondas consta de tres procedimientos que se aplican consecutivamente: los denotamos S, Shif trows y M ixcols. Veamos:

24 18 CAPÍTULO 2. CIFRADO SIMÉTRICO input: k, m. output: c := E(k, m). Expansión: (k 0,..., k 10 ) := Expand(k); c := m k 0 ; For i := 1 to 10 do: { c := S(c); If i 9 then c := MixCols(c); c := c k i }; Devolver c; Figura 2.2: Rijdanel Los procedimientos S, Shif trow, M ixcols mezclan funciones no lineales (en el primer caso) con funciones lineales (en los restantes), brindando así un efecto avalancha similar al de DES. Las pasamos a describir. Para eso, interpretamos al mensaje input m := (m 1,..., m 128 ) como un estado: una matriz M de 4 4 cuyas entradas son tiras de 8 bits M i,j dadas por ( M i,j := m i+j 32 +( j 8 mod (4))+1,..., m i+j 32 +( j 8 mod (4))+8 ) A los elementos M i,j los interpretamos en el cuerpo finito GF (2 8 ) o como el un elemento del conjunto {0, 1} 8, dependiendo el caso. Suponemos dada una descripción eficiente de GF (2 8 ) (e.g., algoritmos de suma, multiplicación y división). La aplicación S recive matrices A. La salida S(A) de S se calcula byte a byte, digamos S(A) = (s(a i,j )) i,j para alguna aplicación s : {0, 1} 8 {0, 1} 8. La aplicación s se calcula en dos pasos: en el primer paso, se considera a la entrada a GF (2 8 ); si el elemento es no nulo, entonces computa su inversa multiplicativa a 1 (y sino lo deja en a := 0); Como segundo paso, considera al resultado del primer paso a := (a 1,..., a 8 ) como una 8-upla de

25 2.1. BLOCK CIPHERS 19 elementos de GF (2): y le aplica la transformación a a 8 1 a a 7 1 a a 6 0 a 5 a a 5 a a a 3 1 a a 2 1 a a 1 0 El segundo procedimiento, ShifRows, actua sobre cada estado de la siguiente manera: A 1,1 A 1,2 A 1,3 A 1,4 A 1,1 A 1,2 A 1,3 A 1,4 A 2,1 A 2,2 A 2,3 A 2,4 A 3,1 A 3,2 A 3,3 A 3,4 A 2,2 A 2,3 A 2,4 A 2,1 A 3,3 A 3,4 A 3,1 A 3,2 A 4,1 A 4,2 A 4,3 A 4,4 A 4,4 A 4,1 A 4,2 A 4,3 Finalmente, para computar MixCols, consideramos por separado a las cuatro columnas de la matriz input con entradas en GF (2 8 ). A cada una se le aplica la operación A 1,i A 1,i A 2,i A 3,i A 4,i A 2,i A 3,i A 4,i No vamos a describir el algoritmo de expansión de claves (o key-scheduling). El lector interesado puede encotrarlo en [DR00] Seguridad de block ciphers Esta sección está dedicada a los distintos enunciados de seguridad para block ciphers, su alcance y argumentos de existencia. Observación 2.3 Dado que un usuario que tiene la clave k usada por un block cipher E es capáz de decifrar cualquier mensaje usando una máquina de Turing determinística, deducimos que también puede hacerlo sin la clave con una máquina de Turing no determinística. De manera que para que exista un block cipher seguro, debe ser NP BP P (en particular P NP ). Nótese, sinembargo, que en realidad se necesita mucho más ya que P NP implicaría solamente que el problema de romper el block cipher es intratable en el peor caso (worst-case complexity).

26 20 CAPÍTULO 2. CIFRADO SIMÉTRICO La observación precedente, que dice que probar la existencia de un block cipher seguro demostraría que P NP, parecería indicar que este es un trabajo difícil. O que hasta la más simple formulación de seguridad en criptografía es inviable. How to construct random functions? En uno de los trabajos claves de la criptografía moderna la señorita Shafi Goldwasser, y los señores Oded Goldreich y Silvio Micali ([GGM86]) introducen un nuevo paradigma para la construcción de funciones pseudo aleatorias (pseudo-random functions, prf) que pasaría a ser uno de los paradigmas más usados para el análisis de seguridad en cripotgrafía. La noción de [GGM86] con antecesores [?] y [?] provee un nuevo paradigma en criptografía. Con el paradigma viejo, se modelaba la seguridad de las primitivas por problemas intratables. Este nuevo paradigma, proclama objetos ideales y luego calcula su distancia a los objetos criptográficos (reales), la meta es mostrar que son computacionalmente indistinguibles. Expandiremos este concepto en lo que sigue de esta sección (ver también Sección 5.1). En particular, este nuevo paradigma permiten evaluar la seguridad de block ciphers usando como objeto ideal a las pseudo-random permutations. Veamos si podemos definir una noción de seguridad que sea útil en la práctica. Antes debemos introducir algunas nociones básicas. La primera es la de ventaja. Esta es un método que usamos los criptógrafos para medir la seguridad de un sistema criptográfico. Veamos: Supongamos que G es un algoritmo generador de números aleatorios. Digamos que genera una sucesión de bits x 1, x 2,... {0, 1}. Entonces la ventaja que tiene un atacante A sobre este generador se puede medir por la probabilidad que tiene el atacente de adivinar en siguiente bit (next bit, en inglés): Adv nb G (A) := Pr[A = b : G = b] es decir, la probabilidad que tiene A de adivinar el bit b {0, 1} que genera G. La segunda noción que necesitamos es la de función negligible. Un primer camino, quizás siguiendo el acercamiento histórico, es decir que un block cipher seguro si nadie puede recuperar la clave aunque obtenga varios pares de plaintext-ciphertext (key-recovery resistant). Para ser explícito, decimos que un atacante tiene éxito si después de elegir los mensajes x 1,..., x q {0, 1} s y obtener de un oráculo sus encripciones E(k, x 1 ),..., E(k, x q ), puede computar k eficientemente (midiendo su costo de computo en función de los parámetros k, q).

27 2.1. BLOCK CIPHERS 21 Definición 2.4 (Seguridad kr) Sea (G, E, D) un block cipher. Sea A un atacante que intenta recuperar la clave del block cipher. Se define a su ventaja por Adv kr E (A) := Pr[A E(k, ) = k; k K]. Donde A E(k, ) denota la máquina de Turing A que tiene acceso oracular a la aplicación E(k, ) y la expresión de arriba denota la probabilidad que tiene A de devolver la clave k donde la probabilidad está tomada sobre las tiradas de moneda de A y el resultado del algoritmo generador de claves. Es fácil ver que esta definición es débil: Ejemplo 2.5 El block cipher definido por las funciones de encriptado y desencriptado E(k, x) := x y D(k, x) := x y cualquier algoritmo de generación de claves es segura (e.g., si G elige k según la distribución uniforme, entonces todo atacante tiene ventaja menor a 1 ) según esta definición pero inútil 2 k para cualquier aplicación. Un segundo camino es el de medir la seguridad del block cipher por la probabilidad que tiene un atacante de construir un par de plaintextciphertext (new-pair attack, npa). Digamos, en este caso se fija una clave k, el atacante tiene derecho a obtener la encripción de los mensajes x 1,..., x q elegidos por el, y debe producir un par x, E(k, x) de manera que x x i para 1 i q. Definición 2.6 (np) Sea (G, E, D) un block cipher. Sea A un atacante probabilístico que corre en tiempo polinomial y devuelve un par nuevo de plaintextciphertext. Su ventaja se define por Adv np E (A) := Pr[AE(k, ) = (x, E(k, x)); k K; A no hizo querries sobre x]. Donde A E(k, ) denota la máquina de turing A que tiene acceso oracular a la aplicación E(k, ) y la expresión de arriba denota la probabilidad que tiene A de devolver un nuevo par x, E(k, x) distinto a los que ya obtuvo. Esta definición sigue teniendo problemas. Esto lo tratamos en el siguiente lema. Lema 2.7 Sea (G, E, D) un block cipher que es new-pair resistant. Consideremos al triplete (G, E, D ), con espacio idéntico espacio de claves y espacio de mensajes {0, 1} 2n dos veces más grande, dado por G := G, E (k, x 1 x 2 ) := x 1 E(k, x 1 E(k, x 2 )) y D como su inversa.

28 22 CAPÍTULO 2. CIFRADO SIMÉTRICO Sea A una BPP que ataca a E (CPA). Entonces existe un atacante A contra E, también (CPA) tal que Adv np (A, q) Adv np (A, 2q) k 1. Además notamos que E leakea la mitad de cada mensaje. La construcción de E imita un método muy usado en la práctica, conocido como el modo de encadenamiento cipher block chaining (CBC) para block ciphers. Estudiamos éste método en la Sección (ver también [BKR94]). Demostración: Primero notamos que la segunda afirmación es obvia, E devuelve los primeros n bits de cada mensaje en {0, 1} 2n. Sea A un atacante que computa un par nuevo de plaintext-ciphertext respecto a E, es decir, computa un par ( x 1 x 2, x 1 E(k, x 1 E(k, x 2 ) ) sin haberle preguntado al oráculo E (k, ) por la encripción de x 1 x 2 {0, 1} 2n. Denotemos por Adv np (A, q) su probabilidad de éxito. Construimos a A aprovechando la construcción de A. A corre imitando a A, es decir repite los mismos cómputos, solo que cuando A accede al oráculo E (k, ) con un valor x y, A accede al oráculo E(k, ) dos veces, primero con y y segundo con x E(k, y). Finalmente, cuando A termina y escribe el mensaje ( x 1 x 2, x 1 E(k, x 1 E(k, x 2 ) ) en su cinta de salida, A hace un querry al oráculo por la encripción de x 2 y devuelve el par x 1 E(k, x 2 ), E(k, x 1 E(k, x 2 )). Primero, nótese que A corre en tiempo polinomial, además devuelve un par de plaintext-ciphertext (con respecto a E) cada vez que A lo hace. El par x 1 E(k, x 2 ) que devuelve A es nuevo, salvo si A hace querries por un par x y, o bien con y = x 1 E(k, x 2 ) o bien con x E(k, y) = x 1 E(k, x 2 ). En ambos casos A falla. Nótese que la probabilidad de que alguno de estos eventos prohibitivos enumerados arriba suceda es menor a 1 2 k. Luego como queríamos probar. Adv np (A, q) Adv np (A, 2q) k 1 Finalmente, veamos la definición que aparece según pseudo-random functions (prf) y psuedo-random permutations (prp). La idea detrás dell concepto de pseudo-random functions (resp. permutations) es la de comparar la familia de funciones {E k : {0, 1} n {0, 1} n } k con la de todas las funciones f : {0, 1} n {0, 1} n (resp. las permutaciones de {0, 1} n. Diremos que un

29 2.1. BLOCK CIPHERS 23 block cipher (G, E, D) induce una pseudo-random function si éstas dos familias son indistinguibles. Más precisamente: Sea (G, E, D) un block cipher, y consideremos la familia de funciones E : {0, 1} k {0, 1} n {0, 1} dada por: { fk : {0, 1} n {0, 1} n }. (2.2) x f k (x) := E(k, x) k {0,1} k Consideremos a su vez, la familia de todas las permutaciones de {0, 1} n, y notémosla Perm({0, 1} n ). Definición 2.8 (PRP) Sean fijos n, k Z y las dos familias recién definidas. Sea A una BPP TM, se define la ventaja del atacante contra la prf por Adv prp E (A) = Pr[[k K; AE(k, ) = 1] Pr[π Perm({0, 1} n ) : A π = 1] (2.3) = 2 Pr[k K; π Perm({0, 1} n ); b {0, 1}; si b = 0 entonces g = π sino g = E(k, ) : A g = b] 1. (2.4) Demostración: Sea L el miembro derecho de la igualdad: (2.4). Como Pr[b = 0] = Pr[b = 1] = 1 2 se tiene que ( 1 L = 2 2 P r[api = 0] + 1 ) 2 (Pr[AE K = 1]) 1 (2.5) tomando las probabilidades según k K; π Perm({0, 1} n ), luego haciendo el reemplazo Pr[A π = 0] = 1 Pr[A π = 1] en 2.5 se prueba la igualdad entre L y (??). Ejemplo 2.9 Sea s Z un entero positivo. 1. Sea X := {f : {0, 1} s {0, 1} s } la familias de todas funciones de {0, 1} s en {0, 1} s. Luego X es un conjunto de 2 s2s elementos. 2. Sea Y la familia de permutaciones de {0, 1} s. Luego Y tiene (2 s )! elementos. 3. Sea s Z un entero positivo y sea (G, E, D) un block cipher con espacio de mensajes {0, 1} s. Se define entonces el algoritmo k G(1 k ) y la familia de funciones {x E(k, x)} k {0,1} k.

30 24 CAPÍTULO 2. CIFRADO SIMÉTRICO Si bien hay (2 n )! permutaciones de 2 n elementos, sólo 2 k pueden ser descriptas por un block cipher (en general k y n son del mismo orden, digamos n, k 256. Por ejemplo, en el caso en que n = k = 128, sólo una fracción pequña /2 128! = 1/( )! de las permutaciones quedan descriptas por el block cipher. La idea principal de este trabajo es la introducción de distinguishers 4. Un distinguisher es una máquina de Turing probabilistica. Su trabajo es, dadas dos familias de funciones {F (k, ) : k K F } y {G(k, ) : k K G }, distinguir entre ellas (por ejemplo una es la familia dada por Rijdael (n = k = 128) y la otra es la totalidad de permutaciones de 128elementos). Vemos ahora el siguiente lemita que dice que seguridad en el sentido de PRF implica seguridad en el sentido de key recovery. Lema 2.10 Para toda máquina de Turing B existe una máquina de Turing A tal que Adv prp (A) Adv kr (B) 2 n. Demostración: Sea B un atacante (KPA) que recupera la clave de E. Siguiendo un argumento de reducción, construimos un adversario A que ataca a E en el sentido de pseudo-random permutations. Supongamos que el juego fue inicializado y denotemos por f(x) a la función que accede A via el oráculo (f está en alguna de las dos familias). El adversario A corre una copia de B: cada vez que B hace un querry al oráculo por el valor de E(k, x), A hace un querry a su oráculo por el valor f(x) el cual le pasa a B. Supongamos que B finalizó su ejecución devolviendo la clave k. Sea x {0, 1} n un valor por el que B no hizo querries (SPG podemos asumir que no hizo 2 n querries), luego A computa E(k, x) y hace un querry al oráculo por x. Sea y := f(x). Si y = E(k, x) entonces A devuelve 1. Sino A devuelve 0. Nótese que A es un adversario válido. En el caso en el que f = E k para algún k, vale que A contesta bien siempre que B encuentra la clave: Pr[A Ek = 1] Adv kr (B). Por otro lado, si la función que le tocó a A era una pseudo-random permutation f = π entonces la probabilidad de que el valor π(x) y E(k, x) coincidan está acotada por Pr[A π = 1] 2 n. Luego se tiene que Adv prp (A) = Pr[A Ek = 1] Pr[A π = 1] Adv kr (B) 2 n como queríamos ver. 4 La palabra traducción inmediata de distinguisher es el que distingue, o distinguidor ; aunque nosotros preferimos utilizar el término en inglés y olvidar las traducciones que solo conducen a equivocaciones.

CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA

CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA Para generar una transmisión segura de datos, debemos contar con un canal que sea seguro, esto es debemos emplear técnicas de forma que los datos que se envían de una

Más detalles

Introducción. Algoritmos

Introducción. Algoritmos Introducción La firma digital es una herramienta que permite garantizar la autoría e integridad de los documentos digitales, posibilitando que éstos gocen de una característica que únicamente era propia

Más detalles

Semana 13: Encriptación. Cifrado simétrico

Semana 13: Encriptación. Cifrado simétrico Semana 13: Encriptación Cifrado simétrico Aprendizajes esperados Contenidos: Características y principios del cifrado simétrico Algoritmos de cifrado simétrico Encriptación Simétrica En la encriptación

Más detalles

Métodos Encriptación. Tópicos en Sistemas de Computación Módulo de Seguridad

Métodos Encriptación. Tópicos en Sistemas de Computación Módulo de Seguridad Métodos Encriptación Tópicos en Sistemas de Computación Módulo de Seguridad Temario Introducción Breve historia Algoritmos simétricos Algoritmos asimétricos Protocolos seguros Ejemplos Introducción Porqué

Más detalles

Práctica 5. Curso 2014-2015

Práctica 5. Curso 2014-2015 Prácticas de Seguridad Informática Práctica 5 Grado Ingeniería Informática Curso 2014-2015 Universidad de Zaragoza Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas

Más detalles

ANÁLISIS DE DATOS NO NUMERICOS

ANÁLISIS DE DATOS NO NUMERICOS ANÁLISIS DE DATOS NO NUMERICOS ESCALAS DE MEDIDA CATEGORICAS Jorge Galbiati Riesco Los datos categóricos son datos que provienen de resultados de experimentos en que sus resultados se miden en escalas

Más detalles

CRIPTOGRAFIA. Qué es, usos y beneficios de su utilización. Universidad Nacional del Comahue

CRIPTOGRAFIA. Qué es, usos y beneficios de su utilización. Universidad Nacional del Comahue CRIPTOGRAFIA Qué es, usos y beneficios de su utilización Introducción Antes, computadoras relativamente aisladas Hoy, computadoras en redes corporativas conectadas además a Internet Transmisión de información

Más detalles

TEMA 2: Representación de la Información en las computadoras

TEMA 2: Representación de la Información en las computadoras TEMA 2: Representación de la Información en las computadoras Introducción Una computadora es una máquina que procesa información y ejecuta programas. Para que la computadora ejecute un programa, es necesario

Más detalles

Como sabemos, en un Sistema de Comunicación de Datos, es de vital importancia

Como sabemos, en un Sistema de Comunicación de Datos, es de vital importancia Encriptación de Datos Como sabemos, en un Sistema de Comunicación de Datos, es de vital importancia asegurar que la Información viaje segura, manteniendo su autenticidad, integridad, confidencialidad y

Más detalles

3. Algoritmo DES (Data Encription Standard)

3. Algoritmo DES (Data Encription Standard) 3. Algoritmo DES (Data Encription Standard) 3.1. Fundamentos Cifrado por bloques (block cipher) Opera sobre un bloque de texto plano de n bits para producir un texto cifrado de n bits. Tipicamente, la

Más detalles

Tema 2. Espacios Vectoriales. 2.1. Introducción

Tema 2. Espacios Vectoriales. 2.1. Introducción Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por

Más detalles

El modelo de ciclo de vida cascada, captura algunos principios básicos:

El modelo de ciclo de vida cascada, captura algunos principios básicos: Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software. El primer ciclo de vida del software, "Cascada",

Más detalles

SEGURIDAD EN SISTEMAS DE INFORMACION. TEMA 2 - parte 2. Criptografia asimétrica

SEGURIDAD EN SISTEMAS DE INFORMACION. TEMA 2 - parte 2. Criptografia asimétrica SEGURIDAD EN SISTEMAS DE INFORMACION TEMA 2 - parte 2. Criptografia asimétrica FJRP, FMBR. SSI, 2010 15 de marzo de 2010 1. Conceptos básicos Propuesta por Diffie y Hellman en 1976. Aproximación completamente

Más detalles

Dra. Elsa Estévez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur

Dra. Elsa Estévez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Controles de Entorno Dra. Elsa Estévez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 2do. Cuatrimestre 2010 Contenido Controles Criptográficos Definiciones Técnicas

Más detalles

Encriptación en Redes

Encriptación en Redes Encriptación en Redes Integrantes: Patricio Rodríguez. Javier Vergara. Sergio Vergara. Profesor: Agustín González. Fecha: 28 de Julio de 2014. Resumen Un tema importante actualmente en la redes de computadores,

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Tema 11 Introducción a la Criptografía

Tema 11 Introducción a la Criptografía Bloque IV AUDITORÍA EN EL DESARROLLO DE SOFTWARE Tema 11 Introducción a la Criptografía Tema 11 Introducción a la Criptografía 1/ Índice Índice Conceptos básicos Criptosistemas simétricos Criptosistemas

Más detalles

Divisibilidad y números primos

Divisibilidad y números primos Divisibilidad y números primos Divisibilidad En muchos problemas es necesario saber si el reparto de varios elementos en diferentes grupos se puede hacer equitativamente, es decir, si el número de elementos

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

Más detalles

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario 14 CORREO SEGURO. Hay aplicaciones de correo que permiten enviar y recibir correos cifrados y firmados digitalmente utilizando criptografía. Estas operaciones garantizan el intercambio seguro de información,

Más detalles

Módulo 9 Sistema matemático y operaciones binarias

Módulo 9 Sistema matemático y operaciones binarias Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional

Más detalles

Criptografía. Por. Daniel Vazart P.

Criptografía. Por. Daniel Vazart P. Criptografía Por. Daniel Vazart P. Que es? La finalidad de la criptografía es, en primer lugar, garantizar el secreto en la comunicación entre dos entidades (personas, organizaciones, etc.) y, en segundo

Más detalles

Aproximación local. Plano tangente. Derivadas parciales.

Aproximación local. Plano tangente. Derivadas parciales. Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación

Más detalles

Problemas indecidibles

Problemas indecidibles Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas

Más detalles

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Datos del autor Nombres y apellido: Germán Andrés Paz Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Correo electrónico: germanpaz_ar@hotmail.com =========0========= Introducción

Más detalles

Apuntes de Matemática Discreta 9. Funciones

Apuntes de Matemática Discreta 9. Funciones Apuntes de Matemática Discreta 9. Funciones Francisco José González Gutiérrez Cádiz, Octubre de 004 Universidad de Cádiz Departamento de Matemáticas ii Lección 9 Funciones Contenido 9.1 Definiciones y

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

Materia: Informática. Nota de Clases Sistemas de Numeración

Materia: Informática. Nota de Clases Sistemas de Numeración Nota de Clases Sistemas de Numeración Conversión Entre Sistemas de Numeración 1. EL SISTEMA DE NUMERACIÓN 1.1. DEFINICIÓN DE UN SISTEMA DE NUMERACIÓN Un sistema de numeración es un conjunto finito de símbolos

Más detalles

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION CHIQUINQUIRA (BOYACA) 2015 1 CONTENIDO Pág. QUE ES UN SISTEMA BINARIO. 3 CORTA HISTORIA DE LOS

Más detalles

Un problema sobre repetidas apuestas al azar

Un problema sobre repetidas apuestas al azar Un problema sobre repetidas apuestas al azar Eleonora Catsigeras 1 10 de marzo de 2003. Resumen En estas notas se da el enunciado y una demostración de un conocido resultado sobre la probabilidad de éxito

Más detalles

Criptografía binaria block ciphers y funciones de hash

Criptografía binaria block ciphers y funciones de hash Criptografía binaria block ciphers y funciones de hash Carlos Sarraute Core Security Technologies Jornadas de Criptografía y Códigos Autocorrectores 20 al 24 de noviembre 2006 Mar del Plata Agenda Introducción

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

Programación Genética

Programación Genética Programación Genética Programación Genética consiste en la evolución automática de programas usando ideas basadas en la selección natural (Darwin). No sólo se ha utilizado para generar programas, sino

Más detalles

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

Descripción del algoritmo DES (Data Encryption Standard)

Descripción del algoritmo DES (Data Encryption Standard) Descripción del algoritmo DES (Data Encryption Standard) Jorge Sánchez Arriazu diciembre de 1999 DES Introducción DES (Data Encryption Standard, estándar de cifrado de datos) es un algoritmo desarrollado

Más detalles

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia. DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar

Más detalles

Los números racionales

Los números racionales Los números racionales Los números racionales Los números fraccionarios o fracciones permiten representar aquellas situaciones en las que se obtiene o se debe una parte de un objeto. Todas las fracciones

Más detalles

INTERNET Y WEB (4º ESO)

INTERNET Y WEB (4º ESO) INTERNET Y WEB (4º ESO) 1. CLASIFICACIÓN DE LAS REDES Internet se define comúnmente como la Red de redes, o la Red global. En cualquier caso, puede considerarse como la unión de entidades más pequeñas

Más detalles

Funciones, x, y, gráficos

Funciones, x, y, gráficos Funciones, x, y, gráficos Vamos a ver los siguientes temas: funciones, definición, dominio, codominio, imágenes, gráficos, y algo más. Recordemos el concepto de función: Una función es una relación entre

Más detalles

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS ESTRUCTURA DE COMPUTADORES Pag. 8.1 LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS 1. Circuitos de multiplicación La operación de multiplicar es mas compleja que la suma y por tanto se

Más detalles

VULNERABILIDADES CRIPTOGRÁFICAS. Por Alexandre Ramilo Conde y Pablo Prol Sobrado

VULNERABILIDADES CRIPTOGRÁFICAS. Por Alexandre Ramilo Conde y Pablo Prol Sobrado VULNERABILIDADES CRIPTOGRÁFICAS Por Alexandre Ramilo Conde y Pablo Prol Sobrado 1. Cifrado Simétrico a. DES b. AES Índice 2. Cifrado Asimétrico a. RSA b. DSA 3. Funciones Hash a. MD5 b. SHA-0 y SHA-1 c.

Más detalles

Lección 12 Seguridad y criptografía. Universidad de Oviedo / Dpto. de Informática

Lección 12 Seguridad y criptografía. Universidad de Oviedo / Dpto. de Informática Lección 12 Seguridad y criptografía Seguridad Los sistemas distribuidos son más inseguros que los centralizados por que exponen más la información. Un sistema distribuido tiene más puntos atacables. Contrapartida:

Más detalles

TPVFÁCIL. Caja Real. Definiciones.

TPVFÁCIL. Caja Real. Definiciones. TPVFÁCIL. Caja Real. TPVFÁCIL incluye desde la versión 3.3.2 la posibilidad de manejar dos cajas, la Caja Real y la Caja normal. La idea es esconder los datos de caja que pueden alcanzar los usuarios no

Más detalles

Actividades con GeoGebra

Actividades con GeoGebra Conectar Igualdad - "Netbooks Uno a Uno" Actividades con GeoGebra Nociones básicas, rectas Silvina Ponce Dawson Introducción. El GeoGeobra es un programa que permite explorar nociones matemáticas desde

Más detalles

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx Resumen Se dan algunas definiciones básicas relacionadas con la divisibilidad

Más detalles

Algoritmos de cifrado Definir el problema con este tipo de cifrado

Algoritmos de cifrado Definir el problema con este tipo de cifrado Criptografía Temario Criptografía de llave secreta (simétrica) Algoritmos de cifrado Definir el problema con este tipo de cifrado Criptografía de llave pública (asimétrica) Algoritmos de cifrado Definir

Más detalles

VÍDEO intypedia003es LECCIÓN 3: SISTEMAS DE CIFRA CON CLAVE PÚBLICA. AUTOR: Gonzalo Álvarez Marañón

VÍDEO intypedia003es LECCIÓN 3: SISTEMAS DE CIFRA CON CLAVE PÚBLICA. AUTOR: Gonzalo Álvarez Marañón VÍDEO intypedia003es LECCIÓN 3: SISTEMAS DE CIFRA CON CLAVE PÚBLICA AUTOR: Gonzalo Álvarez Marañón Consejo Superior de Investigaciones Científicas, Madrid, España Hola, bienvenidos a intypedia. Conocidos

Más detalles

Definición 2.1.1. Se llama suceso aleatorio a cualquier subconjunto del espacio muestral.

Definición 2.1.1. Se llama suceso aleatorio a cualquier subconjunto del espacio muestral. Capítulo 2 Probabilidades 2. Definición y propiedades Al realizar un experimento aleatorio nuestro interés es obtener información sobre las leyes que rigen el fenómeno sometido a estudio. El punto de partida

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Definición 1.1.1. Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

Definición 1.1.1. Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas. Tema 1 Matrices Estructura del tema. Conceptos básicos y ejemplos Operaciones básicas con matrices Método de Gauss Rango de una matriz Concepto de matriz regular y propiedades Determinante asociado a una

Más detalles

SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS INTRODUCCIÓN

SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS INTRODUCCIÓN INTRODUCCIÓN Criptografía proviene del griego y significa Escritura secreta. Se debe hacer una distinción entre cifrados y códigos: Un cifrado es una transformación carácter a carácter o bit a bit, sin

Más detalles

Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13

Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13 Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13 Rompiendo el Código Enigma Introducción y objetivos Como un pequeño homenaje a Alan Turing en su año conmemorativo, las prácticas de este curso

Más detalles

Probabilidades y Estadística (Computación) Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Ana M. Bianco y Elena J.

Probabilidades y Estadística (Computación) Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Ana M. Bianco y Elena J. Generación de Números Aleatorios Números elegidos al azar son útiles en diversas aplicaciones, entre las cuáles podemos mencionar: Simulación o métodos de Monte Carlo: se simula un proceso natural en forma

Más detalles

Capítulo 8 Teoría de la Complejidad Algorítmica

Capítulo 8 Teoría de la Complejidad Algorítmica Capítulo 8 Teoría de la Complejidad Algorítmica Seguridad Informática y Criptografía Ultima actualización del archivo: 01/03/06 Este archivo tiene: 31 diapositivas v 4.1 Material Docente de Libre Distribución

Más detalles

TEMA 5. ELECTRÓNICA DIGITAL

TEMA 5. ELECTRÓNICA DIGITAL TEMA 5. ELECTRÓNICA DIGITAL 1. INTRODUCCIÓN Los ordenadores están compuestos de elementos electrónicos cuyas señales, en principio, son analógicas. Pero las señales que entiende el ordenador son digitales.

Más detalles

Semana 14: Encriptación. Cifrado asimétrico

Semana 14: Encriptación. Cifrado asimétrico Semana 14: Encriptación Cifrado asimétrico Aprendizajes esperados Contenidos: Características y principios del cifrado asimétrico Algoritmos de cifrado asimétrico Funciones de hash Encriptación Asimétrica

Más detalles

Arquitectura de seguridad OSI (ISO 7498-2)

Arquitectura de seguridad OSI (ISO 7498-2) Universidad Nacional Autónoma de México Facultad de Ingeniería Criptografía Grupo 2 Arquitectura de seguridad OSI (ISO 7498-2) ALUMNOS: ARGUETA CORTES JAIRO I. MENDOZA GAYTAN JOSE T. ELIZABETH RUBIO MEJÍA

Más detalles

SISTEMAS DE NUMERACIÓN. Sistema decimal

SISTEMAS DE NUMERACIÓN. Sistema decimal SISTEMAS DE NUMERACIÓN Sistema decimal Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros días, tal es el caso de los "números romanos",

Más detalles

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento Qué es AT-Encrypt nos permitirá dotar de contraseña a cualquier documento o carpeta. Este documento o carpeta sólo será legible por aquel que conozca la contraseña El funcionamiento del cifrado (o encriptación)

Más detalles

7. Conclusiones. 7.1 Resultados

7. Conclusiones. 7.1 Resultados 7. Conclusiones Una de las preguntas iniciales de este proyecto fue : Cuál es la importancia de resolver problemas NP-Completos?. Puede concluirse que el PAV como problema NP- Completo permite comprobar

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

Indicaciones específicas para los análisis estadísticos.

Indicaciones específicas para los análisis estadísticos. Tutorial básico de PSPP: Vídeo 1: Describe la interfaz del programa, explicando en qué consiste la vista de datos y la vista de variables. Vídeo 2: Muestra cómo crear una base de datos, comenzando por

Más detalles

Matrices equivalentes. El método de Gauss

Matrices equivalentes. El método de Gauss Matrices equivalentes. El método de Gauss Dada una matriz A cualquiera decimos que B es equivalente a A si podemos transformar A en B mediante una combinación de las siguientes operaciones: Multiplicar

Más detalles

Curso: Teoría de la Computación. Unidad 2, Sesión 8: Complejidad computacional (2)

Curso: Teoría de la Computación. Unidad 2, Sesión 8: Complejidad computacional (2) Curso: Teoría de la Computación. Unidad 2, Sesión 8: Complejidad computacional (2) Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay dictado semestre 2-2009

Más detalles

MÓDULO 2. LEYES FINANCIERAS DE CAPITALIZACIÓN Y DESCUENTO SIMPLE

MÓDULO 2. LEYES FINANCIERAS DE CAPITALIZACIÓN Y DESCUENTO SIMPLE MÓDULO 2. LEYES FINANCIERAS DE CAPITALIZACIÓN Y DESCUENTO SIMPLE Índice de contenidos: 1. Ley Financiera de capitalización a interés vencido. 1.1. Equivalencia de capitales. 1.2. Tipos de interés equivalentes.

Más detalles

Diferenciabilidad. Definición 1 (Función diferenciable). Cálculo. Segundo parcial. Curso 2004-2005

Diferenciabilidad. Definición 1 (Función diferenciable). Cálculo. Segundo parcial. Curso 2004-2005 Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 2004-2005 Diferenciabilidad. 1. Definición de función diferenciable Después del estudio de los ites de funciones

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 Estándares para planes de calidad de software Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 DIFERENCIA ENTRE PRODUCIR UNA FUNCION Y PRODUCIR UNA FUNCION

Más detalles

Análisis de los datos

Análisis de los datos Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Análisis de los datos Hojas de cálculo Tema 6 Análisis de los datos Una de las capacidades más interesantes de Excel es la actualización

Más detalles

Sistemas de seguridad en redes inalámbricas: WEP, WAP y WAP2

Sistemas de seguridad en redes inalámbricas: WEP, WAP y WAP2 Sistemas de seguridad en redes inalámbricas: WEP, WAP y WAP2 Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www.acens.com Introducción Actualmente una de las formas más utilizadas para conectarse

Más detalles

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW): INFORMÁTICA IE MÓDULO INTERNET Términos a conocer y conceptos básicos World Wide Web (WWW): Digamos, simplemente, que es un sistema de información, el sistema de información propio de Internet. Sus características

Más detalles

Sistemas de numeración

Sistemas de numeración Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan

Más detalles

SistemA Regional de Información y Evaluación del SIDA (ARIES)

SistemA Regional de Información y Evaluación del SIDA (ARIES) SistemA Regional de Información y Evaluación del SIDA (ARIES) Que es ARIES? El Sistema Regional de Información y Evaluación del SIDA (ARIES) es un sistema informático del VIH/SIDA basado en el internet

Más detalles

D.E.S. (Data Encryption Standard) Cifrado Convencional

D.E.S. (Data Encryption Standard) Cifrado Convencional D.E.S. (Data Encryption Standard) Cifrado Convencional ANTECEDENTES Horst Feistel (IBM) Cómo usar sustitución monoalfabética y obtener un criptosistema aceptable? Incorporación de transposición Cambio

Más detalles

Subespacios vectoriales en R n

Subespacios vectoriales en R n Subespacios vectoriales en R n Víctor Domínguez Octubre 2011 1. Introducción Con estas notas resumimos los conceptos fundamentales del tema 3 que, en pocas palabras, se puede resumir en técnicas de manejo

Más detalles

Espacios Vectoriales

Espacios Vectoriales Espacios Vectoriales Departamento de Matemáticas, CCIR/ITESM 4 de enero de 2 Índice 3.. Objetivos................................................ 3.2. Motivación...............................................

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Ecuaciones de primer grado con dos incógnitas

Ecuaciones de primer grado con dos incógnitas Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

EL ÁBACO AUTOMATIZADO LA EVOLUCIÓN DE LOS ORDENADORES

EL ÁBACO AUTOMATIZADO LA EVOLUCIÓN DE LOS ORDENADORES Introducción: EL ÁBACO AUTOMATIZADO LA EVOLUCIÓN DE LOS ORDENADORES Juan Antonio Franco Pastor I.E.S. CONSUELO ARANDA Alberic El ábaco es el dispositivo más antiguo que existen que nos ayuda a realizar

Más detalles

MENSAREX: SISTEMA DE MENSAJERÍA DEL MINREX Gretel García Gómez gretel@minrex.gov.cu Ministerio de Relaciones Exteriores Cuba.

MENSAREX: SISTEMA DE MENSAJERÍA DEL MINREX Gretel García Gómez gretel@minrex.gov.cu Ministerio de Relaciones Exteriores Cuba. MENSAREX: SISTEMA DE MENSAJERÍA DEL MINREX Gretel García Gómez gretel@minrex.gov.cu Ministerio de Relaciones Exteriores Cuba Resumen El presente trabajo da solución a dos de los problemas informáticos

Más detalles

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente: Departamento de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Antioquia Arquitectura de Computadores y Laboratorio ISI355 (2011 2) Práctica No. 1 Diseño e implementación de una unidad aritmético

Más detalles

Problemas fáciles, difíciles y muy difíciles

Problemas fáciles, difíciles y muy difíciles Problemas fáciles, difíciles y muy difíciles Santiago Figueira Universidad de Buenos Aires Facultad de Ciencias Exactas y Naturales Departamento de Computación Semana de la Computación 2006 Métodos efectivos

Más detalles

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 1 Conjuntos y Subconjuntos

Más detalles

Nota 2. Luis Sierra. Marzo del 2010

Nota 2. Luis Sierra. Marzo del 2010 Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones

Más detalles

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin

Más detalles

Qué es el Software Libre? Algunos principios básicos

Qué es el Software Libre? Algunos principios básicos Qué es el Software Libre? Algunos principios básicos Beatriz Busaniche Fundación Vía Libre http://www.vialibre.org.ar Qué es el software? El Software es un

Más detalles

EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO

EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO 1º) Considérese un número estrictamente positivo del sistema de números máquina F(s+1, m, M, 10). Supongamos que tal número es: z = 0.d 1 d...d s 10 e Responde

Más detalles

hay alguien ahi? por Marcelino Alvarez maralvilla@gmail.com

hay alguien ahi? por Marcelino Alvarez maralvilla@gmail.com hay alguien ahi? por Marcelino Alvarez maralvilla@gmail.com Un repaso a las estadísticas de lectura tanto de la página web como de la revista digital, para ver si alguien se acuerda de nosotros. Ya podemos

Más detalles

Plan de mejora de las competencias lectoras en la ESO. PERFECTOS, AMIGOS Y GEMELOS

Plan de mejora de las competencias lectoras en la ESO. PERFECTOS, AMIGOS Y GEMELOS Plan de mejora de las competencias lectoras en la ESO. PERFECTOS, AMIGOS Y GEMELOS Las categorías en las que se clasifican los números enteros son numerosas y atienden a diversos criterios, siendo los

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

3. Número inicial y número final de mensajes mostrados en la página actual.

3. Número inicial y número final de mensajes mostrados en la página actual. Sistema WEBmail El sistema WEBmail permite el acceso rápido y sencillo a su buzón de correo utilizando un navegador de páginas Web. Normalmente es usado como complemento al lector de correo tradicional,

Más detalles