0% encontró este documento útil (0 votos)
75 vistas33 páginas

Mi Parte

La criptografía es el estudio de técnicas de cifrado que aseguran la confidencialidad y seguridad de la información en las comunicaciones. Actualmente, aborda algoritmos y protocolos que garantizan propiedades como confidencialidad, integridad, autenticación y vinculación. Existen diferentes tipos de cifrado, como simétrico y asimétrico, que se utilizan según las necesidades de seguridad y eficiencia.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
75 vistas33 páginas

Mi Parte

La criptografía es el estudio de técnicas de cifrado que aseguran la confidencialidad y seguridad de la información en las comunicaciones. Actualmente, aborda algoritmos y protocolos que garantizan propiedades como confidencialidad, integridad, autenticación y vinculación. Existen diferentes tipos de cifrado, como simétrico y asimétrico, que se utilizan según las necesidades de seguridad y eficiencia.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

3.

1 Definicin de Criptografa
Criptografa (del griego os '(criptos), oculto, y (graf), escritura,
literalmente escritura oculta). Tradicionalmente se ha definido como el mbito de
la criptologa el que se ocupa de las tcnicas de cifrado o codificado destinadas a
alterar las representaciones lingsticas de ciertos mensajes con el fin de hacerlos
ininteligibles a receptores no autorizados. Estas tcnicas se utilizan tanto en
el Arte como en la Ciencia. Por tanto, el nico objetivo de la criptografa era
conseguir la confidencialidad de los mensajes. Para ello se diseaban sistemas de
cifrado y cdigos. En esos tiempos la nica criptografa existente era la
llamada criptografa clsica.
La aparicin de la Informtica y el uso masivo de las comunicaciones digitales,
han producido un nmero creciente de problemas de seguridad. Las transacciones
que se realizan a travs de la red pueden ser interceptadas, y por tanto, la
seguridad de esta informacin debe garantizarse. Este desafo ha generalizado los
objetivos de la criptografa para ser la parte de la criptologa que se encarga del
estudio de los algoritmos, protocolos (se les llama protocolos criptogrficos), y
sistemas que se utilizan para proteger la informacin y dotar de seguridad a las
comunicaciones y a las entidades que se comunican.
Para
ello
los
criptgrafos
investigan,
desarrollan
y
aprovechan
tcnicas matemticas que les sirven como herramientas para conseguir sus
objetivos. Los grandes avances que se han producido en el mundo de la
criptografa, han sido posibles gracias a los grandes avances que se han
producido en el campo de la matemtica y la informtica.
Objetivos de la criptografa
La criptografa actualmente se encarga del estudio de los algoritmos, protocolos y
sistemas que se utilizan para dotar de seguridad a las comunicaciones, a la
informacin y a las entidades que se comunican. 1 El objetivo de la criptografa es
disear, implementar, implantar, y hacer uso de sistemas criptogrficos para dotar
de alguna forma de seguridad. Por tanto el tipo de propiedades de las que se
ocupa la criptografa son por ejemplo:

Confidencialidad. Es decir garantiza que la informacin est accesible


nicamente a personal autorizado. Para conseguirlo utiliza cdigos y
tcnicas de cifrado.

Integridad. Es decir garantiza la correccin y completitud de la informacin.


Para conseguirlo puede usar por ejemplo funciones hash criptogrficas
MDC, protocolos de compromiso de bit, o protocolos de motorizacin
electrnica.

Vinculacin. Permite vincular un documento o transaccin a una persona o


un sistema de gestin criptogrfico automatizado. Cuando se trata de una
persona, se trata de asegurar su conformidad respecto a esta vinculacin de
forma que pueda entenderse que la vinculacin gestionada incluye el
entendimiento de sus implicaciones por la persona. Antiguamente se utilizaba
el trmino "No repudio" que est abandonndose, ya que implica conceptos
jurdicos que la tecnologa por s sola no puede resolver. En relacin con dicho
trmino se entenda que se proporcionaba proteccin frente a que alguna de
las entidades implicadas en la comunicacin, para que no pudiera negar haber
participado en toda o parte de la comunicacin. Para conseguirlo se puede
usar por ejemplo firma digital. En algunos contextos lo que se intenta es justo
lo contrario: Poder negar que se ha intervenido en la comunicacin. Por
ejemplo cuando se usa un servicio de mensajera instantnea y no queremos
que se pueda demostrar esa comunicacin. Para ello se usan tcnicas como
el cifrado negable.

Autenticacin. Es decir proporciona mecanismos que permiten verificar la


identidad del comunicador. Para conseguirlo puede usar por ejemplo funcin
hash criptogrfica MAC o protocolo de conocimiento cero.

Soluciones a problemas de la falta de simultaneidad en la tele firma digital


de contratos. Para conseguirlo puede usar por ejemplo protocolos de
transferencia inconsciente.

Un sistema criptogrfico es seguro respecto a una tarea si un adversario con


capacidades especiales no puede romper esa seguridad, es decir, el atacante no
puede realizar esa tarea especfica.
Terminologa.
En el campo de la criptografa muchas veces se agrupan conjuntos de
funcionalidades que tienen alguna caracterstica comn y a ese conjunto lo
denominan 'Criptografa de' la caracterstica que comparten. Veamos algunos
ejemplos:

Criptografa simtrica.- Agrupa aquellas funcionalidades criptogrficas que


se apoyan en el uso de una sola clave.

Criptografa de clave pblica o Criptografa asimtrica.- Agrupa aquellas


funcionalidades criptogrficas que se apoyan en el uso de parejas de claves
compuesta por una clave pblica, que sirve para cifrar, y por una clave privada,
que sirve para descifrar.

Criptografa con umbral.- Agrupa aquellas funcionalidades criptogrficas


que se apoyan en el uso de un umbral de participantes a partir del cual se
puede realizar la accin.

Criptografa basada en identidad.- Es un tipo de Criptografa asimtrica que


se basa en el uso de identidades.

Criptografa basada en certificados

Criptografa sin certificados

Criptografa de clave aislada

En criptografa, el cifrado es un procedimiento que utiliza un algoritmo de


cifrado con cierta clave (clave de cifrado) transforma un mensaje, sin atender a su
estructura lingstica o significado, de tal forma que sea incomprensible o, al
menos, difcil de comprender a toda persona que no tenga la clave secreta ( clave
de descifrado) del algoritmo. Las claves de cifrado y de descifrado pueden ser
iguales (criptografa simtrica), (criptografa asimtrica) o (Criptografa hbrida).
El juego de caracteres (alfabeto) usado en el mensaje sin cifrar puede no ser el
mismo que el juego de caracteres que se usa en el mensaje cifrado.
A veces el texto cifrado se escribe en bloques de igual longitud. A estos bloques se
les denomina grupos. Estos grupos proporcionaban una forma de verificacin
adicional, ya que el texto cifrado obtenido deba tener un nmero entero de
grupos. Si al cifrar el texto plano no se tiene ese nmero entero de grupos,
entonces se suele rellenar al final con ceros o con caracteres sin sentido.
Aunque el cifrado pueda volver secreto el contenido de un documento, es
necesario complementarlo con otras tcnicas criptogrficas para poder
comunicarse de manera segura. Puede ser necesario garantizar
la integridad la autenticacin de las partes, etctera.

3.1.1 Tipos de cifrado segn sus claves


Un sistema de cifrado se denomina:

simtrico cuando utiliza la misma clave para cifrar y descifrar;


asimtrico al usar claves diferentes: una pareja compuesta por una clave
pblica, que sirve para cifrar, y por una clave privada, que sirve para descifrar.
El punto fundamental sobre el que se sostiene esta descomposicin
pblica/privada es la imposibilidad prctica de deducir la clave privada a partir
de la clave pblica. Este tipo de cifrado suele denominarse PKE.

Los mtodos ms conocidos son el DES, el Triple DES y el AES para


la criptografa simtrica, y el RSA para la criptografa asimtrica, llamada
tambin criptografa de clave pblica.
La utilizacin de un sistema simtrico o asimtrico depende de las tareas a
cumplir. La criptografa asimtrica presenta dos ventajas principales: suprime el
problema de transmisin segura de la clave y permite la firma electrnica. No
reemplaza sin embargo los sistemas simtricos, ya que los tiempos de clculo son
evidentemente ms cortos con los sistemas simtricos que con los asimtricos.
Tipos de cifrado segn sus algoritmos.
Segn la forma en la que operan los algoritmos de cifrado o descifrado, es posible
distinguir varios tipos:

Cifrado en flujo: En estos algoritmos el cifrado se realiza bit a bit. Estn


basados en la utilizacin de claves muy largas que son utilizadas tanto para
cifrar como para descifrar. Estas claves pueden estar predeterminadas (libreta
de un solo uso) o generarse usando un generador de claves
pseudoaleatorias o RKG, que genera una secuencia binaria pseudoaleatorias
a partir de una clave de inicializacin K. A veces, en el clculo de la clave
pseudoaleatorias tambin interviene el mensaje cifrado hasta ese momento.
Por otra parte, el cifrado propiamente dicho: habitualmente en este tipo de
algoritmos hay que mantener en secreto tanto la clave como el cifrado.

Cifrado por bloques: En este tipo de algoritmos, el cifrado se realiza bloque


a bloque. En primera instancia, se descompone el mensaje en bloques de la
misma longitud. A continuacin, cada bloque se va convirtiendo en un bloque
del mensaje cifrado mediante una secuencia de operaciones. Ejemplos tpicos

de operaciones realizadas para conseguir cada mensaje cifrado son


la sustitucin y la permutacin (cifrado por transposicin) de elementos.
Este tipo de algoritmos pueden ser tanto de clave simtrica como de clave
asimtrica. Sin embargo, en la bibliografa suele haber confusin y es
frecuente ver casos en que se refieren slo a algoritmos de clave simtrica.
Tipos de cifrado segn sus propiedades.
Muchas veces se agrupan los algoritmos de cifrado en funcin de sus propiedades
o caractersticas. Algunos ejemplos:

cifrado seguro hacia adelante

cifrado con umbral

cifrado basado en identidad

cifrado negable

cifrado con clave aislada

cifrado maleable

3.1.1.1 Cifrado por sustitucin


En criptografa, el cifrado por sustitucin es un mtodo de cifrado por el que
unidades de texto plano son sustituidas con texto cifrado siguiendo un sistema
regular; las "unidades" pueden ser una sola letra (el caso ms comn), pares de
letras, tros de letras, mezclas de lo anterior, entre otros. El receptor descifra el
texto realizando la sustitucin inversa.
Los cifrados por sustitucin son comparables a los cifrados por transposicin. En
un cifrado por transposicin, las unidades del texto plano son cambiadas usando
una ordenacin diferente y normalmente bastante compleja, pero las unidades en
s mismas no son modificadas. Por el contrario, en un cifrado por sustitucin, las
unidades del texto plano mantienen el mismo orden, lo que hace es sustituir las
propias unidades del texto plano.
Sustitucin simple.
En los cifrados de sustitucin simple un carcter en el texto original es
reemplazado por un carcter determinado del alfabeto de sustitucin. Es decir, se

establecen parejas de caracteres donde el segundo elemento de la pareja


establece el carcter que sustituye al primer elemento de la pareja.
A veces el sistema usa el mismo alfabeto para el texto en claro y para el texto
cifrado. Esto permite aprovechar el orden definido por los alfabetos para as
facilitar la descripcin de los algoritmos, dndose as los llamados cifrados
de alfabeto invertido y de alfabeto desplazado. Otras veces el orden no se utiliza y
se dice que es un alfabeto mezclado o un alfabeto sin rango.

En criptografa, un cifrado por transposicin es un tipo de cifrado en el que


unidades de texto plano se cambian de posicin siguiendo un esquema bien
definido; las 'unidades de texto' pueden ser de una sola letra (el caso ms comn),
pares de letras, tros de letras, mezclas de lo anterior,... Es decir, hay
una permutacin de 'unidades de texto'. Este tipo de cifra dores eran muy usados
en la criptografa clsica y por tanto, al tener que hacer el clculo por medios muy
bsicos, normalmente el algoritmo se basaba en un diseo geomtrico o en el uso
de artilugios mecnicos (Ejemplo: esctala). Este tipo de algoritmos son de clave
simtrica porque es necesario que tanto el que cifra como el que descifra sepan la
misma clave para realizar su funcin. La clave puede es intrnseca en el propio
mtodo de cifrado/descifrado de forma que algoritmo y clave son un conjunto
indivisible.
Ejemplos

Por ejemplo un simple (y fcil de descifrar) mtodo de cifrado es el de


escribir una palabra al revs (de atrs hacia delante). Por tanto la cadena:
"Hola mi nombre es Pepa" sera cifrada por "aloH im erbmon se apeP". En este
algoritmo la clave est implcita.

Otro ejemplo sera el cifrado con forma de columna. En l el mensaje


original estar limitado a un rectngulo, de izquierda a derecha y de arriba
hacia abajo. Despus, se escoge una clave para asignar un nmero a cada
columna del rectngulo para determinar el orden. El nmero correspondiente a
la letra de la clave estar determinado por su posicin en el alfabeto, por
ejemplo. A es 1, B es 2, C es 3, etc. Por ejemplo si la palabra clave es CAT
("gato" en ingls) y el mensaje es "THE SKY IS BLUE" ("El cielo es azul" en
ingls), el proceso sera el siguiente:
C AT
3 1 20
THE
SKY
ISB
LUE

Despus, tomamos las letras por orden numrico y as es como transportaramos


el mensaje. Tomamos la columna debajo de la A primero, despus la columna de
C, y por ltimo la columna de T, y como resultado el mensaje "The sky is blue"
pasara a ser: HKSUTSILEYBE

En el mtodo de cifrado por transposicin chino, las letras del mensaje son
escritas de derecha a izquierda y de abajo a arriba en columnas. Despus,
empezando la primera hilera, las letras se toman para obtener el texto cifrado.
Por ejemplo, si el mensaje que queremos codificar es THE DOG RAN FAR ("El
perro corri lejos" en ingls), el cifrado chino sera as:
RRGT
AAO H
FNDE

3.1.2 Principios criptogrficos fundamentales: redundancia y actualizacin


Aunque la criptografa es muy variada existen dos principios fundamentales que
sostienen la criptografa y que es importante entender. El primer principio es que
todos los mensajes cifrados deben contener redundancia, es decir, informacin no
necesaria para entender el mensaje. Un ejemplo puede dejar claro la necesidad
de esto. Considere una compaa de compras por red que tiene 60000productos.
Pensando en la eficiencia, los programadores han decidido que los mensajes de
pedidos deben consistir en el nombre del cliente de 16 bytes seguido de un campo

de datos de 4 bytes (2 para la cantidad y 2 para el nmero del producto).


Losltimos 4 bytes debencifrarse usando una clave muy grande conocida solo por
elcliente y por la compaa.Inicialmenteesto puede parecer seguro. Sin embargo,
tambin tiene un fallo que lovuelve intil. Supngaseque alguien consigue una lista
de compradores de productos(los 16 bytes del nmero de cliente),entonces es
fcil trabajar en un programa paragenerar pedidos ficticios usando nombres reales
delos clientes.Dado que no tiene una lista de claves, pone nmeros aleatorios en
los ltimos 4 bytesyenva cientos de pedidos. Al llegar estos mensajes, la
computadora usa el nombre delcliente paralocalizar la clave y descifrar el
mensaje. Para mala suerte, casi todos los mensajes de 4 bytesdescifrados son
vlidos, pues excepto que el pedido sea decantidad 0 al descifrarlo o
correspondaa un producto cuyo cdigo no existe (cuyaprobabilidad solo es de un
8.5%), el pedido seratendido.Este problema puede resolverse agregando
redundancia a todos los mensajes.Porejemplo, si se extienden los mensajes de
pedido a 12 bytes, de los cuales los 8primeros debenser ceros, entonces este
ataque ya no funciona, pues la probabilidad degenerar un mensaje validoes
prcticamente cero.Sin embargo la adicin de redundancia simplifica a los
criptoanalistas eldescifrado delos mensajes, pues ahora un criptoanalista puede
saber que hadescifradocorrectamente un mensaje al comprobar que los 8
primeros bytes son ceros. Porello,una cadena aleatoria de palabras sera mejor
para incluir en la redundancia.Otro ejemplo deeste primer principio, puede ser el
concepto de un CRC (CyclicRedundant Check), es decir unainformacin
redundante puesta al final de un mensaje,evitando al mximo que otros
puedangenerar informacin que pueda ser interpretada eintroduzca vulnerabilidad
al proceso decomunicaciones.El segundo principio criptogrfico es el de
actualizacin el cual implica que sedebentomar medidas para asegurar que cada
mensaje recibido se verifique a fin de saber siestaactualizado. Esto permite evitar
que posibles intrusos activos reproduzcanmensajes antiguos. Unade las medidas
es incluir en cada mensaje una marca detiempo vlida por ejemplo durante
10segundos, para compararlo con los mensajesnuevos que lleguen y filtrar los
duplicados. Losmensajes con una antigedad mayor a10 segundos pueden
descartarse

En teora de la informacin, la redundancia es una propiedad de los mensajes,


consistente en tener partes predictibles a partir del resto del mensaje y que, por
tanto, en s mismo no aportan nueva informacin o "repiten" parte de la
informacin.
En numerosas aplicaciones, as como en las lenguas naturales la redundancia es
una estrategia ampliamente usada para evitar malentendidos o errores de
decodificacin.
Descriptivamente,
la
redundancia
constituye factor
comunicativo estratgico que consiste en intensificar, subrayar y repetir la
informacin contenida en el mensaje a fin de que el factor de la
comunicacin ruido no provoque una prdida fundamental de informacin.
Tambin tiene como significado exceso.
Redundancia de las lenguas naturales.
Claude Elwood Shannon fue uno de los primeros en interesarse en la redundancia
estadstica de las lenguas naturales, en particular de la lengua inglesa. Sus
investigaciones a partir de la entropa condicional de los textos escritos en ingls,
prob que las lenguas naturales contienen una redundancia estadstica cercana al
80%.1 Eso no significa que en los textos en ingls pudiramos eliminar el 80% de
los caracteres y aun as seguir siendo inteligibles, los experimentos prueban que si
se eliminan al azar algo ms de una cuarta parte de las letras en general se hace
imposible reconstruir completamente el texto a partir del contexto restante. La
mayor parte de la redundancia se debe sin duda a las restricciones del sistema
fonolgico de la lengua que descarta ciertas combinaciones y hace que slo unas
pocas combinaciones de todas las combinaciones potencialmente posibles den
lugar a slabas bien formadas en ingls.

3.1.2.1 Actualizacin.

El segundo principio criptogrfico es el de actualizacin el cual implica que se


deben tomar medidas para asegurar que cada mensaje recibido se verifique a fin
de saber siesta actualizado. Esto permite evitar que posibles intrusos activos
reproduzcan mensajes antiguos. Una de las medidas es incluir en cada mensaje
una marca de tiempo vlida por ejemplo durante 10 segundos, para compararlo
con los mensajes nuevos que lleguen y filtrar los duplicados. Los mensajes con
una antigedad mayor a10 segundos pueden descartarse.

3.2 Criptosistemas de clave secreta


Denominamos criptosistema de clave secreta (de clave privada, de clave nica o
simtrico) a aquel criptosistema en el que la clave de cifrado, , puede ser
calculada a partir de la de descifrado, , y viceversa. En la mayora de estos
sistemas, ambas claves coinciden, y por supuesto han de mantenerse como un
secreto entre emisor y receptor: si un atacante descubre la clave utilizada en la
comunicacin,
ha
roto
el
criptosistema.
Hasta la dcada de los setenta, la invulnerabilidad de todos los sistemas dependa
de este mantenimiento en secreto de la clave de cifrado. Este hecho presentaba
una gran desventaja: haba que enviar, aparte del criptograma, la clave de cifrado
del emisor al receptor, para que ste fuera capaz de descifrar el mensaje. Por
tanto, se incurra en los mismos peligros al enviar la clave, por un sistema que
haba de ser supuestamente seguro, que al enviar el texto plano. De todos los
sistemas de clave secreta, el nico que se utiliza en la actualidad es DES (Data
Encryption Standard, que veremos ms adelante); otros algoritmos de clave
privada, como el cifrado Caesar o el criptosistema de Vigenre (sern tambin
brevemente comentados ms adelante) han sido criptoanalizados con xito, lo
cual da una idea del porqu del desuso en que han cado estos sistemas (con la
excepcin de DES, que es seguramente el algoritmo de cifra ms utilizado en la
actualidad). Por si esto no fuera suficiente, el hecho de que exista al menos una
clave de cifrado/descifrado entre cada dos usuarios de un sistema hara inviable la
existencia de criptosistemas simtricos en las grandes redes de computadores de
hoy en da: para un sistema de computacin con usuarios, se precisaran claves
diferentes, lo cual es obviamente imposible en grandes sistemas. Todos estos
motivos han propiciado que el estudio de los cifradores simtricos (excepto DES)
quede
relegado
a
un
papel
histrico.
Los sistemas de cifrado de clave nica se dividen a su vez en dos grandes grupos
de criptosistemas: por una parte tenemos los cifradores de flujo, que son aquellos
que pueden cifrar un slo bit de texto claro al mismo tiempo, y por tanto su cifrado
se produce bit a bit, y por otro lado tenemos los cifradores de bloque, que cifran un
bloque de bits (habitualmente, cada bloque es de 64 bits) como una nica unidad.

3.2.1Generalidades Sobre Sistema de Clave Secreta.


Se incluyen en esta familia el conjunto de algoritmos diseados para cifrar un
mensaje utilizando una nica clave conocida por los dos interlocutores, de manera
que el documento cifrado slo pueda descifrarse conociendo dicha clave secreta.
Algunas de las caractersticas ms destacadas de este tipo de algoritmos son las
siguientes:
A partir del mensaje cifrado no se puede obtener el mensaje original ni la clave
que se ha utilizado, aunque se conozcan todos los detalles del algoritmo
criptogrfico utilizado.
Se utiliza la misma clave para cifrar el mensaje original que para descifrar el
mensaje codificado.
Emisor y receptor deben haber acordado una clave comn por medio de un canal
de comunicacin confidencial antes de poder intercambiar informacin confidencial
por un canal de comunicacin inseguro.

3.2.2 Algoritmo DES (Data Encryption Standard).


El DES (Data Encription Standard o Estndar de Encriptacin de Datos) fue un
diseo de unidad de cifrado por bloques de gran influencia. Fue desarrollado y
publicado por IBM y publicado como estndar en 1977.
El DEA (llamado con frecuencia DES) es un algoritmo de cifrado por bloques de 64
bits de tamao. Emplea una clave de 56 bits durante la ejecucin (se eliminan 8
bits de paridad del bloque de 64). El algoritmo fue diseado para ser
implementado en hardware. Cuando se utiliza en comunicaciones ambos
participantes deben conocer la clave secreta (para intercambiarla se suelen
emplear algoritmos de clave pblica). El algoritmo se puede usar para encriptar y
desencriptar mensajes, generar y verificar cdigos de autentificacin de mensajes
(MAC) y para encriptacin de un slo usuario (p. ej para guardar un archivo en
disco).
Aunque el DES era un algoritmo computacionalmente seguro, esto ha dejado de
ser cierto, ya que con hardware especfico es posible realizar ataques por fuerza
bruta que descubran una clave en pocos das. El problema principal es que el
tamao de la clave (56 bits) es demasiado pequeo para la potencia de clculo
actual.

Triple-DES
Consiste en encriptar tres veces una clave DES. Esto se puede hacer de varias
maneras:
DES-EEE3: Tres encriptaciones DES con tres claves distintas.
DES-EDE3: Tres operaciones DES con la secuencia encriptar-desencriptarencriptar con tres claves diferentes.
DES-EEE2 y DES-EDE2: Igual que los anteriores pero la primera y tercera
operacin emplean la misma clave.
Dependiendo del mtodo elegido, el grado de seguridad vara; el mtodo ms
seguro es el DES-EEE3.
3.2.3 Modos de cifra en bloque
En Criptografa, una unidad de cifrado por bloques (block cipher) es una unidad de
cifrado de clave simtrica que opera en grupos de bits de longitud fija, llamados
bloques, aplicndoles una transformacin invariante. Cuando realiza cifrado, una
unidad de cifrado por bloques toma un bloque de texto plano o claro como entrada
y produce un bloque de igual tamao de texto cifrado. La transformacin exacta es
controlada utilizando una segunda entrada la clave secreta. El descifrado es
similar: se ingresan bloques de texto cifrado y se producen bloques de texto plano.
Para cifrar mensajes ms largos que el tamao del bloque, se utiliza un modo de
operacin.
Las unidades de cifrado por bloques se diferencian de las unidades de flujo de
cifrado en que un flujo de cifrado trabaja sobre dgitos individuales, uno despus
del otro, y la transformacin vara durante el proceso de cifrado. La diferencia
entre los dos tipos de unidades es algo difusa, dado que una unidad de cifrado por
bloques puede ser operada en un modo que permite utilizarla como una unidad de
flujo de cifrado, donde en lugar de dgitos se opera con bloques.
Los algoritmos de cifrado por bloques toman bloques de tamao fijo del texto en
claro y producen un bloque de tamao fijo de texto cifrado, generalmente del
mismo tamao que la entrada. El tamao del bloque debe ser lo suficientemente
grande como para evitar ataques de texto cifrado. La asignacin de bloques de
entrada a bloques de salida debe ser uno a uno para hacer el proceso reversible y
parecer aleatoria.
Para la asignacin de bloques los algoritmos de cifrado simtrico realizan
sustituciones y permutaciones en el texto en claro hasta obtener el texto cifrado.
La sustitucin es el reemplazo de un valor de entrada por otro de los posibles
valores de salida, en general, si usamos un tamao de bloque k, el bloque de
entrada puede ser sustituido por cualquiera de los 2k bloques posibles.

La permutacin es un tipo especial de sustitucin en el que los bits de un bloque


de entrada son reordenados para producir el bloque cifrado, de este modo se
preservan las estadsticas del bloque de entrada (el nmero de unos y ceros).
Los algoritmos de cifrado por bloques iterativos funcionan aplicando en sucesivas
rotaciones una transformacin (funcin de rotacin) a un bloque de texto en claro.
La misma funcin es aplicada a los datos usando una subclave obtenida de la
clave secreta proporcionada por el usuario. El nmero de rotaciones en un
algoritmo de cifrado por bloques iterativo depende del nivel de seguridad deseado.
Un tipo especial de algoritmos de cifrado por bloques iterativos son los
denominados algoritmos de cifrado de Feistel. En estos algoritmos el texto cifrado
se obtiene del texto en claro aplicando repetidamente la misma transformacin o
funcin de rotacin.
El funcionamiento es como sigue:
El texto a encriptar se divide en dos mitades, la funcin de rotacin se aplica a una
mitad usando una subclave y la salida de la funcin se emplea para hacer una oexclusiva con la otra mitad, entonces se intercambian las mitades y se repite la
misma operacin hasta la ltima rotacin, en la que no hay intercambio. Una
caracterstica interesante de estos algoritmos es que la encriptacin y
desencriptacin son idnticas estructuralmente, aunque las subclaves empleadas
en la encriptacin se toman en orden inverso en la desencriptacin.
OFB (Output Feedback Mode). Este sistema emplea la clave de la sesin para
crear un bloque pseudoaleatorio grande (pad) que se aplica en o-exclusiva al texto
en claro para generar el texto cifrado. Este mtodo tiene la ventaja de que el pad
puede ser generado independientemente del texto en claro, lo que incrementa la
velocidad de encriptacin y desencriptacin.
CFB (Cipher Feedback Mode). Variante del mtodo anterior para mensajes muy
largos.
Para aplicar un algoritmo por bloques es necesario descomponer el texto de
entrada en bloques de tamao fijo. Esto se puede hacer de varias maneras:
ECB (Electronic Code Book). Se parte el mensaje en bloques de k bits, rellenando
el ultimo si es necesario y se encripta cada bloque. Para desencriptar se trocea el
texto cifrado en bloques de k bits y se desencripta cada bloque. Este sistema es
vulnerable a ataques ya que dos bloques idnticos de la entrada generan el mismo
bloque de salida. En la prctica no se utiliza.
CBC (Cipher Block Chaining). Este mtodo soluciona el problema del ECB
haciendo una o-exclusiva de cada bloque de texto en claro con el bloque anterior
cifrado antes de encriptar. Para el primer bloque se usa un vector de inicializacin.
Este es uno de los esquemas ms empleados en la prctica.

3.2.4 Algoritmo IDEA (International Data Encryption Algorithm).


En criptografa, International Data Encryption Algorithm o IDEA (del ingls,
algoritmo internacional de cifrado de datos) es un cifrador por bloques diseado
por Xuejia Lai y James L. Massey de la Escuela Politcnica Federal de Zrich y
descrito por primera vez en 1991. Fue un algoritmo propuesto como reemplazo del
DES (Data Encryption Standard) . IDEA fue una revisin menor de PES (Proposed
Encryption Standard, del ingls Estndar de Cifrado Propuesto), un algoritmo de
cifrado anterior. Originalmente IDEA haba sido llamado IPES (Improved PES, del
ingls PES Mejorado).
IDEA fue diseado en contrato con la Fundacin Hasler, la cual se hizo parte de
Ascom-Tech AG. IDEA es libre para uso no comercial, aunque fue patentado y sus
patentes vencieron en 2010 y 2011. El nombre "IDEA" es una marca registrada y
est licenciado mundialmente por MediaCrypt.
IDEA fue utilizado como el cifrador simtrico en las primeras versiones de PGP
(PGP v2.0) y se lo incorpor luego de que el cifrador original usado en la v1.0
("Bass-O-Matic") se demostr insegura. Es un algoritmo opcional en OpenPGP.
Funcionamiento
IDEA opera con bloques de 64 bits usando una clave de 128 bits y consiste de
ocho transformaciones idnticas (cada una llamada un ronda) y una
transformacin de salida (llamada media ronda). El proceso para cifrar y descifrar
es similar. Gran parte de la seguridad de IDEA deriva del intercalado de
operaciones de distintos grupos adicin y multiplicacin modular y O-exclusivo
(XOR) bit a bit que son algebraicamente "incompatibles" en cierta forma.
IDEA utiliza tres operaciones en su proceso con las cuales logra la confusin, se
realizan con grupos de 16 bits y son:
Operacin O-exclusiva (XOR) bit a bit (indicada con un azul)

Suma mdulo 216 (indicada con un verde)


Multiplicacin mdulo 216+1, donde la palabra nula (0x0000) se interpreta como
216 (indicada con un rojo)
(216 = 65536; 216+1 = 65537, que es primo)
Despus de realizar 8 rondas completas viene una 'media ronda', cuyo resultado
se obtiene como indica la siguiente figura:
Este algoritmo presenta, a primera vista, diferencias notables con el DES, que lo
hacen ms atractivo:
El espacio de claves es mucho ms grande: 2128 3.4 x 1038
Todas las operaciones son algebraicas
No hay operaciones a nivel bit, facilitando su programacin en alto nivel
Es ms eficiente que los algoritmos de tipo Feistel, porque a cada vuelta se
modifican todos los bits de bloque y no solamente la mitad.
Se pueden utilizar todos los modos de operacin definidos para el DES

IDEA

Una ronda de cifrado de IDEA


General
Diseador(es)

Xuejia Lai (?), James


Massey

1 publicacin

1991

Antecesor

PES

Sucesor

MESH,
Akelarre
(cifrado),
IDEA NXT (FOX)

Detalle de cifrado
Longitud de la clave

128 bits

Longitud de bloque

64 bits

Estructura

Red de sustitucinpermutacin

Rounds

8.5

Mejor criptoanlisis pblico


Un ataque de colisin que requiere 224
textos planos elegidos rompe 5 rondas con
una complejidad de 2126 (Demirci et al,
2003).
[

3.2.5 Algoritmo AES (Advanced Encryption


Advanced Encryption Standard (AES), tambin conocido como Rijndael
(pronunciado "Rain Doll" en ingls), es un esquema de cifrado por bloques
adoptado como un estndar de cifrado por el gobierno de los Estados Unidos. El
AES fue anunciado por el Instituto Nacional de Estndares y Tecnologa (NIST)
como FIPS PUB 197 de los Estados Unidos (FIPS 197) el 26 de noviembre de
2001 despus de un proceso de estandarizacin que dur 5 aos (vase proceso
de Advanced Encryption Standard para ms detalles). Se transform en un
estndar efectivo el 26 de mayo de 2002. Desde 2006, el AES es uno de los
algoritmos ms populares usados en criptografa simtrica.

El cifrador fue desarrollado por dos criptlogos belgas, Joan Daemen y Vincent
Rijmen, ambos estudiantes de la Katholieke Universiteit Leuven, y enviado al
proceso de seleccin AES bajo el nombre "Rijndael".

En la fase de SubBytes, cada byte en el state es reemplazado con su entrada en


una tabla de bsqueda fija de 8 bits, S; bij = S(aij).

En el paso ShiftRows, los bytes en cada fila del state son rotados de manera
cclica hacia la izquierda. El nmero de lugares que cada byte es rotado difiere
para cada fila.

En el paso MixColumns, cada columna del state es multiplicada por un polinomio


constante c(x).

En el paso AddRoundKey, cada byte del state se combina con un byte de la


subclave usando la operacin XOR ().

3.3 Criptosistemas de Cifrado en Flujo

Criptosistemas actuales

Clave secreta

Cifrado en flujo

Clave pblica

Cifrado en bloque

Mtodos de cifrado en flujo La transformacin se aplica sobre cada carcter del


mensaje original
Ejemplo: sobre cada bit del mensaje
Mtodos de cifrado en bloque La transformacin se aplica sobre un grupo de
caracteres del mensaje original
Ejemplo: sobre grupos de 64 bits (DES)

Principios bsicos
Sustitucin Clave:
ABCDEFGHIJKLMNOPQRSTUVXYZ
PLO K N M J U I B V G YTF C X D R E S ZAQ H
Mensaje E S T O E S U N E J E M P L O
Criptograma N R E F N R S T N B N Y C I F

Transposicin Clave:
Mensaje S I S T E M A S C L A S I C O S
Criptograma T S I S S A M E S A L C S O C I
Grupos de 4 letras Transposicin: 1234 ---- 4321

3.3.1 Cifradores con clave continua de un solo uso


Una clave continua de un solo uso como su nombre lo indica solo se usa una vez.
En caso de que sea interceptada y haya sido usada, ya no funcionara.
Normalmente se generan mediante un algoritmo y no se recurre a la introduccin
de datos por parte del usuario.
CIFRADO CON CLAVE CONTINUA DE UN SOLO USO
El mtodo de cifrado One Time Pad es un cifrado de flujo adicional binario, donde
se genera un flujo de claves aleatorias reales y luego se combina con el texto en
claro para su cifrado o con el texto cifrado para su descifrado a travs de una
adicin OR-exclusiva (XOR).
Se puede demostrar que un esquema de cifrado de flujo es inviolable si se
cumplen las siguientes condiciones previas:
La clave debe ser tan larga como el texto en claro.
La clave debe ser realmente aleatoria.
La clave debe utilizarse solo una vez.

EL PROCESO DE CIFRADO
Las claves del One Time Pad se utilizan en pares. Cada usuario guarda una copia
de la clave y las claves se distribuyen de un modo seguro antes del cifrado.
La confidencialidad y autenticidad de las claves One Time Pad estn garantizadas
a travs de una proteccin continua durante su distribucin y almacenaje. Esto
garantiza que los intrusos no puedan hacer un uso incorrecto de la clave.

Para cifrar datos de texto en claro, el remitente utiliza una cadena de clave que
tiene la misma longitud que el texto en claro. La clave se utiliza mezclando
(atravs del cifrado XOR) bit por bit, siempre un bit de la clave con un bit del texto
en claro para crear un bit de texto cifrado.
A continuacin, el texto cifrado se enva al destinatario.
Por parte del destinatario, el mensaje codificado est mezclado (a travs del
cifrado XOR) con la copia duplicada de la clave de utilizacin nica y se ha
restaurado el texto en claro.
Tanto la clave del remitente como la del destinatario se destruyen
automticamente una vez se han utilizado, para garantizar que no se pueda volver
a aplicar la misma clave.
VENTAJAS
La capacidad de clculo ilimitada no sirve para nada.
Supongamos que un fisgn ha interceptado un mensaje cifrado con el One Time
Pad
y
que
dispone de una capacidad de clculo ilimitada y de tiempo. Un ataque con fuerza
bruta sera demasiado costoso para un texto en claro de un tamao razonable. Por
ejemplo, los mensajes de correo electrnico tpicos son como mnimo de 200
bytes de largo y requieren las pruebas de 1.600 bits.

Los atacantes tienen que intentar todas las claves posibles.

Puesto que todas las claves de utilizacin nica tienen las mismas probabilidades
y proceden de una fuente de ruido completamente imprevisible que es
probablemente aleatoria, el atacante tiene que probar todas las cadenas de clave
posibles.
Resulta imposible adivinar el texto en claro correcto.
Si utilizase cada cadena de clave posible para descifrar el texto cifrado,
apareceran todas las cadenas de texto en claro potenciales que tienen la misma
longitud que la informacin del texto en claro original. Tal y como se muestra a la
izquierda, la mayora de estas cadenas de texto en claro potenciales no tendra
sentido; sin embargo, cualquier cadena con sentido que tenga la misma longitud
que la informacin de texto en claro original tambin aparecera como cadena de
texto en claro potencial. Sin conocer el OTP (One-time password) que se ha
aplicado, el fisgn no puede saber de ningn modo qu cadena con sentido es el
texto en claro original. De este modo, el hecho de intentar todas las claves
posibles no ser de ninguna ayuda para el atacante, puesto que los textos en claro
posibles tienen las mismas probabilidades de ser descripciones del texto cifrado.

3.3.2 Postulados de Golomb para secuencias cifrantes


Postulados de Golomb
Los postulados de Golomb son condiciones necesarias pero no suficientes para
que secuencias pseudoaleatorias parezcan aleatorias. Fueron enunciados por el
ingeniero y matemtico estadounidense Solomon W. Golomb.
Sea
[1] [2]

una secuencia de perodo

, los postulados plantean que:

En el ciclo de , la cantidad de elementos '1' difiere de la cantidad de elementos


'0' como mximo en 1.
En el ciclo , las diversas rachas son de longitud
, esto es: Al menos la mitad
de las rachas tienen longitud 1, al menos la cuarta parte, longitud 2, al menos un
octavo longitud 3, etc. Adems para cada una de esas rachas hay la misma
cantidad de huecos y de bloques.
La funcin de autocorrelacin tiene slo 2 valores racionales:
(si

)y

donde

para

Huecos y bloques[editar]
Dentro de la cadena a evaluar, cada racha es el conjunto consecutivo de
caracteres repetidos, y dado que los Postulados de Golomb trabajan nicamente

con cadenas con codificacin binaria, existen slo dos tipos de racha: los bloques
(rachas de 1), y los huecos (rachas de 0). Esto es:
La cadena 1000001 contiene un hueco de 5.
La cadena 0111110 contiene un bloque de 5.
Las rachas mximas en la cadena 11011110001011 son un bloque de 4 y un
hueco de 3.
Una secuencia que cumple con los postulados de Golomb es considerada pseudoruido (en ingls, pseudo-noise), y se conoce como pn-secuencia.

3.3.3 ESTRUCTURAS GENERADORAS DE SECUENCIAS CIFRANTES

Generador de congruencia lineal.


Un generador de congruencia lineal (LCG) es un algoritmo que produce una
secuencia de nmeros pseudo-aleatorios calculados con una discontinua ecuacin
lineal por tramos. El mtodo representa una de las ms antiguas y ms
conocidas nmero de generadores pseudoaleatorias algoritmos. La teora detrs
de ellos es relativamente fcil de entender, y se implementa fcilmente y rpido,
sobre todo en el hardware que puede proporcionar la aritmtica mdulo de
almacenamiento
de
bits
truncamiento.
El

generador

se

define

por

la relacin

de

recurrencia:

Son enteros constantes que especifican el generador. Si c = 0, el generador es a


menudo llamado un generador de congruencia multiplicativo (MCG), o Lehmer
RNG. Si c 0, el mtodo se llama un generador de congruencia mixta.
NLFSR (No-Lineal Feedback Shift Register).
Un es un componente comn en los modernos sistemas de cifrado de flujo,
especialmente en RFIDy tarjetas inteligentes aplicaciones. NLFSRs son conocidos

por ser ms resistente a los ataques que criptoanalticos Registros Feedback Shift
lineales (LFSRs). Se sabe cmo generar un n -bit NLFSR longitud mxima de 2 n ,
generando una secuencia de Brujin, mediante la extensin de un LFSR de longitud
mxima con n etapas; pero la construccin de otros NLFSRs grandes con largos
perodos garantizados sigue siendo una problema abierto. El uso de mtodos de
fuerza bruta, una lista de mximo perodo de n -bit NLFSRs para n <25 se ha
hecho ,
as
como
para
n
=
25
y
n
=
27.

LFSR (linear Feedback Shift Register).


Que se traduce como: registro de desplazamiento con retroalimentacin lineal. Es
un registro de desplazamiento en el cual la entrada es un bit proveniente de
aplicar una funcin de transformacin lineal a un estado anterior.
El valor inicial se denomina semilla y, como la forma de operar el registro
es determinista, la secuencia de valores producidos est completamente
determinada por el estado actual o el estado anterior. La secuencia tiene un
periodo de repeticin, es decir que la secuencia vuelve a generarse y se repite
indefinidamente. Cuando el periodo de repeticin es mximo, ese LFSR tiene
inters
criptogrfico.
Como trabaja:
La secuencia tap de un LFSR se puede representar como un polinomio mod 2.
Esto significa que los coeficientes del polinomio deben ser 1's o 0's. Esto se llama
polinomio
de
realimentacin
o
caracterstica
polinomial.
Las salidas que influyen en la entrada, se denominan taps. Son las que aparecen
en el polinomio. Y se indican en azul en el esquema inferior

Si el polinomio es primitivo, s y solo s, el LFSR es mximo, o lo que es lo


mismo, tiene periodo mximo.

El LFSR slo ser mximo si el nmero de taps es par.

Los valores de tap en un LFSR mximo son coprimos.

Puede haber ms de una secuencia tap que haga mximo al LFSR para esa
longitud determinada.
Una vez encontrada una secuencia tap mxima, automticamente sigue otra. Si la
secuencia tap, en un LFSR n-bit, es [n, A, B, C], entonces la
secuencia mirrorcorrespondiente es [n,n-A,n-B,n-C]. Por ejemplo, la secuencia tap
[32, 3, 2,1], tiene su homlogo [32,29,30,31]. Ambos dan como resultado periodo
mximo.

Cifrado de Flujo Bsico


Recordando la propuesta de cifrado hecha por Berman en 1997, la cifra dores de
flujo sistemas con clave secreta) usaran:
Un algoritmo de cifra basado en la funcin XOR.
Una secuencia cifraste binaria y pseudoaleatorias denominada S y que se
obtiene a partir una clave secreta K compartida por emisor y receptor, y un
algoritmo generador determinstico.
El mismo algoritmo para el descifrado debido el carcter involutivo de la
funcin XOR.

Caractersticas de la secuencia cifrada S


Condiciones para una clave binaria segura
Periodo
La clave deber ser tanto o ms larga que el mensaje. En la prctica
se usara una semilla K de unos 120 a 250 bits en cada extremo del
sistema para generar periodos superiores a 10 35
Distribucin de bits:
La distribucin de bits de unos (1s) y ceros (0s) deber ser uniforme
para que represente a una secuencia pseudoaleatorias.
Para ello deber cumplir los postulados de Golomb:
Rachas de dgitos: uno o ms bits entre dos bits distintos.
Funcin de autocorreccin fuera de fase AC(k): desplazamiento de k bits sobre la
misma secuencia S.

Registros de Desplazamiento con Realimentacin Lineal (LFSRs)


En este post vamos a ver una descripcin muy bsica de lo que son los registros
de desplazamiento con realimentacin lineal (LFSR por su nombre en
ingls, Linear Feedback Shift Register). Adems, veremos los principales modos
de uso de este tipo de registros para realizar cifrados de flujo. Todo ello
sinentrar en detalles matemticos, para los que os refiero a documentos como
el Handbook of Applied Cryptography o esta referencia sobre LFSR.
Registros
de
desplazamiento
Un registro de desplazamiento es bsicamente una construccin con varias celdas
de memoria conectadas entre s, donde cada celdas almacena un bit.As, el valor
de todas estas celdas conforman el estado del registro. Cuando se cambia el
estado del registro (generalmente al ritmo de un reloj), el nuevo estado del registro
se forma simplemente desplazando los bits de cada celda a la celda de su
derecha. As, el bit de ms a la derecha sale del registro, y un nuevo bit entra en la
celda
de
ms
a
la
izquierda.
En esta figura podemos ver una implementacin de registro de desplazamiento de
4
bits:

Registro

de

desplazamiento
Podemos ver que hay una entrada de datos ( Data In ), 4 puntos donde leer el
estado actual del registro (Q1-Q4) y una entrada de reloj que se encarga de
governar el registro, indicando en qu momento se debe pasar de un estado al
siguiente.
Registros
de
desplazamiento
con
realimentacin
lineal
(LFSRs)
Bien, una vez sabemos qu son los registros de desplazamiento es muy sencillo
entender cmo funciona un LFSR. Simplemente, tomamos el registro anterior y
hacemos que la entrada sea una funcin lineal de las distintas celdas. Puesto que
hay un bucle que alimenta el registro en base a su estado anterior,
tenemos realimentacin. Adems, como esto se hace con una funcin lineal,
tenemos realimentacin lineal, lo cual explica el nombre de estas
construcciones
.

LFSR
Uso
de
LFSRs
en
criptografa
Llegados a este punto, posiblemente ya hayis adivinado que el uso principal de
un LFSR en sistemas de cifrado es el de generar una serie de bits pseudoaleatorios para ser usados como key stream en un cifrado de flujo.
La idea es generar una ristra de bits que no se repitan, con el mximo periodo
posible. Para su estudio, generalmente se representan las conexiones de la
funcin de alimentacin como un polinomio y se estudian las propiedades que
debe tener dicho polinomio para obtener un periodo mximo. Es decir, para que se
repite
lo
menos
posible.
Bsicamente, hay que conseguir que el LFSR pase por todos los estados posibles
antes de volver al primer estado. Es decir, si tenemos un registro de 16 bits, habra
que conseguir que el LFSR pase por los 2^16-1 estados posibles antes de volver
al primero. Y s, he dicho 2^16-1 y no 2^16 porque el estado 0 (cero) no debera
darse, puesto que entonces el LFSR se va a quedar para siempre en dicho estado
y no va a evolucionar. Para los curiosos, un LFSR tendrlongitud mxima si su
polinomio generador es un polinomio primitivo (seguro que a alguno os suena esto
de los polinomio primitivos, aunque puede que no para bien
).
Dejando a un lado el estudio de estos polinomios, que tiene detalles matemticos
bastante complejos (en mi opinin, que no soy matemtico
), un LFSR por
s mismo no debera ser usado como generador de un flujo de claves puesto que
sus propiedades hacen que sea bastante predecible. De hecho, para un registro
de n bits, obteniendo 2n bits de salida es posible conocer el valor
del polinomio generador y ser capaz de descifrar cualquier texto que venga detrs.
As pues, los LFSR no se usan tal cual en criptografa, sino que se usan
generalmente en uno los siguientes de tres modos:
Combinacin no lineal de varios LFSRs: se trata de tomar varios LFSRs y
combinar sus salidas de forma no lineal para obtener el flujo de claves.
Filtro generador no lineal: la salida se genera en base a una funcin no lineal del
estado del LFSR.
Generadores controlados por reloj: esta variedad se basa en tener varios LFSRs
que avanzan siguiendo unas reglas determinadas, en lugar de avanzar cada vez.

Mediante este tipo de construcciones se consigue mejorar las propiedades de los


LFSR para poder generar cifrados de flujo seguros. Y hasta aqu llegamos con los
LFSR

3.4 CRIPTOGRAFIA DE CLAVE PBLICA


SI la clave es pblica cualquiera puede descifrar, o no?

Asimetrica = separacin de claves: una pblica que cifra y otra


privada que descifra.
Dos ejemplos:
1. El cartero fiel:
Clave pblica: mi direccin.
Clave privada: la llave de mi buzn.
2. El fabricante de cajas de seguridad:
Clave pblica: una caja abierta, que se bloquea al cerrarla.
Clave privada: mi llave de la caja

Cifrado y descifrado asimtrico: la clave pblica la tienen todos, la clave privada


slo la tiene el destinatario:

Ni el mismo emisor puede descifrar!


Cules son esas mgicas funciones matemticas?
Funciones de un solo sentido:
En realidad son funciones biyectivas de otra forma no se podra
descifrar!
Lo importante es que para ser capaz de invertirlas hay que conocer
cierta informacin: la clave privada!
Si no se conoce la clave privada es computacionalmente imposible
invertir la funcin.
Quin conoce una funcin as?
Esta pregunta queda en pie tras el artculo de Diffie y Hellman.

La funcin de un solo
sentido, trabajando en el
sentido fcil. La
informacin necesaria es

La funcin slo puede


invertirse si se conoce la
clave privada. Slo para tus
3.4.1 Introduccin a la cifraojos.
con clave pblica

Los sistemas de clave secreta tienen el inconveniente de que, antes de establecer


la comunicacin cifrada los participantes, deben enviarse previamente, por un
canal seguro, la clave. Los sistemas de clave pblica permiten establecer
comunicacin cifrada sin necesidad de intercambio previo de claves. Los sistemas
de clave secreta se basan en la dispersin y confusin de la informacin mientras
que la filosofa de los sistemas de clave pblica es totalmente diferente: 1. Se elige
un problema que sea difcil de resolver en el caso general. 2. Se toma un caso
particular del anterior que sea fcil de resolver. 3. Se modifica el caso particular
para que parezca el caso general.

3.4.2 Protocolo de DIFFIE-HELLMAN para el intercambio de claves


Integridad de datos

Diffie-Hellman (DH) no es un mecanismo de cifrado y no se suele utilizar para


cifrar datos. En cambio, es un mtodo para intercambiar con seguridad las claves
que cifran datos. Los algoritmos (DH) permiten que dos partes establezcan la
clave secreta compartida que usan el cifrado y los algoritmos de hash.
DH, presentado por Whitfield Diffie y Martin Hellman en 1976, fue el primer
sistema en utilizar la clave pblica o las claves criptogrficas asimtricas. En la
actualidad, DH forma parte del estndar IPsec. Adems, un protocolo denominado
OAKLEY utiliza un algoritmo DH. OAKLEY es un protocolo utilizado por el
protocolo IKE, que forma parte del marco general denominado protocolo de
administracin de claves y de asociacin de seguridad de Internet.
Los algoritmos de cifrado, como DES, 3DES y AES, as como los algoritmos de
hash MD5 y SHA-1, requieren una clave secreta compartida simtrica para realizar
el cifrado y el descifrado. Cmo obtienen la clave secreta compartida los
dispositivos de cifrado y descifrado? El mtodo ms sencillo de intercambio de
claves es un mtodo de intercambio de clave pblica entre dispositivos de cifrado
y descifrado.
El algoritmo DH especifica un mtodo de intercambio de clave pblica que
proporciona una manera para que dos peers establezcan una clave secreta
compartida que solo ellos conozcan, aunque se comuniquen a travs de un canal
inseguro. Como todos los algoritmos criptogrficos, el intercambio de claves DH se
basa en una secuencia matemtica de pasos.

3.4.4 Cifrado RSA


El primer algoritmo de cifrado de clave pblica (cifrado asimtrico) fue desarrollado
por R. Merckley M. Hellman en 1977. Gracias al trabajo de los famosos analistas
criptogrficos Shamir, Zippel y Herlestman, se qued obsoleto rpidamente.
En 1978 apareci el algoritmo de clave pblica creado por Rivest, Shamir y
Ademan (de aqu el nombre RSA). Este algoritmo todava se usaba en 2002 para
proteger los cdigos de las armas nucleares de Estados Unidos y Rusia.
Cmo funciona RSA
El funcionamiento del criptosistema RSA se basa en la dificultad para factorizar
grandes nmeros enteros.
Digamos que p y q son dos nmeros primos, y d un nmero entero tal que d se
factoriza en (p-1)*(q-1)). De esta manera, el terceto (p,q,d) representa la clave
privada.
As, la clave pblica es un doblete (n, e) creado con la clave privada a travs de
las siguientes transformaciones:
n = p * q e = 1/d mod((p-1)(q-1))
Digamos que M es el mensaje a enviar. El mensaje M necesita factorizarse en la
clave n. El descifrado se basa en el teorema de Euler, que estipula que si M y n se
factorizan, entonces:
Mphi(n) = 1 mod(n)
Phi(n) ser la funcin totient y, en este ejemplo, tendra un valor de (p-1)*(q-1).
Por lo tanto, es necesario que M no sea un mltiplo de p, q o n. Una solucin sera
dividir el mensaje M en bits Mi de manera que la cantidad de nmeros en
cada Mi sea estrictamente inferior a la de p y q. Esto supone entonces que p y q
son grandes, que es lo que sucede en la prctica ya que el principio de RSA yace
en la dificultad de encontrar p y q en un perodo de tiempo razonable cuando se
conoce n; esto asume que p y q son grandes.
En la prctica...
Supongamos que un usuario (llamado Bob) quiere enviar un mensaje M a una
persona (llammosla Alice). Simplemente necesita obtener la clave pblica de
Alice (n,e) y luego calcular el mensaje cifrado c:
c = Me mod(n)
Luego, Bob enva el mensaje c a Alice, quien es capaz de descifrarlo con su clave
privada (p,q,d):
M = Me*d mod(n) = cd mod(n)

3.4.5 Cifrado ElGamal.


Es un algoritmo de criptografa asimtrica, basado en la idea de Diffie-Hellman y
que funciona de una forma parecida a este algoritmo discreto.
Definicin
Es un algoritmo, procedimiento o esquema de cifrado basado en problemas
matemticos de logaritmos discretos. Usado en la criptografa asimtrica. ElGamal
consta de tres componentes: el generador de claves, el algoritmo de cifrado, y el
de descifrado. A continuacin se describe el algoritmo utilizando el grupo
multiplicativo de enteros mdulo p.
Historia
Fue descrito por Taher Elgamal en 1984 y se usa en software GNU Privacy Guard,
versiones recientes de PGP, y otros sistemas criptogrficos. Este algoritmo no
est
bajo
ninguna
patente
lo
que
lo
hace
de
uso
libre.
Durante 1984 y 1985 ElGamal desarroll un nuevo criptosistema de clave pblica
basado en la intratabilidad computacional del problema del logaritmo discreto.
Aunque generalmente no se utiliza de forma directa, ya que la velocidad de cifrado
y autenticacin es inferior a la obtenida con RSA, y adems las firmas producidas
son ms largas, el algoritmo de ElGamal es de gran importancia en el desarrollo
del DSS (Digital Signature Standard), del NIST (National Institute of Standards and
Technology) estadounidense. El criptosistema de ElGamal tiene una caracterstica
determinante que lo distingue del resto de sistemas de clave pblica: en el cifrado
se utiliza aparte de la clave pblica del receptor, la clave privada del emisor.
Seguridad
En las firmas digitales que son muy utilizado, un tercero puede falsificar firmas si
encuentra la clave secreta x del firmante o si encuentra colisiones en la funcin de
Hash. Se considera que ambos problemas son suficientemente difciles. El
firmante debe tener cuidado y escoger una clave diferente de forma
uniformemente aleatoria para cada firma. As asegura que clave o an informacin
parcial sobre la clave no es deducible. Malas selecciones de claves pueden
representar fugas de informacin que facilitan el que un atacante deduzca la clave
secreta. En particular, si dos mensajes son enviados con el mismo valor de la
clave escogida entonces es factible deducir el valor de la clave secreta. Hasta el
momento el algoritmo ElGamal de cifrado/descifrado puede ser considerado un
algoritmo efectivo. Un adversario con la habilidad de calcular logaritmos discretos
podra ser capaz de romper un cifrado ElGamal. Sin embargo, en la actualidad, el
algoritmo de computacin de logaritmos discretos es su exponencial con una
complejidad de = 1/3 , la misma que la de factorizar dos nmeros primos, y por
tanto, incapaz de realizar tal tarea en nmeros grandes en un tiempo razonable.

Bibliografa
Fuentes
https://es.wikipedia.org/wiki/Cifrado_por_bloques
https://es.wikipedia.org/wiki/International_Data_Encryption_Algorithm
https:// digital.csic.es/bitstream/10261/11279/3/PonenciaMATESFuster.
http://seguridad-8vo-semestre.blogspot.mx/p/cifrado-con-clave-continua-de-unsolo.html
https://es.wikipedia.org/wiki/Postulados_de_Golomb
http://ma1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf
http://buhoz.net/public/books/computacion/criptografia/apuntes_crypto/intro_pu
blica.pdf
http://www.itesa.edu.mx/netacad/networks/course/module7/7.3.2.3/7.3.2.3.htm
l
http://es.ccm.net/contents/134-cifrado-por-medio-de-rsa

También podría gustarte