• No se han encontrado resultados

Criptografía: Técnica y Aplicaciones.

N/A
N/A
Protected

Academic year: 2021

Share "Criptografía: Técnica y Aplicaciones."

Copied!
16
0
0

Texto completo

(1)

Criptografía: Técnica y Aplicaciones.

Ingeniería Informática (INF).

4

º

curso.

(2)

1. Conceptos Básicos sobre Criptografía.

(Introducción a la Criptología).

1.1 Conceptos básicos: Términos y notación.

La palabra criptografía proviene de la unión de dos palabras griegas: κρυπτο (cripto, que significa oculto, o secreto) y γραφη (grafe, que significa escritura). Así que, literalmente, la criptografía es el arte de la escritura secreta.

Criptografía: Ciencia que se ocupa de la búsqueda, estudio y mejora de técnicas que

permitan transmitir información de forma segura, sin que pueda ser leída o alterada por otros. Las personas que se dedican a este cometido se llaman criptógrafos.

Por otro lado, existe otra ciencia íntimamente relacionada con la anterior, y sin la cual no se puede entender su existencia y evolución.

Criptoanálisis: La ciencia que realiza un estudio crítico de los sistemas criptográficos y

trata de encontrar procedimientos que permitan recuperar la información original de manera no autorizada. Los criptoanalistas son los encargados de desarrollar esta área. Decimos que estas dos disciplinas se encuentran íntimamente ligadas porque todo método de ocultación de la información debe ir parejo a su criptoanálisis

correspondiente, que demuestre si es seguro o, por el contrario, las formas que hay de recuperar la información por parte de un atacante. De hecho, las dos disciplinas se engloban en una sola, más general.

Criptología: Del griego cripto, que como ya sabemos quiere decir oculto, y logos, que

significa ciencia o conocimiento. Criptología = Criptografía + Criptoanálisis. La criptografía constituye una importante rama de las Matemáticas, y es desarrollada por los criptólogos.

Dentro del estudio de la criptografía nos vamos a encontrar de forma recurrente con ciertos términos que debemos conocer:

• Texto claro: También llamado texto plano, en inglés plaintext. Es el mensaje que contiene la información que deseamos enviar, antes de aplicarle ninguna operación

• Cifrado: Operación mediante la cual modificamos un mensaje de manera que ocultamos la información que contiene. De esta forma, el mensaje resulta ininteligible para toda persona que lo intercepte y no esté autorizada a conseguir la información que contiene. En inglés se denomina encryption.

• Descifrado: La operación contraria a la anterior, que permite a una persona autorizada devolver el mensaje a su estado previo a la aplicación del cifrado. De esta forma, puede recuperar la información del mensaje. El término inglés que denota esta operación es decryption.

La figura siguiente nos muestra de forma resumida el proceso de cifrado y descifrado de un mensaje:

(3)

Figura 1. Esquema de cifrado/descifrado.

El esquema se compone de tres elementos fundamentales:

• Emisor: El interlocutor encargado de enviar información al otro extremo. • Receptor: El participante que recibe la información procedente del emisor. • Canal: El medio físico a través del cual viaja la información. Siempre se asume

que el medio físico es inseguro, y por tanto de libre acceso para cualquier

atacante, que podrá conseguir el mensaje cifrado. El objetivo es que eso resulte

inútil de cara a recuperar información del mensaje original.

El texto claro se suele denotar por M, de mensaje, o bien por P, del inglés plaintext. El texto claro puede ser cualquier cosa, desde un paquete de datos a un flujo de

información de vídeo, un archivo de texto, voz digitalizada… Computacionalmente, tendrá el aspecto de una secuencia binaria.

Podemos cifrar el mensaje para enviarlo a un interlocutor o para almacenarlo de forma segura. El mensaje cifrado se denota por C, mientras que el proceso o función de

cifrado se expresa matemáticamente mediante E. Por último, el proceso o función de descifrado se expresa por D.

De este modo las operaciones que describen matemáticamente el proceso son:

Cifrado: E(M) = C Descifrado: D(C) = M Se cumple: D(E(M)) = M

Existen cuatro requisitos u objetivos básicos que la criptología debe ofrecer:

• Privacidad o Confidencialidad: Sólo pueden acceder a la información aquellas personas que estén autorizados a obtenerla.

• Integridad: El receptor del mensaje debe ser capaz de comprobar que éste no ha sido modificado durante su camino. Esto es, nadie que no esté autorizado debe poder alterar la información que contiene el mensaje.

• Autenticación: Cuando se establece una comunicación segura entre dos interlocutores, cada uno debe ser capaz de verificar la identidad de la otra parte de manera irrefutable. Un intruso no debe poder hacerse pasar por uno de los participantes de la comunicación de forma inadvertida.

• No repudio: Ninguno de los interlocutores debe ser capaz de negar con posterioridad que ha realizado cierta acción o que ha transmitido determinada información.

Canal inseguro

EMISOR RECEPTOR

Cifrado

Texto claro Texto cifrado Descifrado Texto claro original

(4)

Por otra parte, existen también otro tipo de técnicas para la ocultación de información, pero distintas de las estudiadas por la criptografía:

• Esteganografía: Estudia las técnicas de transmisión segura de la información ocultando por completo la existencia del mensaje. Observemos que es algo completamente diferente a la Criptografía, ya que ésta lo único que pretende es convertir el mensaje en ininteligible para el atacante. La esteganografía pretende ocultarlo de forma que el atacante ignore que se transmite un mensaje de cierta naturaleza.

o Un ejemplo de este tipo de técnicas son las que permiten enviar información oculta en los datos de una imagen, codificada en cierto formato. Si por ejemplo modificamos, en una imagen JPEG, el bit de menor peso de cada píxel de acuerdo a la información transmitida por el mensaje, será muy complicado para el atacante descubrir que esa imagen encubre la transmisión de dicho mensaje.

• Marcas de agua: Son técnicas orientadas a la protección de derechos de autor para obras en soporte digital. Aplican sellos imperceptibles e imborrables que revelan la naturaleza protegida del material.

Así pues, la criptología juega un papel crucial en los sistemas de seguridad para la Sociedad de la Información en la que estamos inmersos. Sin embargo, existe un concepto bastante generalizado hoy día de que la Criptografía es la herramienta definitiva para alcanzar la seguridad de nuestras comunicaciones digitales o el almacenamiento de información.

Nada más lejos de la realidad. Por sí misma, la criptografía tiene muy poca utilidad. Debe formar parte de sistemas mucho mayores, que globalmente protejan los datos.

Principio fundamental de los sistemas de seguridad: Un sistema de seguridad

(incluidos los informáticos) es sólo tan fuerte como su eslabón más débil.

En la práctica, los algoritmos criptográficos suelen atraer la atención de los atacantes, debido a que juegan un papel crucial en el sistema de seguridad, ya que otorgan o deniegan el acceso a la información. Pero no debemos olvidar que cualquier elemento adicional de un sistema de seguridad al que no hayamos prestado la suficiente atención a la hora de diseñarlo puede echar por tierra nuestros objetivos: desbordamiento de búferes, control físico de acceso, filtrado de información relevante…

1.2 Criptosistemas: Clasificación.

Un algoritmo es un proceso bien definido que a partir de una serie de valores de entrada proporciona un conjunto de valores de salida.

Diremos que una función matemática f es computable si existe un algoritmo que tomando un argumento x como entrada devuelva a la salida f(x).

La eficiencia de un algoritmo se mide por el llamado tiempo de ejecución, que va a medirse en función de la longitud de su entrada. El tiempo de ejecución de un algoritmo es el máximo número de operaciones elementales (bit a bit) que realiza al ejecutarse a

(5)

partir de un cierto valor de entrada. En general, se indica como función de la longitud del valor de entrada. Para ello se usa la llamada notación asintótica:

™ Sean f y g : N aN dos funciones, se dice que:

o f = O(g) si existe al menos una constante positiva c y un número natural n0 tal que ∀nn0 se cumple que 0≤ f

( )

ncg

( )

n .

o f = w(g) si existe al menos una constante positiva c y un número natural n0 tal que ∀nn0 se cumple que 0≤cg

( ) ( )

nf n .

o f = o(g) si para toda constante positiva c existe un número natural n0 tal

que ∀nn0 se cumple que 0≤f

( )

ncg

( )

n .

Un algoritmo se denomina polinomial si su tiempo de ejecución es una función O(g), siendo g = nk, con k un número natural cualquiera. Los algoritmos que no cumplen esta

condición no son computacionalmente realizables y se denominan exponenciales. Una función es computable en tiempo polinomial si existe un algoritmo polinomial para su evaluación. En otro caso diremos que es exponencial. Si ordenamos en una lista el nivel de complejidad de los algoritmos podríamos obtener lo siguiente:

O(1) < O(ln(ln(n))) < O(ln(n)) < O(nε) < O(nc) < O(nln(n)) < O(cn) < O(nn) < O

( )

ccn Con: 0 < ε < 1 < c

Un algoritmo criptográfico es la función matemática que empleamos para cifrar y descifrar la información. Normalmente, se compone de dos funciones matemáticas relacionadas entre sí: una para cifrar y la otra para descifrar.

Si la seguridad de un algoritmo reside únicamente en el hecho de mantener en secreto las operaciones que el algoritmo realiza sobre el texto claro para crear el mensaje cifrado, se denomina algoritmo restringido. Veremos algunos ejemplos de este tipo de algoritmos aplicados en criptografía clásica. Sin embargo, hoy día son completamente inadecuados, ya que no permiten realizar ningún tipo de estandarización o control de calidad.

Por el contrario, los algoritmos criptográficos modernos se basan en el empleo de una

clave, que matemáticamente se denota por K. Esta clave suele tomar un valor de entre

un conjunto muy grande de valores posibles. El rango de todos los posibles valores que puede tomar la clave se denomina espacio de claves.

Considerando que esa misma clave se emplea en las operaciones de cifrado y descifrado, ahora podremos expresarlas matemáticamente como:

Cifrado: EK(M) = C

Descifrado: DK(C) = M

Propiedad: EK(DK(M)) = M

(6)

Principio de Kerckhoffs: La seguridad de un esquema de cifrado debe residir

exclusivamente en mantener en secreto la clave de cifrado K, y no en mantener en secreto los detalles de funcionamiento del algoritmo utilizado.

La implicación más importante del principio de Kerckhoffs es que en Criptología siempre se considera que un adversario potencial conoce toda la información referente a la herramienta criptográfica que pretende atacar salvo las claves secretas (caso de que las hubiese).

Algunos algoritmos usan una clave diferente para cifrar y descifrar, en ese caso:

Cifrado: EK1(M) = C

Descifrado: DK2(C) = M

Propiedad: EK1(DK2(M)) = M

Pasemos ahora a definir de manera formal algunos conceptos matemáticos para nuestro estudio:

Criptosistema: Se define como la quíntupla (M,C,K,E,D). Donde cada una de las letras

representa los conceptos hasta ahora presenteados: • M: Los mensajes en claro, sin cifrar.

• C: Los textos cifrados, resultado de aplicar el algoritmo de cifrado a M. • K: Conjunto de claves que sirven para cifrar.

• E: Conjunto o familia de funciones que nos sirven para cifrar los mensajes. Se aplican a un elemento del conjunto M para conseguir un elemento del conjunto C.

• D: Conjunto de funciones que nos permiten deshacer la operación de cifrado, recuperando el mensaje original.

Una condición importante que debe cumplirse en todo criptosistema es la siguiente: Sean K1 , K2 € K. Entonces, si K1 ≠ K2 se cumple:

EK1(M) ≠ EK2(M)

El cifrado del mensaje empleando una clave puede expresarse de forma lógica mediante el siguiente diagrama: Canal inseguro EMISOR RECEPTOR Cifrado

Texto claro Texto cifrado Descifrado Texto claro original

(7)

Figura 2. Cifrado/descifrado con clave.

Ahora bien, podemos distinguir básicamente dos tipos de criptosistemas:

• Criptosistemas de clave privada o simétricos: Formalmente, pueden definirse como aquellos criptosistemas en los que la clave de cifrado puede calcularse a partir de la clave de descifrado o viceversa. En la mayoría, la clave de cifrado y descifrado es la misma.

o También se denominan de clave secreta o de clave única, incidiendo en que ambos interlocutores deben acordar una clave secreta previamente al establecimiento del canal seguro de comunicación.

o La seguridad de un criptosistema de clave privada reside en mantener secreta la clave. La divulgación de la misma implicaría que cualquier persona puede acceder a la información cifrada.

Canal inseguro

EMISOR RECEPTOR

Figura 3. Cifrado simétrico.

Los criptosistemas de clave privada se dividen en dos subclases:

Criptosistemas de cifrado en flujo: Realizan operaciones sobre el texto claro en formato binario bit a bit (o a veces byte a byte).

Criptosistemas de cifrado en bloque: Las operaciones de cifrado se efectúan sobre grupos de bits de tamaño fijo en los que se ha dividido de forma previa el texto plano. Estos grupos de bits se denominan bloques.

• Criptosistemas de clave pública o asimétricos: En este tipo de criptosistemas la clave de cifrado y la de descifrado son distintas. Además se debe cumplir la propiedad de que, a pesar de estar relacionadas de alguna forma, no se debe poder obtener información sobre la clave de descifrado a partir de la clave de cifrado.

o Se denominan de clave pública porque la clave de cifrado puede hacerse

pública, de forma que cualquiera que lo desee pueda cifrar un mensaje.

Sin embargo, únicamente la persona que posee la clave de descifrado

privada que corresponde a la clave pública puede descifrar el mensaje.

o La clave de cifrado se suele denominar clave pública. o La clave de descifrado se denomina clave privada.

Texto claro Cifrado Texto cifrado Descifrado Texto claro original

(8)

Canal inseguro

Figura 4. Cifrado asimétrico.

1.3 Procedimientos Clásicos de Cifrado: Sustitución

y Transposición.

Con anterioridad a la existencia de computadores, la criptografía se basaba en

algoritmos basados en operaciones aplicadas carácter a carácter. La idea básica era la de sustituir los caracteres que componen el texto claro por otros, siguiendo ciertas reglas, o bien en cambiarlos de orden. Muchos realizaban ambas operaciones, varias veces. Hoy día las técnicas cambian pero básicamente las operaciones son las mismas, solo que ahora aplicadas a un alfabeto binario en lugar de a un alfabeto de 26 caracteres. La mayoría de algoritmos actuales siguen combinando operaciones de sustitución y

transposición.

Cifrado por sustitución: Cada carácter en el texto claro se sustituye por otro carácter en el texto cifrado. El receptor invierte la sustitución en el texto cifrado para recuperar el mensaje original. Existen cuatro variantes:

o Cifrado de sustitución simple o monoalfabética: El más sencillo. Cada carácter del texto claro se sustituye por cierto carácter en el texto cifrado. o Cifrado de sustitución homofónica: Igual que el anterior, pero en este

caso cada carácter del texto claro puede corresponderse con uno de entre un conjunto finito de caracteres para componer el texto cifrado.

o Sustitución de poligramas: Los bloques de caracteres se cifran en grupos: bigramas (cogiendo los caracteres de dos en dos), trigramas (de tres en tres), etc.

o Sustitución polialfabética: Se construye a partir de varios cifrados simples de sustitución. El cifrado concreto que usamos en cada momento varía dependiendo de la posición de cada carácter en el texto en claro. Cifrado por transposición: El texto claro permanece inalterado, pero el orden

de los caracteres se mezcla. Por ejemplo, en un algoritmo de transposición de columna simple el texto plano se escribe horizontalmente en un papel de anchura fija, y el texto cifrado se lee verticalmente.

o Un ejemplo es la escítala lacedemonia, empleada en el siglo V a.C. Era un bastón del que fabricaban dos unidades idénticas, enrollando

EMISOR RECEPTOR

Texto claro Cifrado Texto cifrado Descifrado Texto claro original

CLAVE PRIVADA CLAVE PÚBLICA

(9)

alrededor un pergamino. Luego, se desataba el pergamino, y sólo sobrepuesto en una vara idéntica revelaba el mensaje, ya que de o modo resultaba una sucesión ininteligible de caracteres.

los de cifrado clásico son:

tro

Algunos ejemp

Cifrado de César: Consiste en sustituir la primera letra del alfabeto por la cuarta, la segunda por la quinta y así sucesivamente. Es decir:

Siendo 21 el número de letras d i-ésima letra del texto ifrado, Xi la i-ésima letra del texto claro y Zi el desplazamiento aplicado que en

puesto Yi = Xi + Zi (mod 21).

el alfabeto latino, Yi la

c

este caso es fijo e igual a 3. Para recuperar el mensaje sólo hay que sumar el o al desplazamiento aplicado. Todas las operaciones se realizan mod 21.

Cifrado de Vigenére: Para cifrar se elige una palabra clave de cierta longitud y se divide el mensaje original en bloques de esa longitud. A continuación se

tras. suman carácter a carácter cada bloque de texto claro con la palabra clave, mod N. Se ataca fácilmente mediante análisis de frecuencia de aparición de las le

tan larga como el texto claro (one-time pad). Ej. El teléfono rojo entre el

1.4

gráficas.

Cifrado Vernam. Misma idea que el anterior, pero en este caso la clave debe ser Kremlin y la Casa Blanca.

Primitivas Cripto

Funciones hash: Una función hash es una función computable en tiempo polinomial que genera, a partir de una entrada de longitud arbitraria (llamada

de preimagen), una secuencia de salida de longitud fija (que recibe el nombre hash). Obviamente, la salida depende de la entrada proporcionada.

Matemáticamente se expresa, considerando que tratamos cadenas binarias:

{ }

0,1 *

{ }

0,1

(

[

128,512

]

)

: con k

f a k

™ Las funciones hash sirven para garantizar la integridad de datos y suelen emplearse, por ejemplo, en esquema de firma.

mente

x) = f(y). Obviamente, eso no significa que no las haya (de dica s

™ Normalmente, fijado un valor m, su hash f(m) se utiliza como si fuese sola asociable a m.

™ Se dice que una función hash es resistente a colisiones si no podemos encontrar x e y tales que f(

hecho, ninguna función hash está completamente libre de colisiones, ya que la aplicación parte de un grupo infinito de elementos a un grupo finito). Sólo in que no podemos hallarlas.

nción one-way es una función fácil de computar pero difícil (a nivel computacional) de invertir.

e sponemos de cierta información adicional.

Funciones one-way: Una fu

o Una función one-way trapdoor es una función one-way cuya inversa s puede computar de manera eficiente si di

(10)

Una def ic

™ Una función se dice one-way si se cumplen las dos Existe un algoritmo polinomial para computar f.

do algoritmo poli existe un

in ión formal de función one-way sería la siguiente:

{ }

0,1 *

{ }

0,1 *

: a

f

condiciones siguientes: o

o Para to nomial A, y todo polinomio positivo p, n0 tal que ∀nn :

( )

(

)

(

( )

)

[

]

( )

0 n p u f f u f A P n n n 1 1 , −1

Donde un es una cadena de bits elegida uniformemente al azar.

Sin embargo, no tenemos ninguna prueba matemá ca rigurosa de que este tipo de

funciones e ciones

one-ay normalmente recurrimos a problemas matemáticos clásicos considerados como

n de enteros. ™ Problema de la suma del subconjunto.

ti

xiste, ni evidencia de que puedan construirse. Para encontrar fun w

muy difíciles, como por ejemplo:

™ El problema del logaritmo discreto. ™ Problema de la factorizació

Funciones one-way hash: Combinación de las anteriores. Es una función que que le proporcionamos, pero además, es difícil computar una preimagen que corresponda a un determinado valor hash.

En la práctic

™ La función hash ideal debe comportarse como una correspondencia aleatoria alores de entrada y el conjunto de posibles valores de salida.

ofrece un hash a partir de la preimagen

o Una función se dice que es Universal One-Way Hash Function,

abreviado como UOWHF si, fijado x, es imposible encontrar un valor y t.q. f(x) = f(y).

a se considera que:

entre todos los posibles v

™ Un ataque contra una función hash es un método no trivial para diferenciar la función hash de una función hash ideal.

Funciones MAC (Message Authentication Codes): Permiten controlar que n se produzca ninguna alteración en el men

o saje recibido (verificando por tanto la

corrección del mismo) y al mismo tiempo permiten identificar el origen del

o Donde k es una clave secreta. Únicamente aquel que además de conocer el mensaje m conozca l de computar el MAC.

mensaje (verificación de procedencia). Matemáticamente suele denotarse por: MAC(k, m)

a clave k pue Gen a

alea r o salida una

er dores de secuencias pseudoaleatorias: Un generador de bits to ios (RBG) es un algoritmo o dispositivo físico que tiene com

(11)

secuencia de bits independientes e idénticamente distribuidos según una

1 bits resultado excede de n se descarta y repetimos el proceso. o

longitud k realmente aleatoria, proporciona como salida una cadena finita ientes distribución uniforme.

o Podemos generar números aleatorios con un RGB. Si queremos un número aleatorio en el intervalo [1, n] basta con generar [log(n)] + aleatorios. Si el

Un generador pseudoaleatorio es un algoritmo polinomial G

determinista que, al darle como entrada una secuencia finita de bits de

de bits de longitud l >> k que parece aleatoria. Cumple las sigu propiedades:

™ Expansión: Existe una función l: aΝ Ν t.q. l

( )

n >nn∈Ν y además G

( )

s =l

( )

ss

{ }

0,1 *.

= n,

™ La secuencia de salida G(u), |u| n∈Νes

cionalmente indistinguible de una secuencia de bits amente aleatoria.

un PR y demostrar que

™ it siguiente si no existe ningún

a del generador, deduzca el bit l+1 computa

verdader

™ Un PRG puede construirse a partir de BG es criptográficamente seguro.

Un PRGB pasa el test del b

algoritmo polinomial que recibiendo como entrada los primeros l bits de una secuencia s de salid

con probabilidad mayor que 2 1

. Entonces se dice que es

criptográficamente seguro.

Se puede crear un PRG a partir de cualquier función one-hash. Dada una semilla aleatoria s basta con calcular f(s), f( f(s+2)…

™ way o

s+1),

Firma digital:

autoría de una n o la procedencia de cierta información, ya que, al igual que ocurre con las firmas ordinarias, el objetivo de una firma digital es el

1.5

Los protocolos de firma digital se utilizan para poder verificar la transacció

de indicar de forma irrefutable la identidad de su autor.

Introducción a los Protocolos Criptográficos.

Esquemas de cifrado: Exclusivamente diseñados para enviar información de forma segura entre dos o más interlocutores, evitando que cualquier persona no autorizada pueda acceder al contenido de los datos intercambiados.

rcambio de información.

Esquemas de autenticación: Están pensados para poder verificar de forma

irrefutable la identidad de los interlocutores que participan en un inte Esquemas de intercambio o establecimiento de clave: Permiten el

establecimiento de una clave secreta entre 2 o más interlocutores, de manera que ningún atacante pueda obtener información, a partir de los datos intercambiados, sobre la clave que ha sido acordada.

(12)

tocolo. Exist

primitiv s podemos mencionar protocolos

ara elecciones seguras, computación con datos cifrados, firma digital no repudiable,

od a dado:

Esquemas de autenticación e intercambio de claves: Permiten resolver los dos

problemas anteriores en un único pro

en numerosos protocolos adicionales, que podemos construir a partir de las as criptográficas antes presentadas. Entre ello

p

pruebas de verificación de conocimiento cero, etc.

1.6 Criptoanálisis: Tipos de Ataques.

P emos distinguir los siguientes tipos de ataques contra un criptosistem

Ciphertext-only attack: El atacante sólo tiene acceso a los textos cifrados. Known-plaintext attack: El atacante tiene acceso a los pares texto claro y su

correspondiente texto cifrado.

Chosen-plaintext attack: El asaltante es capaz de elegir los textos en claro de los que quiere obtener el cifrado.

ack: Igual que el anterior, solo que ahora además Adaptive-chosen-plaintext att

el atacante puede modificar los textos claros que elige en base a los resultados que va obteniendo.

Chosen-ciphertext attack: El atacante pude descifrar algunos textos cifrados de su elección.

phertext attack: Al igual que antes, puede modificar la

Si no es

podemo

Adaptive-chosen-ci

elección de los textos cifrados en base a los resultados que va obteniendo. s fijamos exclusivamente en la capacidad de computación del adversario entonc

s distinguir (para cifrado de clave pública):

CPA (Chosen-plaintext attack): Podemos suplantar al usuario del sistema de cifrado, y por tanto tiene acceso al algoritmo de cifrado.

VCA (Validity-checking attack): Tiene acceso al algoritmo de cifrado y a un distinguidor de textos cifrados válidos y arbitrarios.

cceso a un distinguidor

PCA (Plaintext-cheking attack): Ahora también tiene a

que indica si un texto cifrado corresponde a un determinado texto claro.

el texto que quiera menos el hasta que quiero romper).

Fundamentalm

CCA (Chosen-Ciphertext attack): Puede descifrar

reto objetivo.

o CCA1 (Lunchtime attacks):Tengo acceso al algoritmo de cifrado recibir el reto, o sea, durante todo el tiempo previo a conocer el texto cifrado

o CCA2 (Estándar): Acceso ilimitado al algoritmo de cifrado para cualquier texto salvo el reto.

ente, el adversario tiene 3 objetivos: Distinguir textos cifrados de cadenas aleatorias.

Romper la no maleabilidad del esquema, o sea, poder construir textos cifrados válidos a partir de textos cifrados conocidos, cuyos textos claros asociados

o Ejemplo: Dados C(m1), C(m2),…,C(mn) poder construir C(m1 + m2 + m3

+…+ mn).

(13)

Violar la unidireccionalidad del sistema: Recuperar el texto claro correspondiente a un texto cifrado.

Lars Knud

criptosistema, ordenados de mayor a menor:

sen ha ofrecido una serie de niveles de severidad en la ruptura de un

a que puede efectuar DK(C) = M.

Ruptura total: El criptoanalista encuentra la clave, K, de form

Deducción global: Un criptoanalista encuentra un algoritmo alternativo equivalente a D

A, K.

K(C), pero sin conocer

Deducción local o de instancia: El criptoanalista encuentra el texto en claro que corresponde a un cierto texto cifrado interceptado.

ación: El criptoanalista obtiene alguna información sobre

el

Finalm tre los algoritmos empleados

en la

segurid

que em ente demostrable. Según este

criterio podemos clasificar la seguridad de un criptosistema en las siguientes categorías:

Deducción de inform

la clave o el texto en claro: unos cuantos bits de la clave, información sobre aspecto o la estructura del texto en claro…

ente debemos reseñar una diferencia fundamental en

Criptografía clásica y los empleados en la actualidad. Se trata del concepto de

ad de un criptosistema. Hoy día, se exige que los procedimientos de cifrado

pleamos tengan una seguridad matemáticam

Seguridad incondicional o teórica: Se puede demostrar que el criptosistema e seguro frente a cualquier atacante que posee tiempo y recursos computacionale ilimitados.

s s Seguridad computacional o práctica: El sistema es seguro cuando se enfrenta a un atacante que tiene tiempo y recursos computacionales limitados.

Seguridad probable: No se puede demostrar la seguridad del sistema, pero no h

se ha logrado romper hasta ahora. a

ondicional: El sistema es seguro siempre que el enemigo carezca de

Ahor

comput r la complejidad de un ataque de distintas

formas:

Seguridad c

medios para atacarlo.

a bien, se puede plantear la duda sobre lo que podemos considerar recursos acionales limitados. Podemos medi

Complejidad de datos: La cantidad de datos que se precisan para que el ataque tenga éxito.

Complejidad de procesado: El tiempo que precisamos para llevar a cabo el ataque. En inglés se denomina work factor.

Requerimientos de almacenamiento: El espacio total de almacenamiento de

1

Toda li

información preciso para efectuar el ataque.

.7 Teoría de la Información.

1

la teoría en la que se basa el diseño de los criptosistemas se fundamenta en tres nas básicas:

discip

1 Basado en su mayor parte en el Capítulo 6 del Libro Electrónico de Seguridad Informática y

(14)

Teoría de la información: Estudia la cantid representaciones de cualquier naturaleza (nu

ad de información que contienen las mérica, simbólica, alfabética…) de ésta, así como su entropía.

Teoría de los números: Centrada en las matemáticas discretas y los cuerpos finitos, en los que se basan las operaciones de cifrado y descifrado.

Teoría de complejidad de algoritmos: Estudia el grado de dificultad de los problemas para clasificarlos en computacionalmente tratables o intratables.

Infor

repres o

e posib

n el d

mación: Conjunto de datos o mensajes inteligibles creados con un lenguaje de

entación y que debemos salvaguardar durante su transmisión o almacenamient les amenazas, empleando entre otras, herramientas de cifrado.

d

Teoría de la Información: Estudia como medir la cantidad de información de un

mensaje a través del número medio de bits que necesita un codificador óptimo para representar todos los posibles mensajes.

La información que nos ofrece un mensaje puede medirse desde distintos puntos de vista: extensión, utilidad, sorpresa, entorno, probabilidad. Claude Shannon se basó e estudio de la probabilidad de recibir un mensaje para analizar el concepto de cantida

e información. d

La idea fundamental es: Ante varios mensajes posibles, y en principio todos

equiprobables, aquel que resulte tener una menor probabilidad de aparición es el que nos aportará mayor cantidad de información.

Matemáticamente:

Sea X una variable aleatoria con n estados posibles. La ocurrencia i-ésima se representa como X = x : i

{

x x x xn xn

}

X = 1, 2, 3,K, 1,

( )

( )

( )

p1= p x1 ,p2= p x2 ,K,pn = p xn

Como se cumple que:

n i para pi 1 1,2, , 0≤ ≤ = K Entonces: 1 1 =

= n i i p

Cantidad de información: Se define la cantidad de información del estado i, como el

log2 de la probabilidad de que ocurra el estado i-ésimo. El signo se toma negativo para

que la función sea creciente conforme disminuye la probabilidad de la ocurrencia (resultado coherente):

(15)

( )

i

i p

c =−log2

Si p(xi) = 1 Æ No existe incertidumbre: ci = 0

Si p(xi) = 0 Æ Máxima incertidumbre: ci = ∞

Elegimos base dos por estudiar fenómenos binarios (cada bit de la representación binaria que constituye el mensaje).

El grado de indeterminación de una fuente de información se puede ver, de modo intuitivo, como la cantidad de resultados equiprobables que podemos obtener de dicha

fuent iciones de funcionamiento de la

fuent ación, hasta llegar, en el caso

óptim

n general, si un fenómeno tiene un grado de indeterminación k y sus estados son e. Conforme podemos caracterizar mejor las cond

e, podremos ir reduciendo su grado de indetermin

o, a determinar con toda certeza la ocurrencia que se va a producir. E

equiprobables, la probabilidad p de que se dé uno de sus estados será 1/k.

Luego se deduce:

( )

k

[

( )

k

]

p

ci 2 1 2

s decir, que en la representación binaria, la cantidad de información está d

log 1 1 log log = =− = eterminada or el número de bits que utilizamos para componer el mensaje. Es la idea en la que se

ritmos de compresión de información, que asignan a los mensajes presentación binaria de menor longitud.

Si ahora cada estado tiene una probabilidad distinta pi, la entropía H será igual a la

ma ponderada de la cantidad de información de cada estado. La entropía, H(x), se E

p

basan muchos algo ás probables la re m

su

define pues, como el valor medio ponderado de la cantidad de información de los diversos estados del mensaje.

( )

=−

k

( )

⋅log

( )

= 2 i 1 i i p x x p x H

Si introducimos el signo negativo en el logaritmo, la expresión que nos queda nos indi el número de bits que necesita un codificador óptimo para codificar el mensaje X. E

odificador óptimo es el que ut

ca l iliza el menor número de bits posible para codificar el ensaje X. c m

( )

=

k

( )

[

( )

]

= x p p x H x log21 i 1

de esa sucesión de bits aparentemente aleatoria.

La teoría de la información nos permite analizar los mensajes cifrados, en busca de patrones, redundancias o relaciones de cualquier tipo que nos permitan inferir cierta

nformación i

(16)

Si existiese una segunda variable Y que influya sobre X entonces esto nos da importante e

e define la ratio r como el número de bits de información en cada carácter para información adicional. En particular, la entropía se reduce al conocer la relación entr las dos variables (existe menos incertidumbre en el resultado).

S

mensajes con una longitud igual a N caracteres:

( )

N x H r=

Si se codifica un mensaje letra a letra suponiendo equiprobabilidad entre letras, se absoluta del mensaje R = H(X). En castellano, con 27 letras, será de 4.5. Según el estudio de Shannon, como las letras de un idioma no tienen igual probabilidad,

ratio baja mucho, y suele situarse entre 1.2 y 1.5. Es la diferencia entre considerar 2rN).

a diferencia entre ratio absoluta y real es lo que llamamos redundancia del lenguaje.

o del texto cifrado no nos

roporciona ninguna información acerca del mensaje del que proviene. La condición o de cifrar el mensaje M con una clave K sea la isma que recibir el criptograma C, resultado de cifrar otro mensaje distinto M’ con

e como el bloque de longitud N de texto cifrado ínimo necesario para intentar con ciertas expectativas de éxito un ataque en busca de obtiene la ratio

la

todos los mensajes posibles de longitud N (2RN) y todos los mensajes con sentido (

L

La labor de los algoritmos de cifrado es tratar de eliminar en la mayor medida posible esa redundancia propia del lenguaje (o protocolo) que utilizamos, de manera que podamos ocultar de forma efectiva la información.

Shannon midió el secreto de un criptosistema como la incertidumbre del mensaje en claro conocido el criptograma recibido.

Un sistema tiene secreto perfecto si el conocimient p

necesaria y suficiente para que esto ocurra es que para cualquier valor de M se cumpla que la probabilidad de recibir C, resultad

m

una clave de cifrado diferente.

Corolario: De lo anterior se deduce que el espacio de claves debe ser al menos de igual tamaño que el espacio de mensajes.

Distancia de unicidad: Se defin

m

la clave utilizada para cifrar. A medida que el criptograma sea más largo se supone que tenemos más información y la tarea del ataque se va facilitando.

Para mejorar los sistemas de cifrado, según Shannon debemos introducir: Difusión = Transposición.

Referencias

Documento similar

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

dente: algunas decían que doña Leonor, &#34;con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,

Y tendiendo ellos la vista vieron cuanto en el mundo había y dieron las gracias al Criador diciendo: Repetidas gracias os damos porque nos habéis criado hombres, nos

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la