Você está na página 1de 1215

Document o de libre dist ribucin en I nt ernet a t ravs de Cript oRed

Prohibida su vent a, except o a t ravs del Depart ament o de Publicaciones de


la Escuela Universit aria de I nformt ica de la UPM - Espaa


LIBRO ELECTRNICO DE
SEGURIDAD INFORMTICA
Y CRIPTOGRAFA




LIBRO ELECTRNICO DE LIBRE DISTRIBUCIN EN
INTERNET PARA LA ENSEANZA Y EL APRENDIZAJE DE
LA SEGURIDAD INFORMTICA Y LA PROTECCIN DE LA
INFORMACIN MEDIANTE TCNICAS CRIPTOGRFICAS


1.106 DIAPOSITIVAS ANIMADAS QUE PERMITEN SU IMPRESIN EN PAPEL



SEXTA EDICIN
Versin v 4.1









Jorge Rami Aguirre

UNIVERSIDAD POLITCNICA DE MADRID - ESPAA
1 de Marzo de 2006
JRA, Madrid 2006

Freeware no significa regalar el trabajo personal ni la propiedad intelectual del autor, y no le
entrega derechos para apropiarse de esta obra. Respete siempre estos principios bsicos.

Edicin en papel versin 4.1
ISBN: 84-86451-69-8 (2006)
Depsito Legal: M-10039-2003
Libro Electrnico de Seguridad Informtica y
Criptografa Versin 4.1
Sexta edicin de 1 de Marzo de 2006
Captulo 1. Presentacin del Libro Electrnico
Libro electrnico con: 1.106 diapositivas
Este archivo tiene: 33 diapositivas
Ultima actualizacin: 01/03/06
Material Docente de
Libre Distribucin
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
Colaboracin del Dr. Josep Mara Miret Biosca
(U. de Lleida) en captulo 20: Curvas Elpticas
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 2
Los derechos de autor en el freeware
Este documento electrnico puede ser
descargado libre y gratuitamente desde
Internet para su ejecucin e impresin,
solamente para fines educativos y/o
personales, respetando en todo caso su
integridad y manteniendo siempre los
crditos del autor en el pie de pgina.
Si lo desea, puede utilizar partes del
libro como material de apoyo didctico
para docencia sin solicitar autorizacin
previa ni incluir los crditos de autor.
Queda por tanto prohibida su venta, excepto a
travs del Departamento de Publicaciones de la
Escuela Universitaria de Informtica de la
Universidad Politcnica de Madrid, Espaa.
Este libro electrnico es el
resultado de miles de horas de
trabajo. Recuerde que freeware no
le da derecho para apropiarse del
trabajo de otros, sino compartirlo.
(
ISBN: 84-86451-69-8 (2006)
Versin 4.1 impresa - EUI - UPM
Depsito Legal: M-10039-2003
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 3
Temas del curso
Pgina de diapositiva
Captulo 01: Presentacin del Libro Electrnico ................................................. 1
Captulo 02: Una Breve Introduccin a la Criptografa ...................................... 34
Captulo 03: Introduccin a la Seguridad Informtica ........................................ 49
Captulo 04: Calidad de Informacin y Programas Malignos ........................... 105
Captulo 05: Introduccin a la Gestin de la Seguridad .................................... 132
Captulo 06: Teora de la Informacin ............................................................... 178
Captulo 07: Teora de los Nmeros ................................................................. 237
Captulo 08: Teora de la Complejidad Algortmica ........................................ 312
Captulo 09: Sistemas de Cifra Clsicos ............................................................ 343
Captulo 10: Introduccin a la Cifra Moderna .................................................. 384
Captulo 11: Sistemas de Cifra en Flujo ............................................................ 419
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 4
Temas del curso
Pgina de diapositiva
Captulo 12: Cifrado Simtrico en Bloque ........................................................ 472
Captulo 13: Cifrado Asimtrico con Mochilas ................................................. 591
Captulo 14: Cifrado Asimtrico Exponencial .................................................. 621
Captulo 15: Funciones Hash en Criptografa ................................................... 710
Captulo 16: Autenticacin y Firma Digital ..................................................... 744
Captulo 17: Certificados Digitales y Estndar PKCS ...................................... 807
Captulo 18: Aplicaciones de Correo Seguro ................................................... 828
Captulo 19: Protocolos y Esquemas Criptogrficos ......................................... 928
Captulo 20: Introduccin a la Cifra con Curvas Elpticas ................................ 998
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos ............ 1.028
Total diapositivas de la versin 4.1 .............................................................. 1.106
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 5
Resumen del Contenido
Pgina
Captulo 01: Presentacin del Libro Electrnico 1
Captulo 02: Breve Introduccin a la Criptografa 34
- Definicin de criptografa ....................................................................................... 39
- Confidencialidad e integridad ................................................................................. 40
- Clasificacin de los criptosistemas .......................................................................... 41
- Criptosistemas simtricos ....................................................................................... 43
- Criptosistemas asimtricos ..................................................................................... 44
- Sistema de cifra hbrido ........................................................................................... 48
Captulo 03: Introduccin a la Seguridad Informtica 49
- Definiciones ............................................................................................................ 53
- Principios de la seguridad informtica .................................................................. 62
- Amenazas del sistema ............................................................................................. 66
- Debilidades del sistema ........................................................................................... 73
- Elementos de la seguridad informtica .................................................................. 75
- Esquema de un criptosistema ................................................................................. 79
- Recomendaciones de Bacon .................................................................................... 87
- Recomendaciones de Kerkchoffs ............................................................................ 88
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 6
Resumen del Contenido
- Fortaleza y tipos de ataques ................................................................................. 89
- Cifrado en bloque vs cifrado en flujo .................................................................... 91
- Confidencialidad vs integridad sistemas simtricos y asimtricos ........................ 93
Captulo 04: Calidad de Informacin y Programas Malignos 105
- Concepto e importancia de la informacin ........................................................... 106
- Vulnerabilidad de la informacin ....................................................................... 110
- Acciones contra los datos ................................................................................... 112
- Ataques y delitos informticos ............................................................................. 117
- Ataques y delitos recientes ................................................................................... 123
- Introduccin a los virus informticos .................................................................. 124
Captulo 05: Introduccin a la Gestin de la Seguridad 132
- Proteccin lgica y fsica de los datos ............................................................... 133
- Anlisis de riesgo ................................................................................................ 135
- Polticas de seguridad .......................................................................................... 145
- Modelos de seguridad .......................................................................................... 149
- Criterios y normativas de seguridad .................................................................... 153
- Leyes de seguridad informtica en Espaa LOPD ................................................ 154
- Norma ISO 17799 ................................................................................................. 161
- Planes de contingencia ......................................................................................... 164
- Acciones en un SGSI y PDCA ............................................................................... 165
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 7
Resumen del Contenido
- Recuperacin ante desastres ................................................................................. 171
Captulo 06: Teora de la Informacin 178
- Cantidad de informacin ..................................................................................... 183
- Definicin logartmica de la cantidad de informacin ........................................ 190
- Grado de indeterminacin de la informacin ...................................................... 191
- Entropa de los mensajes ...................................................................................... 196
- Codificador ptimo .............................................................................................. 199
- Entropa condicional ............................................................................................ 202
- La ratio del lenguaje ............................................................................................ 205
- Redundancia del lenguaje .................................................................................... 209
- Secreto en un sistema criptogrfico ..................................................................... 215
- La distancia de unicidad ...................................................................................... 223
- Esquema de un cifrador aleatorio ....................................................................... 224
- Cantidad de trabajo en criptoanlisis .................................................................. 230
Captulo 07: Teora de los Nmeros 237
- Propiedades de la congruencia y operaciones ..................................................... 240
- Conjunto completo de restos ................................................................................. 243
- Homomorfismo de los enteros .............................................................................. 244
- Divisibilidad de los nmeros ............................................................................... 246
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 8
Resumen del Contenido
- Inversos en un cuerpo ........................................................................................... 249
- Conjunto reducido de restos ................................................................................. 255
- Funcin de Euler ................................................................................................. 257
- Teorema de Euler ................................................................................................ 263
- Algoritmo extendido de Euclides ......................................................................... 269
- Clculo de inversos con el Algoritmo extendido de Euclides .............................. 271
- Teorema del resto chino ...................................................................................... 275
- Algoritmo de exponenciacin rpida ................................................................... 287
- Distribucin de nmeros primos ........................................................................... 291
- Raz primitiva de un cuerpo ................................................................................. 292
- Clculos en campos de Galois ............................................................................. 302
Captulo 08: Teora de la Complejidad Algortmica 312
- Nmero de operaciones bit .................................................................................. 314
- La funcin O(n) .................................................................................................... 316
- Algoritmos de complejidad polinomial P ............................................................. 319
- Algoritmos de complejidad no determinista NP .................................................... 321
- El problema de la mochila .................................................................................. 326
- El problema de la factorizacin .......................................................................... 330
- El problema del logaritmo discreto ..................................................................... 333
- Logaritmo discreto con valores de ................................................................... 336
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 9
Resumen del Contenido
Captulo 09: Sistemas de Cifra Clsicos 343
- Clasificacin histrica de la criptografa clsica ............................................... 346
- Herramientas de la criptografa clsica ............................................................. 348
- Clasificacin de los sistemas de cifra clsica ..................................................... 349
- Cifrador esctala ................................................................................................ 351
- Cifrador de Polybios ............................................................................................ 353
- Cifrado por sustitucin del Csar y criptoanlisis ............................................. 354
- Cifrador monoalfabeto afn y criptoanlisis ....................................................... 357
- Cifrador polialfabtico de Vigenre ................................................................... 359
- Criptoanlisis de Vigenre por mtodo de Kasiski ............................................. 361
- Regla AEO de ataque por Kasiski ...................................................................... 364
- ndice de Coincidencia IC .................................................................................... 365
- Cifrador poligrmico de Playfair ....................................................................... 365
- Cifrador poligrmico con matrices de Hill ......................................................... 368
- Criptoanlisis de Hill por el mtodo de Gausss Jordan ..................................... 372
- Cifrador de Vernam ............................................................................................. 375
Captulo 10: Introduccin a la Cifra Moderna 384
- Clasificacin de los criptosistemas modernos ..................................................... 386
- Introduccin al cifrado en flujo .......................................................................... 387
- Introduccin al cifrado en bloque ....................................................................... 391
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 10
Resumen del Contenido
- Funciones unidireccionales con trampa ............................................................ 396
- Cifrado con clave pblica de destino .................................................................. 399
- Cifrado con clave privada de origen .................................................................. 405
- Comparativa entre cifrado simtrico y asimtrico .............................................. 408
Captulo 11: Sistemas de Cifra en Flujo 419
- Cifrador de flujo bsico ....................................................................................... 420
- Rachas de dgitos ................................................................................................. 422
- Autocorrelacin fuera de fase .............................................................................. 424
- Postulados de Golomb G1, G2, G3 ..................................................................... 427
- Generador de congruencia lineal ........................................................................ 436
- Registros de desplazamiento ................................................................................ 440
- Introduccin a los autmatas celulkares ............................................................. 441
- Generadores no lineales: NLFSR ........................................................................ 442
- Generadores lineales: LFSR ................................................................................ 444
- Ataque de Berlekamp-Massey .............................................................................. 455
- Complejidad lineal ............................................................................................... 459
- Operaciones con dos registros y filtrado no lineal ............................................... 460
- Algoritmos de cifra A5/1 y A5/2 ........................................................................... 463
Captulo 12: Cifrado Simtrico en Bloque 472
- Cifradores tipo Feistel ......................................................................................... 474
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 11
Resumen del Contenido
- Cifradores de bloque ms conocidos ................................................................... 477
- Data Encryption Standard DES ............................................................................ 485
- Cajas S en DES ................................................................................................... 496
- Modos de cifra ECB, CBC, CFP .......................................................................... 508
- Cifrado mltiple y ataque meet-in-the-middle .................................................... 516
- Triple DES .......................................................................................................... 520
- International Data Encryption Standard IDEA ................................................... 522
- Algoritmos RC2, RC5, SAFER, Blowfish, CAST, Skipjack .................................. 539
- Desafos al DES: DES Challenge I, II y III ......................................................... 555
- AES, algoritmo Rijndael ...................................................................................... 549
- Esquema general del AES y sus funciones .......................................................... 557
Captulo 13: Cifrado Asimtrico con Mochilas 591
- El problema de la mochila ..................................................................................... 592
- Mochila simple o supercreciente ......................................................................... 597
- Mochila de Merkle y Hellman .............................................................................. 600
- Criptoanlisis a mochilas, Shamir y Zippel ......................................................... 610
Captulo 14: Cifrado Asimtrico Exponencial 621
- Cifrado exponencial con clave de destino y de origen ........................................ 624
- Intercambio de clave de Diffie y Hellman ........................................................... 629
- Algoritmo de cifra RSA ......................................................................................... 638
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 12
Resumen del Contenido
- Uso del Teorema del Resto Chino en RSA ........................................................... 642
- Ataque por factorizacin de n ............................................................................. 645
- Eleccin de nmeros primos seguros .................................................................. 650
- Claves privadas parejas ........................................................................................ 653
- Claves pblicas parejas ........................................................................................ 659
- Nmeros N no cifrables ......................................................................................... 662
- Distribucin de nmeros no cifrables .................................................................. 666
- Ataque al secreto de N por cifrado cclico ........................................................... 673
- La paradoja del cumpleaos ................................................................................. 676
- Ataque a la clave privada por paradoja del cumpleaos ..................................... 677
- La otra historia de RSA ........................................................................................ 683
- Algoritmo de cifra de Pohlig y Hellman con clave secreta ................................. 684
- Algoritmo de cifra de ElGamal ............................................................................ 687
- Eleccin del tamao del bloque para cifras de mensajes ..................................... 692
- Fortaleza y resumen de la cifra exponencial ........................................................ 694
Captulo 15: Funciones Hash en Criptografa 710
- Uso de las funciones hash en criptografa ........................................................... 711
- Propiedades de las funciones hash ....................................................................... 714
- Funciones hash ms conocidas ............................................................................. 717
- Algoritmo de resumen Message Digest 5 MD5 ..................................................... 718
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 13
Resumen del Contenido
- Algoritmo de resumen Secure Hash Algorithm SHA-1 ......................................... 728
- Comparativas entre MD5 y SHA-1 ....................................................................... 733
- ltimos ataques a las funciones hash ................................................................... 738
Captulo 16: Autenticacin y Firma Digital 744
- Los problemas de la integridad ........................................................................... 746
- Escenarios integridad .......................................................................................... 748
- Autenticacin con sistemas simtricos ................................................................. 751
- Autenticacin con MAC o Checksum .................................................................. 753
- Autenticacin con HMAC ..................................................................................... 756
- Autenticacin de Needham y Schroeder .............................................................. 761
- Autenticacin con Kerberos ................................................................................. 765
- Caractersticas de la firma digital ........................................................................ 775
- Firmas digitales simtricas .................................................................................. 776
- Firmas digital de Desmedt ................................................................................... 777
- Autenticacin con sistemas asimtricos ............................................................... 779
- Firma digital RSA ................................................................................................. 780
- Vulnerabilidades de la firma RSA ........................................................................ 784
- Firma digital ElGamal ......................................................................................... 786
- Estndares de firma digital .................................................................................. 791
- Firma digital DSS Digital Signature Standard ................................................... 792
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 14
Resumen del Contenido
- Seguridad de la firma digital DSS ....................................................................... 798
- Mensajes sin firma en DSS ................................................................................... 799
- Firmas simtricas versus asimtricas ................................................................... 801
Captulo 17: Certificados Digitales y Estndar PKCS 807
- Certificado digital X.509 ..................................................................................... 809
- Introduccin a las Autoridades de Certificacin ................................................. 812
- Certificado digital para correo de Verisign .......................................................... 816
- Certificado de Verisign en Outlook Express ........................................................ 818
- Estndar PKCS Public Key Cryptography Standards .......................................... 822
- PKCS #1 RSA Cryptography Standard ................................................................ 824
Captulo 18: Aplicaciones de Correo Seguro 828
- Private Enhanced Mail PEM ................................................................................. 830
- Pretty Good Privacy PGP .................................................................................... 834
- Cifrado local o convencional ............................................................................... 839
- Generacin de claves asimtricas y anillos de claves .......................................... 843
- Estructura del anillo de claves privadas .............................................................. 845
- Estructura del anillo de claves pblicas .............................................................. 847
- Gestin del anillo de claves pblicas ................................................................... 849
- Cifrado con clave pblica de destino ................................................................... 852
- Descifrado con clave privada de destino .............................................................. 854
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 15
Resumen del Contenido
- Firma digital RSA ................................................................................................. 856
- Formato de un mensaje PGP ................................................................................ 858
- Algoritmos en nuevas versiones de PGP .............................................................. 860
- Instalacin de PGP versin 6.5.1 ........................................................................ 862
- Generacin de claves PGP 6.5.1 con PGPkeys ................................................... 873
- Gestin de claves PGP 6.5.1 ................................................................................ 883
- Operaciones con el portapapeles en la versin 6.5.1 .......................................... 889
- Caractersticas PGP Versin 7.0.3 ...................................................................... 895
- Cifrado en modo SDA con PGP 7.0.3 .................................................................. 901
- Borrado fsico de archivos con PGP 7.0.3 .......................................................... 903
- Caractersticas PGP Versin 8.0 ......................................................................... 904
- Operacin wipe free space con PGP 8.0 ............................................................. 909
- Recomendaciones con las claves PGP .................................................................. 911
- GnuPG Gnu Privacy Guard ................................................................................... 912
- Correo seguro a travs de S/MIME ...................................................................... 913
Captulo 19: Protocolos y Esquemas Criptogrficos 925
- Definicin y ejemplos de protocolos criptogrficos ............................................. 926
- Protocolo de firma ciega de Chaum .................................................................... 932
- Transferencia inconsciente o trascordada de Rabin ........................................... 935
- El problema del lanzamiento de la moneda ......................................................... 943
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 16
Resumen del Contenido
- Solucin segn el esquema de Blum .................................................................... 945
- Restos cuadrticos y enteros de Blum .................................................................. 947
- Algoritmo de Blum .............................................................................................. 952
- La firma de contratos .......................................................................................... 955
- Firma de contratos segn algoritmo de Even ..................................................... 959
- Correo electrnico certificado ............................................................................ 962
- Protocolo de pquer mental ............................................................................... 967
- Protocolo de pquer mental con RSA .................................................................. 969
- Canal subliminal ................................................................................................ 972
- Transferencia con conocimiento nulo ................................................................. 974
- Esquema de transferencia con conocimiento nulo de Koyama ........................... 975
- Voto electrnico y esquema electoral .................................................................. 979
Captulo 20: Introduccin a la Cifra con Curvas Elpticas 998
- Introduccin a las curvas elpticas ................................................................... 1.000
- Conjunto y suma de puntos de una curva elptica ............................................. 1.002
- Curvas elpticas sobre cuerpos finitos .............................................................. 1.006
- Criptosistemas con curvas elpticas ................................................................... 1.008
- Criptosistema de ElGamal elptico .................................................................... 1.009
- ElGamal elptico versus ElGamal multiplicativo ............................................... 1.014
- Tamaos de la clave ......................................................................................... 1.015
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 17
Resumen del Contenido
- Dificultad del PLDE ....................................................................................... 1.016
- Firma digital con curvas elpticas ECDSA ...................................................... 1.017
- Curvas elpticas criptogrficamente tiles ...................................................... 1.021
- ECC challenge .................................................................................................. 1.022
- Software libre para usar curvas elpticas ......................................................... 1.025
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos 1.028
- Bibliografa recomendada en castellano ........................................................... 1.029
- Bibliografa recomendada en ingls .................................................................. 1.037
- Enlaces a pginas Web de captulos ................................................................. 1.046
- Enlaces de inters en Internet .......................................................................... 1.063
- Tablas de frecuencia de monogramas ............................................................... 1.066
- Tablas mod 27 y mod 37 con inversos ............................................................... 1.068
- Tabla de Vigenre ............................................................................................. 1.070
- Tabla cdigo Baudot .......................................................................................... 1.071
- Tablas ASCII y ANSI ......................................................................................... 1.072
- Tabla y ejemplo cdigo base 64 ......................................................................... 1.076
- Tablas de primos del 2 al 1.999 ......................................................................... 1.078
- Tabla de polinomios primitivos ........................................................................ 1.080
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 18
Resumen del Contenido
- El proyecto docente Criptolab ...................................................................... 1.081
- Cuaderno de prcticas en html ........................................................................ 1.082
- Software para prcticas .................................................................................. 1.085
- Formacin universitaria de seguridad informtica en Espaa ......................... 1.097
- Propuesta de formacin para un Mster en Seguridad Informtica ................. 1.100
- Palabras finales de autor ................................................................................... 1.106
Documento Anexo
- Criptosistemas Clsicos correspondiente al tercer captulo del libro
Aplicaciones Criptogrficas (1999) que puede descargar desde este
enlace:
http://www.criptored.upm.es/descarga/CriptoClasica.zip

Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 19
Uno de los primeros libro de la asignatura
Aplicaciones Criptogrficas, 2 edicin, Junio de 1999
Departamento de Publicaciones - Escuela Universitaria de
Informtica - Universidad Politcnica de Madrid
Carretera de Valencia km. 7 - 28031 Madrid (Espaa)
I.S.B.N.: 84-87238-57-2. Depsito Legal: M-24709-1999
Si dotamos a Internet de las medidas de proteccin y seguridad que nos
ofrecen las tcnicas criptogrficas, dejar de ser ese peligroso y catico
tabln de anuncios para convertirse en el supermercado electrnico del
futuro y la herramienta de trabajo de la generacin del prximo siglo.
A Anita y Jordi
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 20
Adquisicin de edicin impresa del libro
Este libro electrnico, en su condicin de curso en diapositivas de
libre distribucin en Internet, es parte del material docente que se
usa en la asignatura de Seguridad Informtica y que el autor imparte
desde el ao 1994 en la Escuela Universitaria de Informtica de la
Universidad Politcnica de Madrid, Espaa.
La versin 4.1 del libro ha sido editada por el Departamento de
Publicaciones de la Escuela Universitaria de Informtica con ISBN:
84-86451-69-8 (2006).
Para cualquier consulta en este sentido sobre condiciones de
compra y envo del mismo, dentro o fuera de Espaa, por favor
pngase en contacto con el Departamento de Publicaciones de la
EUI-UPM, Carretera de Valencia Km 7, cdigo postal 28031,
Madrid, Espaa. Por email a publicaciones@eui.upm.es o bien
telefnicamente al nmero +34 91 3367905.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 21
Instalacin y actualizacin
Al descomprimir SegInfoCrip_v41.zip, acepte el nombre completo de los
archivos del libro y stos se guardarn en la carpeta:
C:\Seguridad Informatica\v4.1 Libro Electronico\
Para una ms fcil localizacin, cada archivo tiene su nombre por tema,
precedido por un nmero que indica el captulo del libro.
Recuerde que por su naturaleza este libro electrnico puede actualizarse.
Luego, cuando observe en la pgina Web de CriptoRed la existencia de un
archivo SegInfoCrip_vX.zip ms actual que el que tiene instalado en su
computador, por favor descargue e instale el libro actualizado.
Si estas actualizaciones son de poca consideracin (erratas, etc.), ello no
conllevar el cambio de nmero de versin. Por tanto, le recomiendo que
consulte en CriptoRed si hay una nueva actualizacin cada 9 meses.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 22
Actualizacin de versiones
El libro en su versin 4.1 consta de 21 captulos, contando de esta
forma con 1.106 diapositivas. Se han actualizado especialmente los
captulos de cifrado simtrico profundizando el estudio del algoritmo
AES, y el de vulnerabilidades de la cifra con RSA.
Se han corregido erratas, vuelto a revisar cada uno de los captulos, se
ha puesto la numeracin en la parte superior de la pantalla y adems
se han incrementado los enlaces a sitios Web en cada captulo.
En esta versin no se incluye el documento en Word con ms de 100
pginas y 70 ejemplos resueltos sobre criptografa clsica, y que
corresponde al captulo tercero del libro Aplicaciones Criptogrficas
previamente citado. Su lectura slo tiene inters bajo un punto de
vista histrico y de cultura general. Como ya se ha indicado en una
diapositiva anterior, puede descargarlo como un archivo anexo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 23
Novedades en las versiones 4.0 y 4.1
Prcticas y enlaces a sitios de Internet:
Al final de algunos captulos y en cuyos temas adems existe un
software de laboratorio, se han incluido algunas prcticas. Le
recomiendo que se tome un tiempo y, una vez ledo el captulo y
reforzado los conceptos del mismo, intente realizar dichas prcticas.
Como bien sabr, sta es la forma en que mejor se aprende.
Adems, se han incluido enlaces a Internet en temas especficos en las
mismas diapositivas de clase, con objeto de reforzar conceptos. Puede
acceder a esa pgina Web desde la misma presentacin en Power Point
pinchando en el icono que aparecer junto a la direccin Web.
Si debido a la conexin a Internet que tenga en su computador no
puede acceder a la web desde dicho icono, use la direccin indicada
copindola al portapapeles y pegndola luego en el navegador.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 24
Prcticas incluidas en la versin 4.1
Captulo 06: Teora de la Informacin .......................................... 5 prcticas
Captulo 07: Teora de los Nmeros ........................................... 15 prcticas
Captulo 08: Teora de la Complejidad Algortmica ..................... 9 prcticas
Captulo 09: Sistemas de Cifra Clsica ....................................... 17 prcticas
Captulo 12: Cifrado Simtrico en Bloque .................................. 29 prcticas
Captulo 13: Cifrado Asimtrico con Mochilas ........................... 10 prcticas
Captulo 14: Cifrado Asimtrico Exponencial ............................ 50 prcticas
Captulo 15: Funciones Hash en Criptografa ............................. 13 prcticas
Captulo 16: Autenticacin y Firma Digital ................................ 22 prcticas
Captulo 17: Certificados Digitales y Estndar PKCS .................. 4 prcticas
Captulo 18: Aplicaciones de Correo Seguro .............................. 33 prcticas
Captulo 19: Protocolos y Esquemas Criptogrficos ..................... 4 prcticas
Nmero de prcticas propuestas en el libro .............................. 211 prcticas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 25
Por qu sigo usando la versin 2.000?
En este ltimo ao ha aparecido una nueva versin de
Office pero nuevamente me he visto en la obligacin -y
necesidad- de seguir usando la versin 2.000 SR-1.
Primero: estas ltimas versiones aportan muy poco a la
animacin del libro, tal vez ms orientadas a conferencias.
Segundo, y lo ms grave: actualizar los archivos con las
versiones actuales de Power Point, significa encontrarse
con la muy desagradable sorpresa de que aumenta de
forma espectacular el tamao del archivo guardado.
En algunos casos, slo guardar un captulo en una nueva
versin significaba pasar de 300 KB a ms de 900 KB... /.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 26
Si no lo cree, haga la prueba...
Estos mismos apuntes podran pasar de los 7 MBytes del
archivo zip actual a cerca de 20 Mbytes /.
Y subir un documento de ese tamao en Internet todava
podra considerarse una pequea insensatez.
Si tiene alguna de estas nuevas versiones, abra por ejemplo
el archivo del captulo 07 del libro, cambie la numeracin
de las pginas y guarde el archivo con un nuevo nombre.
Compare luego el tamao los dos archivos.
Sin entrar en discusiones, tal vez ste es un ejemplo de los
despropsitos de la programacin de aplicaciones y la
escalabilidad y compatibilidad entre versiones, cuando esa
nueva versin ofrece prcticamente lo mismo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 27
Formato imprimible del libro electrnico
La edicin de este libro electrnico ha sido adaptada para que,
adems de su animacin como material de apoyo docente y de
autoaprendizaje, pueda tambin imprimirse en papel en formato
ppt o pdf como un documento de estudio y consulta.
No obstante, es posible que si hace cuentas le sea ms econmico
y conveniente adquirir la edicin impresa por el Departamento de
Publicaciones de la EUI ya comentado.
IMPORTANTE: Para una lectura ms cmoda, se recomienda
imprimir dos diapositivas por pgina en formato documentos, en
impresin con escalas de grises para que el fondo sea blanco. Si
decide imprimir ms de dos diapositivas por pgina posiblemente
algunas letras se vern con un tamao demasiado pequeo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 28
Impresin del libro en PPT o PDF
Si su impresora, como la
seleccionada en la imagen,
tiene entre sus propiedades
imprimir por ambas caras, le
recomiendo que lo active.
As, el libro completo en
diapositivas ocupar unas
270 hojas, lo que permitir
guardarlo en una carpeta con
anillas o bien como un libro
en gusanillos.
Tambin puede pedir que se
imprima el documento en
formato PDF y editarlo con
ese programa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 29
Descargas de la versiones 1 y 2
La primera versin 1 del libro electrnico (bsica) alcanz algo ms de
2.000 descargas durante el ao 2001 desde el mismo servidor.
Febrero 2002 16.020
Marzo 2002 5.892
Abril 2002 3.655
Mayo 2002 3.077
Junio 2002 2.717
Julio 2002 2.940
Agosto 2002 1.602
Septiembre 2002 719
Octubre 2002 674
Noviembre 2002 765
Diciembre 2002 462
Enero 2003 690
Febrero 2003 852
Nmero total de descargas de la versin 2 desde febrero de 2002 a febrero de
2003: 40.065. Slo se consideran descargas desde el servidor CriptoRed.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 30
Descargas de la versin 3.1 del libro
Marzo 2003 8.614
Abril 2003 2.164
Mayo 2003 1.709
Junio 2003 1.687
Julio 2003 1.609
Agosto 2003 1.459
Septiembre 2003 1.609
Octubre 2003 1.665
Noviembre 2003 1.711
Diciembre 2003 1.385
Enero 2004 1.232
Febrero 2004 1.457
Total descargas de la versin 3.1 desde marzo de 2003 a febrero de 2004:
26.301. Slo se consideran descargas desde el servidor CriptoRed.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 31
Descargas de la versin 3.2 del libro
Marzo 2004 12.720
Abril 2004 4.067
Mayo 2004 2.877
Junio 2004 2.451
Julio 2004 2.105
Agosto 2004 2.005
Septiembre 2004 2.505
Octubre 2004 2.359
Noviembre 2004 3.219
Diciembre 2004 1.777
Enero 2005 1.842
Febrero 2005 2.124
Total descargas de la versin 3.2 desde marzo de 2004 a febrero de 2005:
40.051. Slo se consideran descargas desde el servidor CriptoRed.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 32
Descargas de la versin 4.0 del libro
Marzo 2005 7.231
Abril 2005 3.782
Mayo 2005 3.524
Junio 2005 3.306
Julio 2005 2.212
Agosto 2005 2.499
Septiembre 2005 3.310
Octubre 2005 3.207
Noviembre 2005 2.954
Diciembre 2005 2.207
Enero 2006 2.345
Febrero 2006 2.514
Total descargas de la versin 4.0 desde marzo de 2005 a febrero de 2006:
39.091. Slo se consideran descargas desde el servidor CriptoRed.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 1: Presentacin del Libro Electrnico
Pgina 33
Sobre el autor de este libro
Desde el curso 1994/1995 imparte la asignatura de Seguridad Informtica en la
titulacin de Ingeniero Tcnico en Informtica de Gestin en la Escuela
Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Y desde el curso 2004/2005 es coordinador de la asignatura Gestin, Auditora,
Normativas y Legislacin en Seguridad Informtica.
- http://www.lpsi.eui.upm.es/SInformatica/SInformatica.htm
- http://www.lpsi.eui.upm.es/GANLESI/GANLESI.htm
Es el creador y coordinador de la Red Temtica Iberoamericana de Criptografa
y Seguridad de la Informacin CriptoRed, desde diciembre de 1999, y que a 1
de marzo de 2006 cuenta con casi 600 miembros expertos en seguridad y que
representan a 155 universidades y ms de 190 empresas de Iberoamrica.
- http://www.criptored.upm.es
Ha impartido conferencias y cursos sobre criptografa y seguridad informtica
en Argentina, Bolivia, Brasil, Chile, Colombia, Costa Rica, Cuba, Espaa,
Mxico, Panam, Per, Repblica Dominicana, Uruguay y Venezuela.
- http://www.lpsi.eui.upm.es/~jramio

Fin del captulo


Captulo 2
Una Breve Introduccin a la Criptografa
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 15 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 35
Qu estudiaremos en este libro?
Si alguna vez ha pinchado en el acceso a una pgina web
segura, por ejemplo para comprar un billete de avin en
Internet, mirar el estado de una cuenta corriente en su banco,
... e incluso al introducir su clave cuando accede a hotmail ...
La comunicacin se ha hecho en una plataforma segura
conocida como SSL dentro de un protocolo https (secure).
En esos pocos segundos, tras los que se habr dado cuenta que
aparece un candado en la barra de tareas del navegador, a
grandes rasgos ha pasado algo parecido a lo que se mostrar
en la ltima diapositiva de este captulo.
Al final del curso, entre otras cosas, deberamos ser capaces
de saber qu es lo que ha pasado, entender los algoritmos
utilizados y poder evaluar sus fortalezas y debilidades .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 36
La razn de este captulo en el libro
La inclusin de este captulo -a manera de resumen- de lo
que se entiende por criptografa y sus aplicaciones en los
sistemas de cifra actuales tiene como objetivo ser una
introduccin general y amplia de las tcnicas de proteccin
de la informacin y que puede utilizarse en dos escenarios:
Como la primera clase de un curso de criptografa y/o seguridad
informtica, de forma que el profesor pueda comentar, razonar y
debatir con sus alumnos lo que se ver en profundidad en el resto
de la asignatura, y servir adems como motivacin de la misma.
Como material bsico para una charla de aproximadamente una
hora en la que el ponente hace un repaso general de estas tcnicas
y sus aplicaciones. Tambin para la presentacin de este tema de
la criptografa en otras asignaturas relacionadas con la seguridad
pero que slo pueden dedicarle una hora dentro del temario.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 37
La criptografa segn la RAE
He aqu una definicin no muy afortunada...
La Real Academia Espaola define criptografa
(del griego: oculto + escritura) como:
"el arte de escribir con clave secreta o
de modo enigmtico".
Puede ser interesante y llamativa, pero resulta muy
poco ajustada para los tiempos actuales.
vea la siguiente diapositiva
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 38
Imprecisiones de esta definicin
- Arte: la criptografa ha dejado de ser un arte: es una ciencia.
- Escritura de documentos: no slo se escriben mensajes; se
envan o se guardan en un computador diversos tipos de
documentos y formatos (TXT, DOC, EXE, DLL, JPG, ...).
- Se supone una clave: los sistemas actuales usan una o dos.
En varias aplicaciones de Internet entran en juego 4 claves.
- Clave secreta: existirn sistemas de clave secreta que usan
una sola clave y sistemas de clave pblica (muy importantes)
que usan dos: una clave privada (secreta) y la otra pblica.
- Representacin enigmtica: la representacin binaria de la
informacin podra ser enigmtica para nosotros los humanos
pero no para los computadores ... es su lenguaje natural.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 39
Una definicin ms tcnica de criptografa
Criptografa
He aqu una definicin ms formal...
Rama inicial de las Matemticas y en la actualidad tambin de la
Informtica y la Telemtica, que hace uso de mtodos y tcnicas con
el objeto principal de cifrar, y por tanto proteger, un mensaje o
archivo por medio de un algoritmo, usando una o ms claves.
Esto dar lugar a diferentes tipos de sistemas de cifra, denominados
criptosistemas, que nos permiten asegurar al menos tres de los cuatro
aspectos bsicos de la seguridad informtica: la confidencialidad o
secreto del mensaje, la integridad del mensaje y autenticidad del
emisor, as como el no repudio mutuo entre emisor (cliente) y
receptor (servidor).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 40
Criptosistema
Medio de
Transmisor Transmisin Receptor
M C
Cifrador
Mensaje cifrado Descifrador
T R
MT
C M
Usurpacin de identidad
por un intruso (I)
Interceptacin del mensaje
por un intruso (I)
Cualquier medio de transmisin es inseguro
Integridad
Confidencialidad
Estos dos aspectos bsicos de la seguridad informtica, el de la
confidencialidad y el de integridad (adems de la disponibilidad
del sistema y el no repudio) sern muy importantes en un entorno
de intercambio de informacin segura a travs de Internet.
Confidencialidad e integridad
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 41
Tipos de criptosistemas
Clasificacin de los criptosistemas
Segn el tratamiento del mensaje se dividen en:
Cifrado en bloque (IDEA, AES, RSA* ...) 64 128 bits
Cifrado en flujo (A5, RC4, SEAL ...) cifrado bit a bit
Segn el tipo de claves se dividen en:
Cifrado con clave secreta
Cifrado con clave pblica
Sistemas simtricos
Sistemas asimtricos
(*) Como veremos en otro captulo, sistemas como RSA no
cifran por bloques propiamente tal: cifran un nmero nico.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 42
Criptosistemas simtricos y asimtricos
Criptosistemas simtricos:
Existir una nica clave (secreta) que deben compartir emisor
y receptor. Con la misma clave se cifra y se descifra por lo que
la seguridad reside en mantener dicha clave en secreto.
Criptosistemas asimtricos:
Cada usuario crea un par de claves, una privada y otra pblica,
inversas dentro de un cuerpo finito. Lo que se cifra en emisin
con una clave, se descifra en recepcin con la clave inversa. La
seguridad del sistema reside en la dificultad computacional de
descubrir la clave privada a partir de la pblica. Para ello, usan
funciones matemticas de un solo sentido o con trampa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 43
Criptosistemas simtricos
Cifrado con criptosistemas de clave secreta
Medio de
k
Transmisin
k
M
C
Texto Texto
Base Criptograma Base
E
K
MT
D
K
M
C
protegida
Integridad
C no permitido
Intruso
E
K
Confidencialidad
protegida
M no permitido
D
K
La confidencialidad y la integridad se
lograrn si se protegen las claves en el cifrado
y en el descifrado. Es decir, se obtienen
simultneamente si se protege la clave secreta.
DES, TDES,
IDEA, CAST,
RC5, AES, ...
DES, TDES,
IDEA, CAST,
RC5, AES, ...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 44
Cifrado con clave pblica del receptor
(intercambio de claves RSA)
Intruso
Medio de
Clave pblica
del usuario B
Transmisin
M
C Usuario A
Criptograma
E
B
MT
D
B
M
C
Clave privada
del usuario B
Usuario B
protegida
Confidencialidad
M no permitido
D
B
Observe que se
cifra con la clave
pblica E
B
del
destinatario B.
Las cifras E
B
y D
B
(claves) son
inversas dentro de un cuerpo
Un sistema similar es el
intercambio de clave de
Diffie y Hellman (DH)
Criptosistemas asimtricos (parte 1)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 45
Criptosistemas asimtricos (parte 2)
Cifrado con clave privada del emisor
(firma digital RSA)
Intruso
Criptograma
C
Medio de
Clave privada
del usuario A
Transmisin
M
Usuario A
D
A
MT
E
A
M
C
Clave pblica
del usuario A
Usuario B
D
A
protegida
Integridad
C no permitido
Observe que se cifra
con la clave privada
D
A
del emisor A.
Se firma sobre un hash
h(M) del mensaje, por
ejemplo SHA-1.
Firmas: RSA y DSS
La firma DSS estar
basada en el algoritmo
de cifra de ElGamal.
Las cifras D
A
y E
A
(claves) son
inversas dentro de un cuerpo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 46
Tipos de cifra con sistemas asimtricos
Criptosistemas de clave pblica
Integridad
Confidencialidad
La confidencialidad y la integridad se obtienen por separado
Firma
digital
Informacin cifrada
Autenticacin
del usuario A e
integridad de M
E
B
D
B
D
A
M
E
A
M
Usuario B
k privada
de A
k pblica
de A
k pblica
de B
k privada
de B
D
A
D
B
C
Usuario A
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 47
Qu usar, cifra simtrica o asimtrica?
Los sistemas de clave pblica son muy lentos
pero tienen un fcil intercambio de clave y
cuentan con firma digital.
Los sistemas de clave secreta son muy rpidos
pero carecen de lo anterior.
Qu hacer?
Cifrado de la informacin:
- Usaremos sistemas de clave secreta
Firma e intercambio de clave de sesin:
- Usaremos sistemas de clave pblica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 2: Una Breve Introduccin a la Criptografa
Pgina 48
Sistema hbrido de cifra y firma digital
Firma
digital
sobre
h(M)
Cifrado simtrico del mensaje
Intercambio previo de clave de sesin k:
E
B
(k) en emisin y D
B
(k) en recepcin
Autenticacin
del usuario A e
integridad de M
k k
h(M)
E
A
h(M)
Usuario A
k privada
de A
Usuario B
k pblica
de A
Cifrado asimtrico
k secreta
D
k
(C)
D
A
E
k
(M)
C
k secreta
M
M
Fin del captulo
Captulo 3
Introduccin a la Seguridad Informtica
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 56 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 50
Cmo definir la seguridad informtica?

http://www.rae.es/
Si nos atenemos a la definicin de la Real Academia de la Lengua
RAE, seguridad es la cualidad de seguro. Buscamos ahora seguro y
obtenemos libre y exento de todo peligro, dao o riesgo.
A partir de estas definiciones no podramos aceptar que seguridad
informtica es la cualidad de un sistema informtico exento de
peligro, por lo que habr que buscar una definicin ms apropiada.
Algo bsico: la seguridad no es un producto, sino un proceso.
Por lo tanto, podramos aceptar que una primera definicin ms o
menos aceptable de seguridad informtica sera:
Un conjunto de mtodos y herramientas destinados a proteger la
informacin y por ende los sistemas informticos ante cualquier
amenaza, un proceso en el cual participan adems personas.
Concienciarlas de su importancia en el proceso ser algo crtico.
Recuerde: la seguridad informtica no es un bien medible, en cambio
s podramos desarrollar diversas herramientas para cuantificar de
alguna forma nuestra inseguridad informtica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 51
Y qu es la criptografa?
La criptografa es aquella rama inicial de las Matemticas y
en la actualidad tambin de la Informtica y la Telemtica,
que hace uso de mtodos y tcnicas con el objeto principal de
cifrar, y por tanto proteger, un mensaje o archivo por medio
de un algoritmo, usando una o ms claves.
Un trmino ms genrico es criptologa: el compendio de las
tcnicas de cifra, conocido como criptografa, y aquellas
tcnicas de ataque conocidas como criptoanlisis.
He aqu una definicin menos afortunada de
criptografa que podemos encontrar en el
diccionario de la Real Academia Espaola...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 52
Una definicin menos afortunada...

La criptografa segn la RAE:


Arte de escribir con clave secreta o de modo
enigmtico
Desde el punto de vista de la ingeniera y la informtica,
es difcil encontrar una definicin menos apropiada
Hoy ya no es un arte sino una ciencia.
No slo se escriben documentos, se generan diversos tipos
de archivos DOC, DLL, EXE, JPG, etc.
La clave no es nica. Muchos sistemas actuales usan dos
claves, una de ellas secreta y la otra pblica. En sistemas de
navegacin segura en Internet se llega a usar 4 claves.
No hay nada de enigmtico en una cadena de bits.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 53
El trmino es cifrar no encriptar
Cifra o cifrado:
Tcnica que, en general, protege o autentica a un documento o
usuario al aplicar un algoritmo criptogrfico. Sin conocer una clave
especfica o secreta, no ser posible descifrarlo o recuperarlo.
No obstante, la RAE define cifrar como Transcribir en guarismos,
letras o smbolos, de acuerdo con una clave, un mensaje cuyo
contenido se quiere ocultar ... tambin muy poco tcnica .
En algunos pases de Latinoamrica, por influencia del ingls, se
usar la palabra encriptar.
Si bien se entiende, esta palabra todava no existe y podra ser el
acto de introducir a alguien dentro de una cripta, ... ... algo
bastante distinto a lo que deseamos expresar... .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 54
Ms definiciones y palabras no recogidas
o En el trabajo diario con temas de seguridad informtica, nos
encontraremos con muchas situaciones parecidas a sta.
o Por ejemplo, podemos ver en algunos documentos palabras
nuevas como securizar y hacker que, a la fecha, no estn
recogidas en el diccionario de la Real Academia Espaola.
o Ms an, aunque le parezca increble no encontrar en ese
diccionario palabras tan comunes como factorizar, primalidad,
criptlogo, criptgrafo, criptoanalista, etc.
o No obstante s se recogen criptograma como Documento
cifrado y adems criptoanlisis como El arte de descifrar
criptogramas... tal vez no muy acertada esta ltima porque
normalmente se habla aqu de criptoanalizar y no descifrar .

http://www.rae.es/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 55
Unas cuantas definiciones previas
- Criptologa: ciencia que estudia e investiga todo aquello
relacionado con la criptografa: incluye cifra y criptoanlisis.
- Criptgrafo: mquina o artilugio para cifrar.
- Criptlogo: persona que trabaja de forma legtima para
proteger la informacin creando algoritmos criptogrficos.
- Criptoanalista: persona cuya funcin es romper algoritmos
de cifra en busca de debilidades, la clave o del texto en claro.
- Texto en claro: documento original. Se denotar como M.
- Criptograma: documento/texto cifrado. Se denotar como C.
- Claves: datos (llaves) privados/pblicos que permiten cifrar
un documento y descifrar el correspondiente criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 56
La solucin ser estar desconectado?
No podemos aceptar esa
afirmacin simplista que
dice que el computador
ms seguro ...
... es aquel que est
desconectado y, por lo
tanto, libre de todos los
peligros que hay en la red.
A pesar de todas las
amenazas del entorno,
que sern muchas y de
muy distinto tipo ...
... tendremos que aplicar
polticas, metodologas y
tcnicas de proteccin
de la informacin porque
la conectividad es vital.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 57
Tenemos conciencia de las debilidades?
Amenazas
La seguridad informtica
se convierte en un nuevo
motivo de preocupacin
Habr debilidades tanto internas como externas...
A finales del siglo XX e inicios del XII tanto las empresas, organismos e
incluso particulares comienzan a tomar verdadera conciencia de su
importancia. Hoy en da, tener un sistema que cumpla con los estndares
de gestin de la seguridad es sinnimo de calidad de servicio.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 58
Acontecimientos en dos ltimas dcadas
A partir de los aos 80 el uso del ordenador personal
comienza a ser comn. Asoma por tanto la preocupacin
por la integridad de los datos.
En la dcada de los aos 90 aparecen los virus y gusanos y
se toma conciencia del peligro que nos acecha como
usuarios de PCs y equipos conectados a Internet.
Adems, comienzan a proliferar ataques a sistemas
informticos. La palabra hacker aparece incluso en prensa.
Las amenazas se generalizan a finales de los 90; aparecen
nuevos gusanos y malware generalizado.
En los aos 00s los acontecimientos fuerzan a que se tome
muy en serio la seguridad informtica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 59
Qu hay de nuevo en los 00s?
Principalmente por el uso masivo de Internet, el tema de la
proteccin de la informacin se ha transformado en una
necesidad y con ello se populariza la terminologa tcnica
asociada a la criptologa:
Cifrado, descifrado, criptoanlisis, firma digital, ...
Autoridades de Certificacin, comercio electrnico, ...
Ya no slo se comentan estos temas en las universidades.
Cualquier usuario desea saber, por ejemplo, qu significa
firmar un e-mail o qu significa que en una comunicacin
con su banco aparezca un candado en la barra de tareas de
su navegador y le diga que el enlace es SSL con 128 bits.
El software actual viene con seguridad aadida o embebida.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 60
Es atractivo el delito informtico?
Suponiendo que todos entendemos ms o menos qu es un delito
informtico, algo no muy banal dado que muchos pases no se
ponen de acuerdo, parece ser que es un buen negocio:
Objeto pequeo: la informacin que se ataca est almacenada
en contenedores pequeos: no es necesario un camin para
robar un banco, llevarse las joyas, el dinero, etc.
Contacto fsico: no existe contacto fsico en la mayora de los
casos. Se asegura el anonimato y la integridad fsica del
propio delincuente.
Alto valor: el objeto codiciado tiene un alto valor. Los datos
(el contenido a robar) puede valer mucho ms que el soporte
que los almacena: servidor, computador, disco, CD, etc.
Aunque no ser la nica, una de las herramientas de proteccin de
datos ms efectiva es el uso de tcnicas criptogrficas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 61
Seguridad Fsica y Seguridad Lgica
El estudio de la seguridad informtica podramos plantearlo desde dos
enfoques distintos aunque complementarios:
La Seguridad Fsica: puede asociarse a la proteccin del sistema
ante las amenazas fsicas, incendios, inundaciones, edificios,
cables, control de accesos de personas, etc.
La Seguridad Lgica: proteccin de la informacin en su propio
medio, mediante el enmascaramiento de la misma usando tcnicas
de criptografa. Este enfoque de las aplicaciones criptogrficas, es
el que ser tratado a lo largo de los captulos de este libro.
La gestin de la seguridad est en medio de la dos: los planes de
contingencia, polticas de seguridad, normativas, etc. Aunque muy
brevemente, este tema ser tratado en un prximo captulo.
No obstante, tenga en cuenta que esta clasificacin en la prctica
no es tan rigurosa. En resumidas cuentas, podramos decir que cada
vez est menos claro dnde comienza una y dnde termina la otra.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 62
Principios de la seguridad informtica
Veremos a continuacin los tres principios bsicos
de la seguridad informtica: el del acceso ms fcil,
el de la caducidad del secreto y el de la eficiencia de
las medidas tomadas.
Tras los acontecimientos del 11/09/2001 en
Nueva York, los del 11/03/2004 en Madrid y los
del 07/07/2005 en Londres, que echaron por
tierra todos los planes de contingencia, incluso
los ms paranoicos, comenzamos a tener muy en
cuenta las debilidades de los sistemas y valorar
en su justa medida el precio de la seguridad.
Es necesario
aprender de
los errores

http://www.virusprot.com/Opiniones2002.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 63
1
er
principio de la seguridad informtica
PREGUNTA:
Cules son los puntos dbiles
de un sistema informtico?
P1: El intruso al sistema utilizar el artilugio que
haga ms fcil su acceso y posterior ataque.
Existir una diversidad de frentes desde los que
puede producirse un ataque, tanto internos como
externos. Esto dificultar el anlisis de riesgo ya
que el delincuente aplicar la filosofa del ataque
hacia el punto ms dbil: el equipo o las personas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 64
2 principio de la seguridad informtica
PREGUNTA:
Cunto tiempo deber
protegerse un dato?
P2: los datos confidenciales deben protegerse slo
hasta que ese secreto pierda su valor como tal.
Se habla, por tanto, de la caducidad del sistema de
proteccin: tiempo en el que debe mantenerse la
confidencialidad o secreto del dato.
Esto nos llevar a la fortaleza del sistema de cifra.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 65
3
er
principio de la seguridad informtica
P3: las medidas de control se implementan para
que tengan un comportamiento efectivo, eficiente,
sean fciles de usar y apropiadas al medio.
Efectivo: que funcionen en el momento oportuno.
Eficiente: que optimicen los recursos del sistema.
Apropiadas: que pasen desapercibidas para el usuario.
Y lo ms importante: ningn sistema de
control resulta efectivo hasta que debemos
utilizarlo al surgir la necesidad de aplicarlo.
Junto con la concienciacin de los usuarios,
ste ser uno de los grandes problemas de la
Gestin de la Seguridad Informtica.
Medidas de control
S
e
g
u
r
i
d
a
d
I
n
f
o
r
m

t
i
c
a
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 66
Amenazas del sistema
Las amenazas afectan
principalmente al
hardware, al software y
a los datos. stas se
deben a fenmenos de:
Interrupcin
Interceptacin
Modificacin
Generacin
Interrupcin Interceptacin
Flujo Normal
Modificacin Generacin
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 67
Amenazas de interrupcin
Interrupcin
Intruso
Se daa, pierde o deja de funcionar un punto del
sistema.
Su deteccin es inmediata.
Ejemplos: Destruccin del hardware.
Borrado de programas, datos.
Fallos en el sistema operativo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 68
Amenazas de interceptacin
Interceptacin
Intruso
Acceso a la informacin por parte de personas no
autorizadas. Uso de privilegios no adquiridos.
Su deteccin es difcil, a veces no deja huellas.
Ejemplos: Copias ilcitas de programas.
Escucha en lnea de datos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 69
Amenazas de modificacin
Modificacin
Intruso
Acceso no autorizado que cambia el entorno para
su beneficio.
Su deteccin es difcil segn las circunstancias.
Ejemplos: Modificacin de bases de datos.
Modificacin de elementos del HW.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 70
Amenazas de generacin
Generacin
Intruso
Creacin de nuevos objetos dentro del sistema.
Su deteccin es difcil: delitos de falsificacin.
Ejemplos: Aadir transacciones en red.
Aadir registros en base de datos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 71
Escenarios de las amenazas del sistema
Interrupcin Interceptacin Modificacin Generacin
(prdida) (acceso) (cambio) (alteracin)
Datos
Hardware Software
Interrupcin (denegar servicio) Modificacin (falsificacin)
Interceptacin (robo) Interrupcin (borrado)
Interceptacin (copia)
Ejemplos de amenzas
Los datos sern la parte ms
vulnerable del sistema
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 72
Amenazas ms caractersticas
Hardware:
Agua, fuego, electricidad, polvo, cigarrillos, comida.
Software:
Adems de algunos tpicos del hardware, borrados
accidentales o intencionados, esttica, fallos de lneas
de programa, bombas lgicas, robo, copias ilegales.
Datos:
Tiene los mismos puntos dbiles que el software. Pero
hay dos problemas aadidos: no tienen valor intrnseco
pero s su interpretacin y, por otra parte, habr datos
de carcter personal y privado que podran convertirse
en datos de carcter pblico: hay leyes que lo protegen.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 73
Debilidades del sistema informtico (1)
HARDWARE - SOFTWARE - DATOS
MEMORIA - USUARIOS
Los tres primeros puntos conforman el llamado Tringulo de
Debilidades del Sistema:
Hardware: pueden producirse errores intermitentes, conexiones
sueltas, desconexin de tarjetas, etc.
Software: puede producirse la sustraccin de programas, ejecucin
errnea, modificacin, defectos en llamadas al sistema, etc.
Datos: puede producirse la alteracin de contenidos, introduccin
de datos falsos, manipulacin fraudulenta de datos, etc.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 74
Debilidades del sistema informtico (2)
Memoria: puede producirse la introduccin de un virus, mal uso de
la gestin de memoria, bloqueo del sistema, etc.
Usuarios: puede producirse la suplantacin de identidad, el acceso
no autorizado, visualizacin de datos confidenciales, etc.
Es muy difcil disear un plan que contemple minimizar de
forma eficiente todas estas amenazas, y que adems se
entienda y pase desapercibido por los usuarios.
Debido al principio de acceso ms fcil, el responsable de
seguridad informtica no se deber descuidar ninguno de
los cinco elementos susceptibles de ataque al sistema.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 75
Confidencialidad, integridad y disponibilidad
Estos son los tres elementos bsicos de la
seguridad informtica:
Confidencialidad
Los componentes del sistema sern accesibles slo por
aquellos usuarios autorizados.
Integridad
Los componentes del sistema slo pueden ser creados
y modificados por los usuarios autorizados.
Disponibilidad
Los usuarios deben tener disponibles todos los
componentes del sistema cuando as lo deseen.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 76
No repudio de origen y destino
No Repudio
Este trmino se ha introducido en los ltimos aos
como una caracterstica ms de los elementos que
conforman la seguridad en un sistema informtico.
Est asociado a la aceptacin de un protocolo de
comunicacin entre emisor y receptor (cliente y
servidor) normalmente a travs del intercambio de
sendos certificados digitales de autenticacin.
Se habla entonces de No Repudio de Origen y No
Repudio de Destino, forzando a que se cumplan todas
las operaciones por ambas partes en una comunicacin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 77
El concepto de datos seguros
Si se cumplen los principios vistos anteriormente, diremos
en general que los datos estn protegidos y seguros.
Confidencialidad Integridad Disponibilidad
Datos Seguros
DATOS DATOS
DATOS
Esto se entiende en el
siguiente sentido: los
datos slo pueden ser
conocidos por aquellos
usuarios que tienen
privilegios sobre ellos,
slo usuarios autorizados
los podrn crear o bien
modificar, y tales datos
debern estar siempre
disponibles.
DATOS
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 78
Sistema de cifra
Medio de
Transmisor Transmisin Receptor
M C
Cifrador
Mensaje cifrado Descifrador
Interceptacin del mensaje
por un intruso
T R
MT
C M
Usurpacin de identidad
por un intruso
Sea cual sea el medio de transmisin o almacenamiento (enlace,
red telefnica, red de datos, disco magntico, disco ptico, etc.),
ste ser siempre y por definicin un medio inseguro. Por lo tanto,
habr que adaptarse a este medio usando el cifrado. Tal vez esto
deje de ser cierto en los futuros sistemas con criptografa cuntica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 79
Esquema de un criptosistema
Texto Emisor (E)
Texto cifrado
Receptor (R)
Base Base
Canal inseguro
Clave
Cifrador Descifrador
Texto
M M
C
K
E
Clave K
R
Texto base: ser
cualquier archivo
o documento
Un espacio de textos en claro M
Un espacio de textos cifrados C
Un espacio de claves K
Unas transformaciones de cifrado E
KE
(M)
Unas transformaciones de descifrado D
KR
(C)
Hablaremos
entonces de:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 80
Funciones y operaciones de cifra
C = E(M)
M = D(C)
M = D(E(M))
Si se usa una clave k:
C = E(k,M) o E
k
(M)
M = D(k, E(k,M))
M = D(k
R
, E(k
E
,M))
Las operaciones D y E son
inversas o bien lo son las
claves que intervienen. Esto
ltimo es lo normal, usando
inversos dentro de un cuerpo
finito. Por tanto, se recupera
as el mensaje en claro.
E(M): Cifrado del mensaje M
D(C): Descifrado del criptograma C
Es el caso tpico de los sistemas modernos: los algoritmos E y D son iguales y
la clave k
R
es la usada en el extremo receptor y la clave k
E
en extremo emisor.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 81
El espacio de mensajes M
Componentes de un mensaje inteligible (bits, bytes,
pixels, signos, caracteres, etc.) que provienen de un
alfabeto previamente establecido como en el ejemplo.
El lenguaje tiene unas reglas sintcticas y semnticas.
En algunos casos y para los sistemas de cifra clsicos
la longitud del alfabeto indicar el mdulo en el cual
se trabaja. En los modernos, no guarda relacin.
Habr mensajes con sentido y mensajes sin sentido.
M = {m
1
, m
2
, ..., m
n
}
Est muy claro que esto es
un texto en claro...
Hola, qu tal?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 82
El espacio de textos cifrados C
Normalmente el alfabeto es el mismo que el utilizado
para crear el mensaje en claro.
Supondremos que el espacio de los textos cifrados C y
el espacio de los mensaje M (con y sin sentido) tienen
igual magnitud.
En este caso, a diferencia del espacio de mensajes M,
sern vlidos todo tipo de criptogramas, con y sin
sentido, como es lgico.
C = {c
1
, c
2
, ..., c
n
}
VjbmljYSB3kZSBNYWR
y+WQgQ0ExLTAr8BgN=
A?&% | $/n_*
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 83
El espacio de claves K
Se supone que es un conjunto altamente aleatorio de
caracteres, palabras, bits, bytes, etc., en funcin del
sistema de cifra. Al menos una de las claves en un
criptosistema se guardar en secreto.
Si el espacio de claves K fuera tan grande como el de
los mensajes M, se puede lograr un criptosistema con
secreto perfecto.
K = {k
1
, k
2
, ..., k
n
}
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 84
Transformaciones de cifrado E
k
E
k
es una aplicacin con una clave k, que est en el
espacio de claves K, sobre el mensaje M y que lo
transforma en el criptograma C.
Es el algoritmo de cifra. Slo en algunos sistemas
clsicos el algoritmo es secreto. Por lo general el
algoritmo de cifra ser de dominio pblico y adems
su cdigo fuente est disponible en Internet.
E
k
: M C k K
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 85
Transformaciones de descifrado D
k
D
k
es una aplicacin con una clave k, que est en el
espacio de claves K, sobre el criptograma C y que lo
transforma en el texto en claro M.
Se usa el concepto de inverso. D
k
ser la operacin
inversa de E
k
o bien -que es lo ms comn- se usa la
misma transformacin E
k
para descifrar pero con una
clave k que es la inversa de k dentro de un cuerpo.
D
k
: C M k K
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 86
Requisitos de seguridad de un sistema
El algoritmo de cifrado y descifrado deber ser rpido
y fiable.
Debe ser posible transmitir ficheros por una lnea de
datos, almacenarlos o transferirlos.
No debe existir retardo debido al cifrado o descifrado.
La seguridad del sistema deber residir solamente en
el secreto de una clave y no en las funciones de cifra.
La fortaleza del sistema se entender como la
imposibilidad computacional (tiempo de clculo en
aos que excede cualquier valor razonable) de romper
la cifra o encontrar una clave secreta a partir de otros
datos de carcter pblico.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 87
Recomendaciones de Bacon
Filsofo y estadista ingls del siglo XVI
Dado un texto en claro M y un algoritmo de cifra E
k
, el
clculo de E
k
(M) y su inversa debe ser sencillo.
Ser imposible encontrar el texto en claro M a partir del
criptograma C si se desconoce la funcin de descifrado D
k
.
El criptograma deber contener caracteres distribuidos para
que su apariencia sea inocente y no d pistas a un intruso.
Teniendo en cuenta los siglos trascurridos desde estas
afirmaciones, stas siguen siendo vlidas hoy en da.

http://www.sirbacon.org/links.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 88
Recomendaciones de Kerckhoffs
Profesor holands en Pars en el siglo XIX
K
1
El sistema debe ser en la prctica imposible de criptoanalizar.
K
2
Las limitaciones del sistema no deben plantear dificultades a sus
usuarios.
K
3
El mtodo de eleccin de claves debe ser fcil de recordar.
K
4
La transmisin del texto cifrado se har por telgrafo.
K
5
El criptgrafo (equipo o mquina de cifrar) debe ser portable.
K
6
No debe existir una larga lista de reglas de uso.
Al igual que en el caso anterior, estas recomendaciones siguen
siendo vlidas si las adaptamos a nuestra poca y tecnologa.

http://en.wikipedia.org/wiki/Kerckhoffs%27_law
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 89
Fortaleza de la cifra: tipos de ataques
Conociendo el algoritmo de cifra, el criptoanalista intentar
romper la cifra en uno de estos escenarios:
1. Contando nicamente con el criptograma.
2. Contando con texto en claro conocido.
3. Eligiendo un texto en claro.
4. A partir de texto cifrado elegido.
ATAQUE POR FUERZA BRUTA
5. Buscando todas combinaciones posibles de claves.
Un algoritmo de cifra ser fuerte si, conociendo su funcionamiento o
cdigo, conociendo el texto cifrado y conociendo el texto en claro, el
ataque a la clave de cifra secreta es computacionalmente muy difcil.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 90
Clasificacin de los criptosistemas
Sistemas de cifra: clsicos
versus modernos
Clasificacin histrica y
cultural (no tcnica).
Sistemas de cifra: en bloque
versus en flujo
Clasificacin de acuerdo a
cmo se produce la cifra.
Sistemas con clave: secreta versus pblica
Clasificacin de acuerdo al uso de una nica clave
secreta (sistemas simtricos) o bien dos claves, una de
ellas pblica y la otra privada (sistemas asimtricos).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 91
Cifrado en bloque y cifrado en flujo
CIFRADO EN BLOQUE:
El mismo algoritmo de cifra se aplica a un bloque de
informacin (grupo de caracteres, nmero de bytes,
etc.) repetidas veces, usando la misma clave. El
bloque de texto o informacin a cifrar normalmente
ser de 64 128 bits.
CIFRADO EN FLUJO:
El algoritmo de cifra se aplica a un elemento de
informacin (carcter, bit) mediante un flujo de clave
en teora aleatoria y de mayor longitud que el mensaje.
La cifra se hace carcter a carcter o bit a bit.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 92
Comparativa de cifra: bloque vs flujo
CIFRADO EN BLOQUE
Ventajas: Desventajas:
* Alta difusin de los elementos * Baja velocidad de cifrado al tener
en el criptograma. que leer antes el bloque completo.
* Inmune: imposible introducir * Propenso a errores de cifra. Un
bloques extraos sin detectarlo. error se propagar a todo el bloque.
CIFRADO EN FLUJO
Ventajas: Desventajas:
* Alta velocidad de cifra al no * Baja difusin de elementos en el
tener en cuenta otros elementos. criptograma.
* Resistente a errores. La cifra es * Vulnerable. Pueden alterarse los
independiente en cada elemento. elementos por separado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 93
Confidencialidad versus integridad
Vamos a ver cmo se obtienen en cada uno de estos
sistemas de cifra (cifrado con clave secreta o
sistemas simtricos y cifrado con clave pblica o
sistemas asimtricos) los dos aspectos ms relevantes
de la seguridad informtica:
La confidencialidad y la
integridad de la informacin
Llegaremos a un concepto de mucha utilidad en criptografa
al analizar el sistema con clave pblica...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 94
Criptosistemas de clave secreta
Mensaje cifrado
Medio de
Clave Transmisin Clave
M
C
Texto
Texto
Base
Base
Cifrado Descifrado
MT
M C
Cifrado: E
k
Descifrado: D
k
E
k
D
k
k k
Clave
nica
El problema es
cmo hacerla
llegar al destino
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 95
Confidencialidad con clave secreta
protegida
Buscamos la
confidencialidad
Medio de
k
Transmisin
k
M
C
Texto Texto
Base Base
No le estar
permitido leer M
E
K
MT
D
K
M
C
D
K
intruso
Criptograma
Protegeremos el
extremo receptor
El criptoanalista no podr descifrar el criptograma C o
cualquier otro texto cifrado bajo la transformacin E
K
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 96
Integridad con clave secreta
protegida
Buscamos la
integridad
Medio de
k
Transmisin
k
M
C
Texto Texto
Base
Criptograma
Base
No le estar permitido
generar un C
E
K
MT
D
K
M
C
E
K
intruso
Hola... soy Paquito!
Protegeremos ahora el extremo emisor
El criptoanalista no podr cifrar un texto en claro M y
enviarlo al destinatario como C = E
K
(M).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 97
Resumen para sistemas de clave secreta
protegida
Medio de
k
Transmisin
k
M
C
Texto Texto
Base
Criptograma
Base
C no permitido
E
K
MT
D
K
M
C
E
K
Hola... soy Paquito!
M no permitido
protegida
D
K
Confidencialidad Integridad
La confidencialidad y la integridad se lograrn
simultneamente si se protege la clave secreta.
Es algo obvio y que
ya se esperaba...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 98
Confidencialidad con clave pblica
protegida
Buscamos la
confidencialidad
Medio de
clave pblica de B
Transmisin
M
C
Texto Texto
Base Base
M no permitido
E
B
MT
D
B
M
C
D
B
intruso
Criptograma
clave privada de B
Observe que se cifra
con la clave pblica
del usuario receptor.
Usuario A Usuario B
Cada usuario usa
dos funciones: una
pblica E
X
y otra
privada D
X
.
Cada usuario usa
dos funciones: una
pblica E
X
y otra
privada D
X
.
C = E
B
(M)
M = D
B
(C) = D
B
(E
B
(M))
E
B
y D
B
son operaciones
inversas dentro de un cuerpo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 99
Integridad con clave pblica
Medio de
clave privada de A
Transmisin
M
C
Texto Texto
Base Base
D
A
MT
E
A
M
C
D
A
Criptograma
clave pblica de A
Observe que se cifra
con la clave privada
del usuario emisor.
Usuario A Usuario B
protegida
Buscamos la
integridad
C no permitido
intruso
Hola... soy Paquito
otra vez!
C = D
A
(M)
M = E
A
(C) = E
A
(D
A
(M))
D
A
y E
A
son operaciones
inversas dentro de un cuerpo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 100
Resumen para sistemas con clave pblica
k privada
de A
M
C
Confidencialidad
Usuario A Usuario B
Integridad
D
B
E
A
E
B
D
A
k privada
de B
k pblica
de B
k pblica
de A
D
A
La integridad y la confidencialidad se
obtendrn ahora por separado ...
M
Esta caracterstica
ser muy importante
D
B
C = E
B
(D
A
(M)) Cifrado del mensaje con firma digital
M = E
A
(D
B
(C)) Descifrado y comprobacin de firma
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 101
Gestin de claves en sistemas simtricos
A
E
D
C
B
k
AB
k
AC
k
BC
k
AD
k
BD
k
CD
k
AE
k
BE
k
CE
k
DE
X Y
k
XY
k
YX
Nmero Claves:
n (n-1) / 2
2 usuarios: N = 1 3 usuarios: N = 3 4 usuarios: N = 6 5 usuarios: N = 10
Definicin previa:
N = n de claves
Muy mala gestin de claves: el valor tiende a n
2
.
Clave
secreta
k
xy
= k
yx
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 102
Tendr como inconveniente principal (debido a las
funciones de cifra empleadas) una tasa o velocidad de
cifra mucho ms baja que la de los criptosistemas de
clave secreta.
Solucin?
Sistemas de cifra hbridos
Los esquemas actuales de
protocolos seguros en Internet,
redes y entornos de cmputo
personal (PC) funcionan as.
La solucin hbrida
Es entonces la clave pblica la solucin a
todos nuestros problemas?
NO !
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 103
Cuestiones y ejercicios (1 de 2)
1. Un empleado poco satisfecho ha robado varios discos duros de muy
alta calidad con datos de la empresa. Qu importa ms, el costo de
esos discos o el valor de los datos? Justifique su respuesta.
2. En una empresa se comienza a planificar estrategias de acceso a las
dependencias, polticas de backup, de proteccin de los equipos ante
el fuego, agua, etc. Eso es seguridad fsica o lgica? Por qu?
3. En nuestra empresa alguien usa software pirata. Es una amenaza de
interrupcin, interceptacin, modificacin o de generacin?
4. Una clave de sesin en Internet para proteger una operacin de cifra
dura 45 segundos. Si alguien intercepta el criptograma, debemos
preocuparnos si sabemos que la prxima vez la clave ser otra?
5. Si se prueban todas las combinaciones posibles de una clave para
romper un criptograma, qu tipo de ataque estamos realizando?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 104
Cuestiones y ejercicios (2 de 2)
6. Si protegemos una clave en el extremo emisor, qu buscamos, la
confidencialidad o la integridad? Y si es en el extremo receptor?
7. Por qu en un sistema simtrico se obtienen la confidencialidad y
la integridad al mismo tiempo protegiendo slo la clave?
8. Explique qu significa que en un sistema de cifra asimtrica se
obtengan la confidencialidad y la integridad por separado.
9. Si se cifra un mensaje con la clave privada del emisor, qu se
obtiene? Y si el emisor cifra con la clave pblica del receptor?
10. Tiene sentido que el emisor cifre de forma asimtrica con su clave
pblica? Qu logramos con ello? Para qu servira?
11. Queremos comunicarnos 10 usuarios con un sistema de cifra de
clave secreta nica entre cada dos miembros. Cuntas claves sern
necesarias? Es eficiente el sistema? Y si hay un usuario ms?
Captulo 4
Calidad de Informacin y Programas Malignos
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 27 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 106
Qu es la informacin?
Bajo el punto de vista de la ingeniera:
Estudio de las caractersticas y estadsticas del
lenguaje que nos permitir su anlisis desde un
enfoque matemtico, cientfico y tcnico.
Bajo el punto de vista de la empresa:
Conjunto de datos propios que se gestionan y
mensajes que se intercambian personas y/o
mquinas dentro de una organizacin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 107
Teora de la informacin de Shannon
El estudio hecho por Claude Shannon en aos posteriores
a la 2 Guerra Mundial ha permitido, entre otras cosas:
Cuantificar la cantidad de informacin.
Medir la entropa de la informacin.
Definir un sistema con secreto perfecto.
Calcular la redundancia y la ratio del lenguaje.
Encontrar la distancia de unicidad.
Todo el estudio de Shannon est orientado a criptosistemas
clsicos que cifran letras, que tienen escaso inters en este libro.
No obstante, en un captulo posterior se vern estos sistemas con
un mnimo detalle pues permiten analizar con cierta facilidad
sistemas con secreto perfecto.

http://es.wikipedia.org/wiki/Claude_Shannon
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 108
La informacin en la empresa
Se entender como:
Todo el conjunto de datos y ficheros de la empresa.
Todos los mensajes intercambiados.
Todo el historial de clientes y proveedores.
Todo el historial de productos.
En definitiva, el know-how de la organizacin.
Si esta informacin se pierde o deteriora, le ser
muy difcil a la empresa recuperarse y seguir
siendo competitiva. Por este motivo, es vital que
se implanten unas polticas de seguridad y que,
adems, se haga un seguimiento de ellas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 109
Importancia de la informacin
El xito de una empresa depender de la
calidad de la informacin que genera y
gestiona. As, una empresa tendr una
informacin de calidad si sta posee, entre
otras caractersticas, las de confidencialidad,
de integridad y de disponibilidad.
La implantacin de una poltica y medidas de seguridad
informtica en la empresa comienza a tenerse en cuenta slo a
finales de la dcada pasada. En este nuevo siglo, es un factor
estratgico en el desarrollo y xito de la misma. Despus de
atentados terroristas, incendios, huracanes y diversas amenazas,
muchas empresas han desaparecido por no haber sido capaces
de recuperarse tras haber perdido toda su informacin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 110
Vulnerabilidad de la informacin
La informacin (datos) se ver afectada
por muchos factores, incidiendo
bsicamente en los aspectos de
confidencialidad, integridad y
disponibilidad de la misma.
Desde el punto de vista de la empresa, uno
de los problemas ms importantes puede
ser el que est relacionado con el delito o
crimen informtico, bien por factores
externos o internos. Habr que estar muy
atentos al factor humano interno.
Un empleado
descontento...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 111
Hay que implantar polticas de seguridad
El tratamiento y vulnerabilidad de la informacin se
ver influida por otros temas, como por ejemplo los
aspectos legales vigentes. Adems, las empresas
cada da dependen ms de sus comunicaciones y de
su trabajo en red, lo que aumenta su inseguridad.
... Y solamente ahora
comienza a tomarse
verdaderamente en serio.
Poltica 1
Poltica 2
Poltica 3
Solucin
La solucin parece
muy sencilla: crear
y aplicar polticas
de seguridad...

http://www.rediris.es/cert/doc/docu_rediris/poliseg.es.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 112
Acciones contra los datos
Una persona no autorizada podra:
Clasificar y desclasificar los datos.
Filtrar informacin.
Alterar la informacin.
Borrar la informacin.
Usurpar datos.
Hojear informacin clasificada.
Deducir datos confidenciales.
Por lo tanto, la
proteccin de
datos resulta
obvia
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 113
Copias de seguridad: backup
La medida ms elemental para la proteccin de los datos es
determinar una buena poltica de copias de seguridad o backups:
Copia de seguridad completa
Todos los datos (la primera vez).
Copias de seguridad incrementales
Slo se copian los ficheros creados o modificados desde el
ltimo backup.
Elaboracin de un plan de backup en funcin del volumen de
informacin generada
Tipo de copias, ciclo de esta operacin, etiquetado correcto.
Diarias, semanales, mensuales: creacin de tablas.
Establecer quin, cmo y dnde se guardan esos datos.

http://www.criptored.upm.es/guiateoria/gt_m001l.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 114
Hackers, crakers, script kiddies...
Hacker:
Definicin inicial de los ingenieros del MIT que hacan
alardes de sus conocimientos en informtica.
Entre muchas clasificaciones estn las de White Hat
(generalmente no delictivos), Blak Hat (generalmente es
delictivo) y Grey Hat (reconvertidos por la empresa).
Cracker:
Persona que intenta de forma ilegal romper la seguridad de
un sistema por diversin o inters.
Script kiddie:
Un inexperto, normalmente un adolescente, que usar
programas que se descarga de Internet para atacar sistemas.
Ms informacin en:

http://www.umanizales.edu.co/encuentrohackers/tiposh.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 115
Puntos vulnerables en la red
Las empresas relacionadas con las Nuevas Tecnologas
de la Informacin NTIs hacen uso de varias tcnicas y
herramientas de redes para el intercambio de datos:
Transferencia de ficheros (ftp)
Transferencia de datos e informacin a travs de
Internet (http)
Conexiones remotas a mquinas y servidores
(telnet)
Todo esto presentar importantes riesgos de
ataques por parte de delincuentes informticos,
pero ...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 116
Dnde est el verdadero enemigo?
Por muy organizados que puedan estar estos
grupos de delincuentes, primero que nada hay
que ponerse en el lugar que nos corresponde y
no caer en la paranoia.
Adems, debemos pensar que el peor enemigo
puede estar dentro de casa. Segn estadsticas
fiables, cerca del 80% de las amenazas de
seguridad provienen de la propia organizacin.
La solucin sigue siendo la misma: la puesta en marcha
de una adecuada poltica de seguridad en la empresa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 117
Algunos ataques y delitos informticos
Son acciones que vulneran la confidencialidad,
integridad y disponibilidad de la informacin.
Ataques a un sistema informtico:
)Fraude )Malversacin )Robo
)Sabotaje )Espionaje )Chantaje
)Revelacin )Mascarada )Virus
)Gusanos )C. de Troya )Spam

http://www.delitosinformaticos.com/delitos/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 118
Fraude y sabotaje
Fraude
Acto deliberado de manipulacin de datos perjudicando
a una persona fsica o jurdica que sufre de esta forma
una prdida econmica. El autor del delito logra de esta
forma un beneficio normalmente econmico.
Sabotaje
Accin con la que se desea perjudicar a una empresa
entorpeciendo deliberadamente su marcha, averiando
sus equipos, herramientas, programas, etc. El autor no
logra normalmente con ello beneficios econmicos pero
pone en jaque mate a la organizacin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 119
Chantaje y mascarada
Chantaje
Accin que consiste en exigir una cantidad de dinero a
cambio de no dar a conocer informacin privilegiada o
confidencial y que puede afectar gravemente a la
empresa, por lo general a su imagen corporativa.
Mascarada
Utilizacin de una clave por una persona no autorizada
y que accede al sistema suplantando una identidad. De
esta forma el intruso se hace dueo de la informacin,
documentacin y datos de otros usuarios con los que
puede, por ejemplo, chantajear a la organizacin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 120
Virus y gusanos
Virus
Cdigo diseado para introducirse en un programa,
modificar o destruir datos. Se copia automticamente a
otros programas para seguir su ciclo de vida. Es comn
que se expanda a travs de plantillas, las macros de
aplicaciones y archivos ejecutables.
Gusanos
Virus que se activa y transmite a travs de la red. Tiene
como finalidad su multiplicacin hasta agotar el espacio
en disco o RAM. Suele ser uno de los ataques ms
dainos porque normalmente produce un colapso en la
red como ya estamos acostumbrados.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 121
Caballos de Troya y spam
Caballos de Troya
Virus que entra al ordenador y posteriormente acta de
forma similar a este hecho de la mitologa griega. As,
parece ser una cosa o programa inofensivo cuando en
realidad est haciendo otra y expandindose. Puede
ser muy peligroso cuando es un programador de la
propia empresa quien lo instala en un programa.
Spam
El spam o correo no deseado, si bien no lo podemos
considerar como un ataque propiamente dicho, lo cierto
es que provoca hoy en da prdidas muy importantes
en empresas y muchos dolores de cabeza.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 122
Ataques y delitos recientes
Tres amenazas que se han incrementado en el ao 2005:
Cartas nigerianas: correo electrnico que comenta la necesidad de sacar
una gran cantidad de dinero de un pas africano a travs de un cmplice
de otro pas, justificando una persecucin poltica.
Ingeniera social: correo electrnico en el que se fuerza al usuario a que
abra un archivo adjunto que supuestamente le interesa o bien est muy
relacionado con su trabajo, utilizando as el eslabn ms dbil de una
cadena de seguridad como es el ser humano.
Phising: simulacin, algunas veces perfecta, de una pgina Web de un
banco solicitando el ingreso de claves secretas, con la excusa de la
aplicacin de nuevas polticas de seguridad de la entidad. Dentro del
enlace a la noticia de Hispasec, se recomienda la visualizacin de los
vdeos explicativos en flash con los altavoces del PC encendidos.
http://www.hispasec.com/unaaldia/2406 http://en.wikipedia.org/wiki/Phising
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 123
Aparecern nuevos ataques
En un futuro inmediato y en los prximos aos aparecern nuevos
delitos y ataques a los sistemas informticos y redes que, a fecha de
hoy, no sabemos cmo sern ni a qu vulnerabilidad atacarn.
Este constante enfrentamiento entre el lado oscuro o
el mal (conocido como el Yin) y el lado claro o el
bien (el Yang), como muestra este smbolo propio
de filosofas ancestrales, ser inevitable en sistemas
intercomunicados y abiertos como los actuales.
Las comunicaciones crecern cada vez ms hacia ese entorno
abierto, como las actuales redes inalmbricas, con lo que irn
apareciendo nuevas amenazas...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 124
Breve introduccin a virus informticos
Las prximas diapositivas son slo una breve y elemental
introduccin al tema de los virus informticos, orientado adems
slo al mundo de los PCs y del llamado entorno Windows. No
pretende ser ni mucho menos un documento que trate los virus
informticos y programas malignos con la profundidad que
debera hacerse y que este tema en realidad se merece.
Se incluye este apartado precisamente en este captulo como un
factor ms a tener en cuenta en cuanto a la calidad de la
informacin que manejamos.
Mucha gente cataloga a ste como un tema menor; sin embargo,
dentro de las empresas es uno de los mayores problemas a los
que se enfrentan los responsables de seguridad informtica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 125
Historia y tipos de virus
Primer ejemplo: John von Neuman en 1949.
Primer virus: M. Gouglas de Bell Laboratories crea el Core
War en 1960.
Primeros ataques a PCs entre 1985 y 1987:
Virus Jerusalem y Brain.
Inofensivos (pelotas, letras que se mueven, etc.)
Slo molestan y entorpecen el trabajo pero no destruyen
informacin. Podran residir en el PC.
Malignos (Viernes 13, Blaster, Nimbda, Netsky, Klez, etc.)
Destruyen los datos y afectan a la integridad y la
disponibilidad del sistema. Hay que eliminarnos.
Ms informacin en:

http://alerta-antivirus.red.es/virus/ver_pag.html?tema=V
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 126
Transmisin de virus y malware
Se transmiten slo mediante la ejecucin de un programa. Esto
es muy importante recordarlo.
El correo electrnico por definicin no puede contener virus al
ser slo texto. No obstante, muchas veces contienen archivos
aadidos o bien los visualizadores ejecutan cdigo en el cliente
de correo del usuario y stos pueden tener incluido un virus.
No obstante hay que estar muy atentos pues ya a comienzos de
2006 hacen su aparicin virus que se ejecutan desde la simple
visualizacin de un grfico jpg, gif, etc., usando para ello una
vulnerabilidad conocida de procesamiento de WMF (Windows
Meta File) que permite la ejecucin de cdigo arbitrario.

http://www.hispasec.com/unaaldia/2639
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 127
Peligros del entorno Web
El entorno web es mucho ms peligroso. Un enlace puede
lanzar un programa que se ejecute en el cliente y nos infecte o
comprometa la mquina, dejndola abierta para otros ataques o
bien dejarla como un zombie que colabore en otros ataques.
Si se atreve y su sistema tiene AntiSpyware haga una prueba:
busque en Google una pgina web porno supuestamente seria,
navegue unos 10 minutos y luego al salir observe que dicho
programa seguramente le avisar de varios programas spyware,
ms de algn dialer que se quiere instalar, etc. /
Punto ms crtico de la seguridad respecto a virus y accesos a
Internet: usuario que confiado en la direccin del remitente o
de un servidor, por curiosidad, engaado con la denominada
ingeniera social, etc., ... abre archivos o entra a ese servidor.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 128
Tipos de ataque de un virus
Estn aquellos que infectan a programas con
extensin exe, com y sys, por ejemplo.
Residen en memoria al ejecutarse el husped y de
ah se propagan a otros archivos.
Y tambin aquellos que infectan el sistema y el
sector de arranque y tablas de entrada (reas
determinadas del disco).
Se instalan directamente all y por lo tanto residen
en memoria.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 129
Algunas medidas bsicas de prevencin
Proteger los discos extrables -hoy principalmente usando la
tecnologa flash con USB- con la pestaa de seguridad. Es una
proteccin de escritura fcil y muy elemental.
Instalar un antivirus y actualizarlo de forma peridica. Es muy
recomendable que se haga al menos una vez por semana.
Ejecutar el antivirus a todo el disco duro una vez al mes.
Ejecutar siempre el antivirus a todo disco o CD que se
introduce al sistema y a los archivos que descargamos desde
Internet o vienen adjuntos en un e-mail.
Si se tiene dudas, recurra a herramientas libres en Internet (*).
Controlar el acceso de extraos al computador.
Aunque esto puede ser ms complicado ... use software legal.
(*)

http://www.virustotal.com/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 130
Qu hacer en caso de estar infectado?
Detener las conexiones remotas.
No mover el ratn ni activar el teclado.
Apagar el sistema y desconectarlo.
Arrancar con un disquete de arranque o emergencia protegido.
Ejecutar luego un programa antivirus.
Si es posible, hacer copia de seguridad de sus archivos para
poder compararlas con copias anteriores.
Formatear el disco duro a bajo nivel (si puede hacerlo claro) y si
no le queda otra solucin /.
Instalar nuevamente el sistema operativo y restaurar las copias
de seguridad... ahora se acuerda que debe hacerlas a menudo?
De todas maneras, recuerde que la seguridad informtica total no existe... ha
pensado que su disco duro puede quemarse ahora mismo por una repentina subida
de voltaje? Y estas cosas son ms habituales de lo que piensa.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 131
Cuestiones y ejercicios (1 de 1)
1. Qu diferencia hay entre el concepto de informacin y su calidad
segn lo entienda una empresa o los estudios de ingeniera?
2. Por qu se dice que la informacin de una empresa es su activo
ms valioso? Compare este activo con el personal de la misma y
pngase en situaciones en las que ambos se pierden, qu situacin
podra ser es ms perjudicial para la continuidad de dicha empresa?
3. Como responsables de seguridad hemos detectado que alguien est
realizando acciones no lcitas, por ejemplo copias no autorizadas de
informacin. Qu actitud debemos tomar?
4. Qu medidas podran ser las ms adecuadas de cara a minimizar
los ataques por virus en nuestra empresa?
5. Si deseamos que nuestra empresa est debidamente protegida tanto
fsica como lgicamente, qu deberamos hacer?
Captulo 5
Introduccin a la Gestin de la Seguridad
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 46 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 133
Proteccin lgica y fsica de los datos
Los datos deben protegerse aplicando:
Seguridad Lgica
Uso de herramientas de proteccin de la informacin
en el mismo medio en el que se genera o transmite.
Protocolos de autenticacin entre cliente y servidor.
Aplicacin de herramientas de seguridad en redes.
Se incluyen tambin medidas de prevencin de riesgos
y la instauracin de polticas de seguridad, de planes
de contingencia, de recuperacin ante desastres,
aplicacin de normativas, la legislacin vigente, etc.
Seguridad Fsica
Procedimientos de proteccin fsica del sistema:
acceso personas, incendio, agua, terremotos, etc.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 134
La seguridad fsica en entornos de PCs
Anclajes a mesas de trabajo.
Cerraduras en puertas.
Tarjetas con alarma.
Etiquetas con adhesivos especiales.
Bloqueo de unidades externas.
Protectores de teclado.
Tarjeta de control de acceso al hardware.
Sistema de suministro continuo de corriente.
Toma de tierra.
Eliminacin de la esttica... etc.
Temas a tener
en cuenta en un
entorno de PCs
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 135
Anlisis de riesgo: plan estratgico
Es el proceso de identificacin y evaluacin del riesgo a
sufrir un ataque y perder datos, tiempo y horas de
trabajo, comparndolo con el costo que significara la
prevencin de este suceso.
Su anlisis no slo nos lleva a establecer un nivel
adecuado de seguridad, sino que permite conocer mejor
el sistema que vamos a proteger.
Le recomiendo descargar estas herramientas de libre distribucin
para el anlisis de riesgo desde las direcciones que se indican:

http://www.csi.map.es/csi/pg5m20.htm
Magerit V 2

http://www.criptored.upm.es/software/sw_m214_01.htm
Chinchon V 1.3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 136
Informacin del anlisis de riesgo
Informacin que se obtiene en un anlisis de riesgo:
Determinacin precisa de los recursos sensibles de la
organizacin.
Identificacin de las amenazas del sistema.
Identificacin de las vulnerabilidades especficas del
sistema.
Identificacin de posibles prdidas.
Identificacin de la probabilidad de ocurrencia de una
prdida.
Derivacin de contramedidas efectivas.
Identificacin de herramientas de seguridad.
Implementacin de un sistema de seguridad eficiente en
costes y tiempo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 137
Ecuacin bsica del anlisis de riesgo
B > P L ?
B: es la carga o gasto que significa la prevencin de
una prdida especfica debido a una vulnerabilidad.
P: es la probabilidad de que se vea afectada dicha
vulnerabilidad y ocurra esa prdida especfica.
L: es el impacto o coste total que significa la prdida
especfica debido a esa vulnerabilidad que ha sido
afectada por una amenaza.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 138
Cundo y cunto invertir en seguridad?
Si B P L
Hay que implementar una medida de
prevencin.
Si B > P L
No es necesaria una medida de prevencin.
... al menos matemticamente. No obstante, siempre puede
ocurrir una desgracia que est fuera de todo clculo como
las consecuencias informticas en algunas empresas tras el
11 de septiembre. Lo que s es cierto, es que no tiene
sentido alguno invertir ms dinero en la proteccin del
bien que el propio valor de ste.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 139
Efectividad del coste de la medida
Las medidas y herramientas de control han de tener
menos coste que el valor de las posibles prdidas y el
impacto de stas si se produce el riesgo temido.
Ley bsica: el costo del control ha de ser menor que
el activo que se protege. Algo totalmente lgico y
que tanto los directivos como los responsables de
seguridad de la empresa debern estimar de forma
adecuada a su realidad. En varios casos, el verdadero
problema est en la dificultad de calcular de forma
ms o menos precisa el impacto econmico que
puede suponer el hecho de que ocurra ese riesgo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 140
El factor L en la ecuacin de riesgo
Factor L (en B P L)
El factor de impacto total L es difcil de evaluar.
Incluye daos a la informacin, a los equipos,
prdidas por reparacin, por volver a levantar el
sistema, prdidas por horas de trabajo, etc.
Siempre habr una parte de valoracin subjetiva.
La prdida de datos puede llevar a una prdida de
oportunidades por el llamado efecto cascada.
En la organizacin debe existir una comisin
especializada interna o externa que sea capaz de
evaluar todas las posibles prdidas y cuantificarlas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 141
El factor P en la ecuacin de riesgo
Factor P (en B P L)
El factor P est relacionado con la determinacin
del impacto total L y depende del entorno en el
que est la posible prdida. Como este valor es
difcil de cuantificar, dicha probabilidad puede
asociarse a una tendencia o frecuencia conocida.
Una vez se conoce P para un L dado, se obtiene la
probabilidad de prdida relativa de la ocurrencia PL
que se comparar con B, el peso que nos supondra
implantar la medida de prevencin respectiva.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 142
El factor B en la ecuacin de riesgo
Factor B (en B P L)
Indica qu se requiere para prevenir una prdida.
Por ejemplo, puede ser la cantidad de dinero que
vamos a disponer para mitigar la posible prdida.
Ejemplo: la carga de prevencin para que un sistema
informtico minimice el riesgo de que sus servidores
sean atacados desde fuera incluye la instalacin de
software y hardware adecuado, un cortafuegos, un
sistema de deteccin de intrusos, una configuracin
de red segura, una poltica de seguimiento de accesos
y de passwords, personal tcnico cualificado, etc.
Todo ello importa una cantidad de dinero especfica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 143
Cuantificacin de la proteccin
B P L ?
Cunta proteccin es necesaria?
En nuestro ejemplo: qu configuracin de red usar, en
qu entorno trabajar, qu tipo de cortafuegos, etc. Eso
depender del nivel de seguridad que nuestra empresa
desee, crea oportuno o que nos imponga el mercado.
De qu forma nos protegeremos?
Una casa puede protegerse con puertas, cerraduras, barras
de hierro en ventanas, sistemas de alarmas, etc.
En un sistema informtico podemos aplicar protecciones
fsicas, polticas de seguridad, control de accesos, planes
de contingencia y de recuperacin, cortafuegos, IDs, uso
de cifrado, autenticacin, firmas, pasarelas seguras, etc.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 144
Pasos en un anlisis de riesgos
1. Identificacin costo
posibles prdidas (L)
Identificar amenazas
3. Identificar posibles
acciones (gasto) y sus
implicaciones (B).
Seleccionar acciones a
implementar.
B PL ?
Se
cierra
el
ciclo
2. Determinar susceptibilidad.
La probabilidad de prdida (P)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 145
Algunas polticas de seguridad
Polticas administrativas
Procedimientos administrativos.
Polticas de control de acceso
Privilegios de acceso del usuario o programa.
Polticas de flujo de informacin
Normas bajo las cuales se comunican los
sujetos dentro del sistema.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 146
Aspectos administrativos
Polticas administrativas
Se establecen aquellos procedimientos de
carcter administrativo en la organizacin
como por ejemplo en el desarrollo de
programas: modularidad en aplicaciones,
revisin sistemtica, etc.
Se establecen responsabilidades compartidas
por todos los usuarios, cada uno en su nivel.
Se procede a la etapa de concienciacin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 147
Control de accesos
Polticas de control de acceso
Poltica de menor privilegio
Acceso estricto a objetos determinados, con
mnimos privilegios para los usuarios.
Poltica de comparticin
Acceso de mximo privilegio en el que cada
usuario puede acceder a todos los objetos.
Granularidad
Nmero de objetos accesibles. Se habla entonces
de granularidad gruesa y fina.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 148
Control de flujo
Polticas de control de flujo
La informacin a la que se accede, se enva y
recibe por:
Canales claros o canales ocultos? Seguros o no?
Qu es lo que hay que potenciar?
La confidencialidad o la integridad?
La disponibilidad? ... El no repudio?
Segn cada organizacin y su entorno de trabajo y
servicios ofrecidos, habr diferencias. En algunos
sistemas primarn unos ms que otros, en funcin
de lo secreta que sea la informacin que procesan.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 149
Modelos de seguridad
Modelo de Bell LaPadula (BLP)
Rgido. Confidencialidad y con autoridad.
Modelo de Clark-Wilson (CW)
Orientacin comercial: integridad.
Modelo de Take-Grant (TG)
Derechos especiales: tomar y otorgar.
Otros: modelo de Goguen-Meseguer (no interferencia entre
usuarios); modelo de Matriz de Accesos (estados y
transiciones entre estados: tipo Graham-Dennig; tipo
Harrison-Ruzzo-Ullman), Biba, Chinese Wall, etc.
Se definirn
brevemente
en prximas
diapositivas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 150
La escritura hacia abajo est prohibida.
La lectura hacia arriba est prohibida.
Es el llamado principio de tranquilidad.
Lectura hacia arriba prohibida Secreto mximo
Usuario dado de alta
con un nivel de secreto Secreto
Escritura hacia abajo prohibida No clasificado
Modelo de Bell y LaPadula

http://en.wikipedia.org/wiki/Bell-LaPadula_model
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 151
Modelo de Clark Wilson CW
Est basado en polticas de integridad
Elementos de datos restringidos.
sobre stos debe hacerse un chequeo de
consistencia.
Elementos de datos no restringidos.
Procedimientos de transformacin.
trata los dos elementos.
Procedimientos de verificacin de integridad.

http://www.criptored.upm.es/guiateoria/gt_m248c.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 152
Modelo de Take Grant TG
Se describe mediante grafos orientados:
el vrtice es un objeto o sujeto.
un arco es un derecho.
Se ocupa slo de aquellos derechos que pueden ser
transferidos.
http://www.criptored.upm.es/guiateoria/gt_m248b.htm

Documentos de lectura recomendada:

http://www.criptored.upm.es/guiateoria/gt_m248a.htm
Biba
Harrison, Ruzzo y Ullman

http://www.criptored.upm.es/guiateoria/gt_m248e.htm
Chinese Wall

http://www.criptored.upm.es/guiateoria/gt_m248d.htm
Sea View: bases de datos

http://www.criptored.upm.es/guiateoria/gt_m248f.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 153
Criterios y normativas de seguridad
Criterio de evaluacin TSEC
Trusted Computer System Evaluation Criteria, tambin
conocido como Orange Book.
Criterio de evaluacin ITSEC
Information Technology Security Evaluation Criteria.
Criterio de evaluacin CC
Common Criteria: incluye los dos anteriores.
Normativa internacional 17799
Desarrolla un protocolo de condiciones mnimas de seguridad
informtica de amplio espectro.
Encontrar una interesante lectura sobre aplicacin de criterios de
seguridad en el documento que se indica

http://www.csi.map.es/csi/criterios/seguridad/index.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 154
Leyes de seguridad informtica en Espaa
En el Real Decreto 994/1999 (11 junio) sobre Medidas de seguridad
de los ficheros automatizados que contengan datos de carcter
personal se definen las funciones del Responsable de Seguridad.
Ley Orgnica de Proteccin de Datos LOPD se desarrolla en Espaa
en diciembre de 1999 y comienza a aplicarse ya en el ao 2002.
Se crea una Agencia Espaola de Proteccin de Datos AEPD que
debe velar por el cumplimiento de esta ley mediante la realizacin de
auditoras, al menos cada dos aos. La AEPD la forman 9 personas.
Se definen las funciones y obligaciones del Responsable de Fichero y
del Encargado de Tratamiento.
Las infracciones se clasifican como leves, graves y muy graves con
sanciones de 60.000 , 300.000 y 600.000 respectivamente.
Establece un conjunto de procedimientos de obligado cumplimiento
de forma que adems de proteger la privacidad de los datos, se
cumplan los principios de la seguridad informtica fsica y lgica.

http://www.agpd.es/index.php?idSeccion=77
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 155
Cadena de responsabilidades en seguridad
Responsable de Fichero: es la entidad, institucin o
persona jurdica que posee datos de carcter personal y
que por tanto debe velar por la seguridad de ellos.
Responsable de Tratamiento: es posible que la entidad
anterior sea quien manipule los datos (gestin, copias de
seguridad, etc.) o bien esta tarea la ejecute otra empresa.
De ah que se diferencie entre estos dos responsables.
Responsable de seguridad: persona o personas en las que
el responsable de fichero ha asignado formalmente la
funcin de coordinar y controlar las medidas de seguridad
aplicables.

https://www.agpd.es/upload/Canal_Documentacion/legislacion/Estatal/A.8%29%20Real%20Decreto%20994-1999.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 156
Operaciones de responsabilidad en LOPD
Artculo 9: Seguridad de los datos.
El responsable del fichero y, en su caso, el encargado del
tratamiento debern adoptar las medidas de ndole tcnica y
organizativa necesarias que garanticen la seguridad de los
datos de carcter personal y eviten su alteracin, prdida,
tratamiento o acceso no autorizado, habida cuenta del
estado de la tecnologa, la naturaleza de los datos
almacenados y los riesgos a que estn expuestos, ya
provengan de la accin humana o del medio fsico o natural.
Temas como estar en el estado de la tecnologa y conocer todo tipo
de riesgos son un dolor de cabeza para el responsable de seguridad.
https://www.agpd.es/upload/Canal_Documentacion/legislacion/Estatal/Ley%2015_99.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 157
Niveles de seguridad en el RD 994/1999
Nivel Bsico: todos los ficheros que contengan datos de carcter
personal debern adoptar las medidas de seguridad calificadas como
de nivel bsico.
Nivel Medio: los ficheros que contengan datos relativos a la comisin
de infracciones administrativas o penales, Hacienda Pblica, servicios
financieros ..., debern reunir, adems de las medidas de nivel bsico,
las calificadas como de nivel medio.
Nivel Alto: los ficheros que contengan datos de ideologa, religin,
creencias, origen racial, salud o vida sexual as como los que
contengan datos recabados para fines policiales sin consentimiento de
las personas afectadas debern reunir, adems de las medidas de nivel
bsico y medio, las calificadas como de nivel alto.
Las medidas a que se hace mencin en estos textos puede verlas en:

https://www.agpd.es/upload/Canal_Documentacion/legislacion/Estatal/A.8%29%20Real%20Decreto%20994-1999.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 158
LOPD: algunas infracciones leves
No atender, por motivos formales, la solicitud del interesado de
rectificacin o cancelacin de los datos personales objeto de
tratamiento cuando legalmente proceda.
No proporcionar informacin que solicite la Agencia de Proteccin de
Datos en el ejercicio de las competencias que tiene legalmente
atribuidas, en relacin con aspectos no sustantivos de la proteccin de
datos.
No solicitar la inscripcin del fichero de datos de carcter personal en
el Registro General de Proteccin de Datos, cuando no sea
constitutivo de infraccin grave.
Proceder a la recogida de datos de carcter personal de los propios
afectados sin proporcionarles la informacin que seala el artculo 5
de la presente ley.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 159
LOPD: algunas infracciones graves
Proceder a la creacin de ficheros de titularidad pblica o iniciar la
recogida de datos de carcter personal para los mismos, sin
autorizacin de disposicin general, publicada en el Boletn Oficial
del Estado o diario oficial correspondiente.
Proceder a la creacin de ficheros de titularidad privada o iniciar la
recogida de datos de carcter personal para los mismos con
finalidades distintas de las que constituyen el objeto legtimo de la
empresa o entidad.
Proceder a la recogida de datos de carcter personal sin recabar el
consentimiento expreso de las personas afectadas, en los casos en que
ste se exigible.
Mantener los ficheros, locales, programas o equipos que contengan
datos de carcter personal sin las debidas condiciones de seguridad
que por va reglamentaria se determine.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 160
LOPD: algunas infracciones muy graves
La recogida de datos de forma engaosa y fraudulenta.
La comunicacin o cesin de los datos de carcter personal, fuera de
los casos en que estn permitidas.
La transferencia temporal o definitiva de datos de carcter personal
que hayan sido objeto de tratamiento o hayan sido recogidos para
someterlos a dicho tratamiento, con destino a pases que no
proporcionen un nivel de proteccin equiparable sin autorizacin del
Director de la Agencia de Proteccin de Datos.
Tratar los datos de carcter personal de forma ilegtima o con
menosprecio de los principios y garantas que les sean de aplicacin,
cuando con ello se impida o se atente contra el ejercicio de los
derechos fundamentales.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 161
La norma ISO 17799 (27001)
Presenta normas, criterios y recomendaciones bsicas para
establecer polticas de seguridad.
stas van desde los conceptos de seguridad fsica hasta los
de seguridad lgica.
Parte de la norma elaborada por la BSI, British Standards
Institution, adoptada por International Standards
Organization ISO y la International Electronic Commission
IEC.
Documento de 70 pginas no de libre distribucin.
Desde finales de 2005 estas normas se estn revisando y
cambiando de numeracin a partir del nmero 27001.
)

http://www.aenor.es/desarrollo/normalizacion/normas/resultadobuscnormas.asp?campobuscador=17799
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 162
Entornos de la norma ISO 17799
Se trata de un cdigo de buenas prcticas para la Gestin de la
Seguridad de la I nformacin.
Antecedentes
Introduccin
Objeto y campo de la aplicacin
Trminos y definiciones
Poltica de seguridad
Aspectos organizativos para la
seguridad
Clasificacin y control de los
archivos
Seguridad ligada al personal
Seguridad fsica y del
entorno
Gestin de comunicaciones y
operaciones
Control de accesos
Desarrollo y mantenimiento
de sistemas
Gestin de continuidad del
negocio
Conformidad
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 163
Historia de la norma ISO 17799
Ref.: Gestin de Seguridad de la Informacin: UNE 71502, ISO17799, A. Villaln.

http://www.criptored.upm.es/guiateoria/gt_m209b.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 164
Planes de contingencia
Un Plan de Contingencia consiste en un estudio y anlisis
pormenorizado de las reas que componen la organizacin y
que nos servir para establecer una poltica de recuperacin
ante un desastre.
Es un conjunto de datos estratgicos de la empresa y que
se plasma en un documento con el fin de protegerse ante
eventualidades.
Adems de aumentar su seguridad, con un plan estratgico la
empresa tambin gana en el conocimiento de sus fortalezas y sus
debilidades.
Pero si no lo hace, se expone a sufrir una prdida irreparable
mucho ms costosa que la implantacin de este plan.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 165
Acciones a realizar en un SGSI
El Plan de Contingencia ser una herramienta imprescindible en un
Sistema de Gestin de la Seguridad Informtica (SGSI). Acciones:
Planificar: estudiar la implantacin de la poltica de seguridad
adoptada, alcances que tendr la gestin, anlisis de riesgos que se
harn, establecimiento de controles que activaremos, etc.
Hacer: implantar el sistema de gestin, poner y activar los controles,
registros e indicadores. Toma de datos del estado de la seguridad.
Verificar: realizar una auditora interna para comprobar el grado de
cumplimiento de nuestro sistema.
Actuar: realizar el seguimiento de la gestin y tomar las medidas
correctivas as como las acciones preventivas correspondientes.
Se cierra el ciclo ajustando las acciones planificadas si fuera el caso.
Ciclo ms conocido por las siglas PDCA (Plan - Do - Check - Act)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 166
Ciclo PDCA
Plan
Poltica y Alcance del sistema
Anlisis de riesgos
Seleccin de controles
Implantacin del SGSI
Implantacin controles
Implantacin indicadores
Acciones correctivas
Acciones preventivas
Modificacin Plan
Act Do
Auditora interna
No conformidades
Grado de cumplimiento
Check
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 167
Desastres naturales y su prevencin
Desastres naturales
Huracn
Tormenta
Inundacin
Tornado
Vendaval
Incendio
Terremoto
Otros
Medidas prevencin
Emplazamientos
adecuados
Proteccin fachadas,
ventanas, puertas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 168
Vandalismo informtico y su prevencin
Terrorismo
Sabotaje
Robo
Virus
Chantaje informtico
Programas malignos
Medidas de prevencin
Fortificacin de entradas
Guardia Jurado
Patrullas de seguridad
Circuito cerrado TV
Control fsico de accesos
Proteccin de software y
hardware con antivirus,
cortafuegos, deteccin de
intrusos, etc.
Seguimiento de las polticas
de seguridad de la empresa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 169
Amenazas del agua y su prevencin
Amenazas
Inundaciones por
causas propias de la
empresa
Inundaciones por
causas ajenas
Pequeos incidentes
personales (la tpica
botella de agua o taza
con caf que se cae
sobre el teclado...)
Medidas prevencin
Revisar conductos de
agua
Emplazar la sala con los
equipos ms caros en un
sitio libre de estos
problemas
Instalar sistemas de
drenaje de emergencia
Concienciar a nuestros
empleados
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 170
Amenazas del fuego y su prevencin
Amenazas
Una mala instalacin
elctrica
Descuidos personales
como puede ser fumar
en sala de ordenadores
Papeleras mal ubicadas
en la que se tira un
cigarrillo no apagado
Vulnerabilidades del
sistema ante el humo
Medidas prevencin
Detector humo y calor
Materiales ignfugos
Almacn de papel
separado de mquinas
Estado del falso suelo
Extintores revisados
Es la amenaza ms temida por
su rpido poder destructor.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 171
Qu sucede si se produce un desastre?
Las empresas dependen hoy en da de los equipos
informticos y de todos los datos que hay all
almacenados (nminas, clientes, facturas, ...).
Dependen tambin cada vez ms de las
comunicaciones a travs de las redes de datos.
Si falla el sistema informtico y ste no puede
recuperarse, la empresa puede desaparecer porque
no tiene tiempo de salir nuevamente al mercado
con ciertas expectativas de xito, aunque conserve
a todo su personal.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 172
Tiempos de recuperacin ante desastres
Segn diversos estudios el perodo mximo de inactividad
que puede soportar una empresa sin poner en peligro su
supervivencia es de:
Sector seguros: 5,6 das
Sector fabricacin: 4,9 das
Sector industrial: 4,8 das
Sector distribucin: 3,3 das
Sector financiero: 2,0 das (
Si nos han dicho que nuestro banco tiene problemas de
seguridad y no podemos mover nuestras cuentas, lo ms
seguro es que cambiemos de banco al da siguiente.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 173
Prdidas por no contar con plan estratgico
Prdida de clientes.
Prdida de imagen.
Prdida de ingresos por beneficios.
Prdida de ingresos por ventas y cobros.
Prdida de ingresos por produccin.
Prdida de competitividad en el mercado.
Prdida de credibilidad en el sector.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 174
Medidas bsicas ante un desastre
Plan de emergencia
Vidas, heridos, activos, evacuacin personal.
Inventariar recursos siniestrados.
Evaluar el coste de la inactividad.
Plan de recuperacin
Acciones tendentes a volver a la situacin que
exista antes del desastre.

http://recovery-disaster.info/index.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 175
Alternativas del plan de continuidad
Instalaciones alternativas
Oficina de servicios propia
Acuerdo con empresa vendedora de HW y SW
Acuerdo recproco entre dos o ms empresas
Arranque en fro: sala vaca propia
Arranque en caliente: centro equipado
Sistema Up Start: caravana, unidad mvil
Sistema Hot Start: centro gemelo
Algunas soluciones pueden resultar de muy alto costo. Su eleccin
depender entonces de las caractersticas de nuestra empresa y qu
tan crtico debe ser ese plan de continuidad acorde con ello.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 176
Cuestiones y ejercicios (1 de 2)
1. Qu es y qu significa hacer un anlisis de riesgos?
2. Explique el sentido de las ecuaciones B > PL y B PL.
3. Tras un estudio, obtenemos B > PL, podemos estar totalmente
tranquilos al no utilizar medida alguna de prevencin?
4. Explique qu significan los factores L y P en la ecuacin B > PL.
5. Cules son los pasos a seguir en un anlisis de riesgo de acuerdo a
los factores de la ecuacin de B > PL?
6. En algunos sistemas de gestin de informacin a veces prima ms el
elemento confidencialidad, en cambio en otros ms el de integridad.
D algunos ejemplos en que pueda cumplirse al menos en parte este
escenario. Qu opina respecto a una transaccin electrnica?
7. Comente el modelo de seguridad de Bell Lapadula. Por qu se le
llama el modelo de la tranquilidad?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 177
Cuestiones y ejercicios (2 de 2)
8. Ud. es el responsable de seguridad y detecta que un empleado est
robando informacin confidencial, cmo reaccionara?
9. Cules pueden ser las prdidas en una empresa si no se cuenta con
un adecuado Plan de Contingencia y sucede un desastre?
10. Qu es un Plan de Contingencia y por qu es importante?
11. Nuestra empresa est a medias entre el rubro distribucin y el de las
finanzas. Resulta estratgico tener aqu un Plan de Contingencia?
12. Qu soluciones tenemos para que un banco no se vea afectado por
un desastre y pueda seguir trabajando con sus clientes con un tiempo
de recuperacin bajo o mnimo? Cmo sera su coste?
13. Se pueden prever situaciones extremas como lo acontecido con las
torres gemelas? En que tipo de empresas o instituciones no deben
descartarse estos extremos? En una empresa que vende coches?
Captulo 6
Teora de la Informacin
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 59 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 179
Fundamentos de la Seguridad Informtica
Los pilares sobre los que descansa toda la teora asociada a
los criptosistemas son bsicamente tres:
La teora de la informacin
Estudio de la cantidad de informacin contenida en los
mensajes y claves, as como su entropa.
La teora de los nmeros
Estudio de las matemticas discretas y cuerpos finitos
que permiten las operaciones de cifrado y descifrado.
La teora de la complejidad de los algoritmos
Estudio de la clasificacin de los problemas como
computacionalmente tratables o intratables.
Estos temas los veremos en ste y en los siguientes captulos del libro.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 180
Teora de la informacin
Definicin de informacin:
Es el conjunto de datos o mensajes inteligibles
creados con un lenguaje de representacin y que
debemos proteger ante las amenazas del entorno,
durante su transmisin o almacenamiento, usando
tcnicas criptogrficas entre otras herramientas.
La teora de la informacin mide la
cantidad de informacin que
contiene un mensaje a travs del
nmero medio de bits necesario para
codificar todos los posibles mensajes
con un codificador ptimo.
Qu significa
cantidad de
informacin y
codificador
ptimo?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 181
Puede ser numrica, alfabtica, simblica, por lenguaje.
Ejemplo: 15/01/05 15-01-05 15-1-05 15/01/2005
01/15/05 01-15-05 1-15-05 01-15-2005 ...
- Todos son el da 15 de enero del ao 2005.
Vitaminas: B
12
, C, ...
Grupo sanguneo: A2 Rh+ ...
Elementos: Fe, Si, Hg ...
Compuestos qumicos: H
2
O, CO
2
...
Ms comn Lenguaje con cdigo: Hace calor all?
Veamos la informacin
que contiene el mensaje
Hace calor all?
Veamos la informacin
que contiene el mensaje
Hace calor all?
Representacin de la informacin
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 182
La informacin que tiene un mensaje
Veremos qu informacin nos entrega un mensaje
dependiendo del contexto en que nos encontremos.
Esto puede analizarse:
a) En funcin de la extensin del mensaje recibido.
b) En funcin de la utilidad del mensaje recibido.
c) En funcin de la sorpresa del mensaje recibido.
d) Dependiendo del entorno de esa sorpresa.
e) En funcin de la probabilidad de recibir un mensaje.
Este ltimo enfoque orientado a la ingeniera y usado por
Claude Shannon en su estudio es el que aqu nos interesa.

http://es.wikipedia.org/wiki/Claude_E._Shannon
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 183
Cantidad de informacin (caso 1)
En funcin de la extensin del mensaje
Ante una pregunta cualquiera, una respuesta concreta y
extensa nos entregar mayor informacin sobre el tema
en particular, y diremos que estamos ante una mayor
cantidad de informacin.
Pregunta: Hace calor all? (una playa en particular)
Respuesta 1: S, hace mucho calor.
Respuesta 2: Cuando no sopla el viento, el calor all es
inaguantable pues supera los 42 grados a la sombra.
Respuesta 2: Cuando no sopla el viento, el calor all es
inaguantable pues supera los 42 grados a la sombra.
Dnde hay una mayor cantidad de informacin?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 184
Cantidad de informacin (caso 2)
En funcin de la utilidad del mensaje
Ante una pregunta cualquiera, una respuesta ms til y
clara nos dejar con la sensacin de haber recibido una
mayor cantidad de informacin.
Pregunta: Hace calor all? (una playa en particular)
Respuesta 1: S, sobre 30 grados.
Respuesta 2: Si no hay viento del sur y el mar est en
calma, es normal que la temperatura suba bastante.
Respuesta 1: S, sobre 30 grados.
Dnde hay una mayor cantidad de informacin?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 185
Cantidad de informacin (caso 3)
En funcin de la sorpresa del mensaje
Ante una pregunta cualquiera, una respuesta ms
inesperada y sorprendente, nos dar la sensacin de
contener una mayor cantidad de informacin.
Pregunta: Hace calor all? (ahora Finlandia en otoo)
Respuesta 1: S, muchsimo. Es insoportable.
Respuesta 2: En esta poca del ao, la temperatura es
ms suave y el tiempo muy agradable.
Respuesta 1: S, muchsimo. Es insoportable.
Dnde hay una mayor cantidad de informacin?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 186
Cantidad de informacin (caso 4)
Dependencia del entorno (sorpresa)
Ante una pregunta cualquiera, una respuesta inesperada
y sorprendente en el entorno, nos dar la sensacin de
contener una mayor cantidad de informacin.
Pregunta: Hace calor all?
(ahora las mismas respuestas hablan de la temperatura en un horno)
Respuesta 1: S, muchsimo. Es insoportable.
Respuesta 2: En esta poca del ao, la temperatura es
ms suave y el tiempo muy agradable.
Respuesta 2: En esta poca del ao, la temperatura es
ms suave y el tiempo muy agradable. ?
Dnde hay una mayor cantidad de informacin?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 187
Cantidad de informacin (caso 5)
En funcin de la probabilidad de recibir un mensaje
Este enfoque probabilstico es el que nos interesar en
cuanto a la definicin de Cantidad de Informacin.
Dnde le da alegra a su cuerpo Macarena?
Respuesta 1: En un pas de Europa.
Respuesta 2: En una ciudad de Espaa.
Respuesta 3: En los nmeros 1 y 3 de la calle Sierpes en
Sevilla, Espaa.
Respuesta 3: En los nmeros 1 y 3 de la calle Sierpes en
Sevilla, Espaa... La Campana, una excelente bombonera!
Por qu?
Dnde hay una mayor cantidad de informacin?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 188
Incertidumbre e informacin
Ante varios mensajes posibles, en principio todos equiprobables, aquel
que tenga una menor probabilidad de aparicin ser el que contenga
una mayor cantidad de informacin.
En el ejemplo anterior:
Al ser ms extenso el nmero de calles y sus nmeros en una
ciudad que el nmero de ciudades en Espaa, y esto ltimo mayor
que los pases en Europa, la ltima respuesta tendr una mayor
incertidumbre.
Si suponemos todos los estados equiprobables, entonces la
cantidad de informacin de la respuesta tercera ser mayor que las
dems.
Las siguientes diapositivas resumen el estudio de Claude Shannon sobre la
entropa en su artculo A Mathematical Theory of Communication que
puede descargarlo en formato pdf desde esta direccin:

http://cm.bell-labs.com/cm/ms/what/shannonday/paper.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 189
Concepto de variable aleatoria
Sea X una variable aleatoria con n estados posibles con
X = x
i
una ocurrencia isima:
X = {x
1
, x
2
, x
3
, ..., x
n-1
, x
n
}
p
1
= p(x
1
), p
2
= p(x
2
), ..., p
n
= p(x
n
)
Como:
0 p
i
1 para i = 1, 2, ..., n
Entonces:
n
p
i
= 1
i = 1
La probabilidad de que ocurra p
1
o
p
2
o p
3
, etc. ser siempre la unidad
porque seguro ser uno de ellos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 190
Definicin de cantidad de informacin
Definiremos c
i
a la cantidad de informacin del
estado i, como el logaritmo en base dos de la
probabilidad de que ocurra el estado isimo.
c
i
= - log
2
(p
i
)
- Logaritmo: p(x
i
) = 1 no hay incertidumbre: c
i
= 0
p(x
i
) = 0 mxima incertidumbre: c
i

- Signo: p(x
i
) < 1 log p(x
i
) ser negativo
- Base 2: Un fenmeno binario dos estados (bit)
1
c
i
p
i
0
0
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 191
Grado de indeterminacin
Combinacin 1 Combinacin 5
Combinacin 2 Combinacin 6
Combinacin 3 Combinacin 7
Combinacin 4 Combinacin 8
Grado de indeterminacin previo
Grado de indeterminacin posterior
c
i
=
En una bolsa hay dos papeles con crculos, dos con
cuadrados y dos con tringulos: negros o blancos.
Sacamos a ciegas tres papeles cualesquiera...
Qu cantidad de informacin tiene cada uno de los estados?
Si hay equiprobabilidad
entonces p(x
i
) = 1/8 Sea sta ser la combinacin elegida...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 192
La incertidumbre del ejemplo del mago
Combinacin 1 Combinacin 5
Combinacin 2 Combinacin 6
Combinacin 3 Combinacin 7
Combinacin 4 Combinacin 8
Como p(xi) = 1/8 entonces
Incertidumbre inicial I
i
= 8
Daremos algunas pistas :
Las figuras no son del mismo color: I
i
baja de 8 a 6 al descartarse
las combinaciones 1 y 8.
El crculo es blanco: I
i
baja de 6 a 3 (descartamos 5, 6 y 7).
Hay dos figuras blancas: I
i
baja de 3 a 2 (descartamos 4).
El cuadrado es negro: I
i
baja de 2 a 1 (descartamos 2.)
Veamos esto ahora
matemticamente ...
Se acaba la incertidumbre pues la solucin es la combinacin 3.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 193
Solucin matemtica al ejemplo del mago
Las figuras no son del mismo color. I
i
baja de 8 a 6:
c
i1
= log (8/6) = log 8 - log 6
El crculo es blanco. I
i
baja de 6 a 3:
c
i2
= log (6/3) = log 6 - log 3
Hay dos figuras blancas. I
i
baja de 3 a 2:
c
i3
= log (3/2) = log 3 - log 2
El cuadrado es negro. I
i
baja de 2 a 1:
c
i4
= log (2/1) = log 2 - log 1
Todas las magnitudes se pueden sumar como escalares:
c
i
= c
i1
+ c
i2
+ c
i3
+ c
i4
= log 8 - log 1 = log 8
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 194
Base del logaritmo
Sean I
i
la indeterminacin inicial
I
f
la indeterminacin final
c
i
= log (I
i
/ I
f
) = log I
i
- log I
f
La cantidad de informacin tiene como unidad de medida
la de un fenmeno de slo dos estados, un fenmeno
binario. Luego:
c
i
= log
b
(2/1) = log
b
2 - log
b
1
Si log
b
2 debe ser igual a 1 entonces la base b = 2.
Precisamente a esta unidad se le llama bit (binary digit)
Ejemplo anterior: c
i
= log
2
8 = 3. Es decir, pasamos de la
incertidumbre total a la certeza con slo 3 preguntas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 195
Con slo tres preguntas inteligentes...
Combinacin 1 Combinacin 5
Combinacin 2 Combinacin 6
Combinacin 3 Combinacin 7
Combinacin 4 Combinacin 8
Con slo tres preguntas ms o menos inteligentes
podemos pasar de la incertidumbre total a la certeza:
Pregunta 1: Est entre la opcin 1 y la 4? S
Pregunta 2: Est entre la opcin 1 y la 2? No
Pregunta 3: Es la opcin 4? No
Se acaba la indeterminacin!
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 196
Entropa de los mensajes
Si un fenmeno tiene un grado de indeterminacin k y
sus estados son equiprobables, la probabilidad p de
que se d uno de esos estados ser 1/k. Luego:
c
i
= log
2
(k/1) = log
2
[1/(1/k)] = - log
2
p
Si ahora cada uno de estos estados tiene una
probabilidad distinta p
i
, la entropa H ser igual a la
suma ponderada de la cantidad de informacin:
H = - p
1
log
2
p
1
- p
2
log
2
p
2
- ... - p
k
log
2
p
k
k
H = - p
i
log
2
p
i
i = 1
Nota: aunque la ecuacin parece
bastante lgica, no es inmediata.

http://en.wikipedia.org/wiki/Information_entropy
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 197
Definicin de entropa
La entropa de un mensaje X, que se representa por H(X),
es el valor medio ponderado de la cantidad de informacin
de los diversos estados del mensaje.
Es una medida de la incertidumbre media acerca de una
variable aleatoria y el nmero de bits de informacin.
k
H(X) = - p(x
i
) log
2
p(x
i
)
i = 1
Despus del ejemplo de los papeles, podramos aceptar el
concepto de incertidumbre en H. Lo que ahora nos llama
la atencin es lo del nmero de bits de informacin.
Esto lo
veremos ms
adelante...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 198
Propiedades de la entropa
a) La entropa es no negativa y se anula si y slo si un estado de la
variable es igual a 1 y el resto 0. Esta demostracin es sencilla.
b) La entropa ser mxima, hay mayor incertidumbre del mensaje,
cuando exista una equiprobabilidad en todos los valores de la
variable X. La demostracin emprica es muy fcil; no obstante
la demostracin matemtica de este mximo no es directa. El
valor mximo de H(X) para una variable de n estados ser log
2
n.
Si hay n estados equiprobables, entonces p
i
= 1/n.
Luego:
H(X) = - p
i
log
2
p
i
= - n(1/n) log
2
(1/n) = - (log
2
1 - log
2
n)
i
H(X)
mx
= log
2
n
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 199
Concepto codificador ptimo
Nos falta encontrar el segundo trmino pendiente en la
definicin de cantidad de informacin: codificador ptimo.
Introduciendo el signo negativo dentro del logaritmo en la
expresin de la entropa, sta nos quedar como:
H(X) = p(x) log
2
[1/p(x)]
i
Veamos un ejemplo
de codificacin
La expresin log
2
[1/p(x)] representar el nmero necesario
de bits para codificar el mensaje X en un codificador ptimo.
Codificador ptimo es aquel que para codificar un
mensaje X usa el menor nmero posible de bits.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 200
Codificacin con el mtodo de Huffman
M= 1 = 01 A = 000 I = 0010 E = 0011
Letra Frecuencia Ocurrencias
E 1 vez 3 6 9 15
I 2 veces
A 3 veces I E A M
3 veces I E A
M 6 veces I E A
I E
Cdigo ptimo:
Mensaje: MI MAMA ME MIMA
Mensaje: 1 0010 01 1 000 1 000 01 1 0011 01 1 0010 1 000 (33 bits)
Pregunta: Cuntos bits necesitara para codificarlo usando ahora cdigo ASCII?
Creacin del rbol de
frecuencias observadas

http://articulos.conclase.net/compresion/huffman.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 201
El nmero necesario de bits y la entropa
Para que d un valor exacto, vamos a calcular el nmero de bits ptimo
de codificacin para el mensaje M = LELA ELLA (*) de 8 caracteres :
Solucin:
p(L) = 0,5; p(E) = 0,25; p(A) = 0,25; y obviamente p(L, E, A) = 1,0.
Para codificar L necesitaremos 1 bit: log
2
[1/ P(L)] = log
2
2 = 1
Para codificar E necesitaremos 2 bits: log
2
[1/ P(E)] = log
2
4 = 2
Para codificar A necesitaremos 2 bits: log
2
[1/ P(A)] = log
2
4 = 2
Luego, si L se codifica como 0, E como 10 y A como 11, el mensaje M se
codificar como: 0 10 0 11 10 0 0 11, es decir se transmiten 12 bits.
Si calcula la entropa de M obtendr H(M) = 1,5 y al mismo valor se llega
con el concepto de nmero medio de bits: para codificar un mensaje M de
8 elementos, hemos usado 12 bits. Luego 12/8 = 1,5 bits por elemento.
(*) Mis disculpas este mensaje poco afortunado, pero era difcil encontrar uno
con estas caractersticas y que tuviese algo de sentido... aunque no sea cierto .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 202
Entropa condicional: equivocacin de X
Si existe una segunda
variable Y que influya
sobre X, esto nos
entregar importante
informacin adicional.
H(X/Y) = - p
(x,y)
log
2
p
(x,y)
x,y
Donde p(x,y) = p(y)p(x/y) y la
relacin p(x/y) es la probabilidad
de que se obtenga un estado X
conocido el valor de Y.
El resultado ms
interesante es que...
La entropa se
reduce: hay ms
orden y menos
incertidumbre.
La entropa se
reduce: hay ms
orden y menos
incertidumbre.
Luego:
H(X/Y) = - p
(y)
p
(x/y)
log
2
p
(x/y)
y x
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 203
Ejemplo de entropa condicional
Sea X = {x
1
, x
2
, x
3
, x
4
} con p(x
i
) = 0,25
Sea ahora Y = {y
1
, y
2
, y
3
} con p(y
1
) = 0,5; p(y
2
) = 0,25; p(y
3
) = 0,25
Luego H(X) = 4 log
2
4 = 2,0 y H(Y) = 2 log
2
4 + log
2
2 = 1,5
Suponga adems que hay las siguientes dependencias entre X e Y:
Si Y = y
1
X = x
1
o x
2
o x
3
o x
4
(cualquiera con igual probabilidad)
Si Y = y
2
X = x
2
o x
3
(cualquiera con igual probabilidad)
Si Y = y
3
X = x
3
o x
4
(cualquiera con igual probabilidad)
y=3 x=4
Como H(X/Y) = - p
(y)
p
(x/y)
log
2
p
(x/y)
y=1 x=1
H(X/Y) = - p(y
1
)[p(x
1
/y
1
)log
2
p(x
1
/y
1
) + p(x
2
/y
1
)log
2
p(x
2
/y
1
) + p(x
3
/y
1
)log
2
p(x
3
/y
1
) + p(x
4
/y
1
)log
2
p(x
4
/y
1
)]
- p(y
2
)[p(x
1
/y
2
)log
2
p(x
1
/y
2
) + p(x
2
/y
2
)log
2
p(x
2
/y
2
) + p(x
3
/y
2
)log
2
p(x
3
/y
2
) + p(x
4
/y
2
)log
2
p(x
4
/y
2
)]
- p(y
3
)[p(x
1
/y
3
)log
2
p(x
1
/y
3
) + p(x
2
/y
3
)log
2
p(x
2
/y
3
) + p(x
3
/y
3
)log
2
p(x
3
/y
3
) + p(x
4
/y
3
)log
2
p(x
4
/y
3
)]
Calculando, se obtiene H(X/Y) = 1,0 + 0,25 + 0,25 = 1,5. La entropa de
X ha bajado en medio bit por el conocimiento de su relacin con Y.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 204
Importancia de la entropa condicional
Equivocacin de la clave k
Cul es la probabilidad de
que a un criptograma C le
corresponda una cifra con
una clave k?
H(K/C) = - p
(c)
p
(k/c)
log
2
p
(k/c)
c k
Servir como un parmetro para la evaluacin de la fortaleza
de un criptosistema segn equivocacin de clave y mensaje.
Equivocacin del mensaje M
Cul es la probabilidad de
que a un criptograma C le
corresponda un mensaje en
claro M?
H(M/C) = - p
(c)
p
(m/c)
log
2
p
(m/c)
c m
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 205
La ratio r del lenguaje
Ratio r
Es el nmero de bits de informacin en cada carcter
para mensajes con una longitud igual a N caracteres.
Luego, segn la definicin de entropa, se tiene:
r = H(X)/N (bits/letra)
Si codificramos un mensaje letra a letra suponiendo
adems equiprobabilidad entre las letras, se obtiene la
denominada ratio absoluta del lenguaje, R:
R = H(X)
castellano = 27 letras
R
castellano
= log
2
n = log
2
27 = 4,75 (bits/letra)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 206
Ratio verdadera del lenguaje
Ratio verdadera
- Como las letras que aparecen en un texto no tienen
igual probabilidad, su frecuencia de aparicin es
distinta, los lenguajes est muy estructurados, hay
bloques de dos palabras (digramas) caractersticos,
trigramas, poligramas, etc., la ratio baja mucho...
1,2 < r < 1,5
- A este valor se llega codificando los mensajes con
monogramas, digramas, trigramas, etc., segn el
estudio hecho por Shannon.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 207
Significado de la ratio del lenguaje
Qu significa esto?
Si un alfabeto consta de L elementos existirn 2
RN
mensajes posibles de longitud N, la entropa mxima
ser H(X)
mx
= log
2
L, y slo habr 2
rN
mensajes que
tengan sentido.
Muy importante: No significa que podamos codificar
todos los mensajes de 27 caracteres con 2 bits (esto
sera imposible ). Slo significa que la informacin
que contiene cada letra es tan slo de 1,5 bits.
Veamos un ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 208
Ejemplo de la ratio del lenguaje
Un subalfabeto del castellano mdulo 27 consta de 5 caracteres: A, E, O,
S, y T, todos ellos equiprobables. Podemos aceptarlo como representativo
del lenguaje; es ms o menos cierto. De acuerdo, estoy jugando con algo
de trampa pero es para que el ejemplo entre justo en una diapositiva .
Pregunta: Cuntos mensaje de longitud 4 existen y cuntos con sentido?
Solucin:
R = log
2
5 = 2,3219. Existirn as 2
R4
= 2
2,32194
= 625 = 5
4
mensajes.
Como 1,2 < r < 1,5 entonces cabe esperar x mensajes con sentido de
longitud 4 del orden: 2
1,24
< x < 2
1,54
es decir 27 < x < 64.
Buscando en un diccionario (puede hacerlo) encontramos las 45 palabras
que se indican, y que casualmente es el valor medio (27 + 64)/2 = 45:
aeta, asas, asea, asee, aseo, ases, asta, atea, atas, ates, ateo, atoa, atoe,
atoo, osas, oses, osos, oste, otea, otee, oteo, easo, esas, eses, esos, esta,
este esto, etas, tasa, tase, taso, teas, tesa, tese, teso, teta, seas, seso, seta,
seto, sosa, sota, sote, soto.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 209
Redundancia del lenguaje
La redundancia D del lenguaje ser la diferencia entre la ratio
absoluta y la ratio real:
D = R - r
3,25 < D < 3,55
Qu significa esto?
El nmero de bits extras (bits redundantes) necesarios para
codificar un mensaje suponiendo un alfabeto de 27
caracteres (codificacin con 5 bits puesto que 2
5
= 32 y 2
4
=
16) ser aproximadamente igual a 3,5.
D/R ser un factor proporcional, luego:
68,42 < % Red. Lenguaje (D/R) < 74,73
No le resulta familiar este porcentaje de reduccin en los archivos zip?

http://es.wikipedia.org/wiki/Compresi%C3%B3n_de_datos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 210
Es nuestro lenguaje redundante?
El estudio de Shannon demuestra que es la estructura del
lenguaje la que produce esta redundancia:
Existe diferencias en la frecuencia de aparicin de cada una
de las letras de un texto, entregando una distribucin tpica,
como puede ver en las tablas del captulo 21 de este libro.
Existe gran cantidad de digramas comunes (en, es, ...),
tambin muchos trigramas (ado, ida, ...), tetragramas (ando,
lado, ...), algunos pentagramas (mente, ...), etc.
Existe una estructuracin tpica de frases y oraciones con
sentido en nuestro lenguaje.
Esto dar pistas al criptoanalista para atacar un sistema. Y nuestra
misin es crear algoritmos que sean seguros y eviten estos ataques.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 211
Un ejemplo de redundancia (parte 1)
Todos los lenguajes sern redundantes. Esto quiere
decir que la misma cantidad de informacin se puede
entregar con menos smbolos o bits.
Sea el siguiente mensaje M = HBNVZNCRC
1
a
ayuda:
En el mensaje original se han quitado las vocales.
Esto nos permite suponer que entre consonantes habr 0, 1,
2, 3 y hasta 4 vocales, segn las reglas del lenguaje...
M = __H__B__N__V__Z__N__C__R__C__
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 212
Un ejemplo de redundancia (parte 2)
Tenamos el mensaje M = HBNVZNCRC y adems:
M = __H__B__N__V__Z__N__C__R__C__
2
a
ayuda:
El mensaje original contiene cinco palabras.
Esto nos permite limitar el nmero de mensajes posibles
que tengan sentido. En estas condiciones podran existir
muchos mensajes de 5 palabras, aunque no cumpliesen de
forma lgica con las reglas del lenguaje. Un ejemplo
vlido pero sin sentido lgico podra ser...
M = AH BUENO AVE ZONA CERCA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 213
Un ejemplo de redundancia (parte 3)
Tenamos el mensaje M = HBNVZNCRC y adems
M = __H__B__N__V__Z__N__C__R__C__
3
a
ayuda y siguientes:
a) El mensaje original tiene que ver con un circo.
b) Corresponde al estribillo de una cancin infantil.
c) Los espacios estn en: M = HB N VZ N CRC.
Seguro que habr adivinado ya el mensaje....
M = AH BUENO AVE ZONA CERCA
M = HABA UNA VEZ UN CIRCO

Jorge Rami Aguirre Madrid (Espaa) 2006


Captulo 6: Teora de la Informacin
Pgina 214
Redundancia y entropa condicional
El ejemplo anterior, adems de demostrar que todos los
lenguajes son redundantes, es un claro exponente de lo que se
entiende en la prctica por entropa condicional.
Cada vez que vamos dando nuevas pistas, disminuye la
incertidumbre del mensaje hasta que sta se anula y por lo
tanto la entropa es igual a 0 ya que existe un nico mensaje
posible con probabilidad igual a la unidad.
Algo parecido ocurre cuando resolvemos un crucigrama y lo
anteriormente resuelto nos sirve como pistas para descubrir
palabras nuevas. Mientras ms palabras tengamos, ms fcil
se hace avanzar en su resolucin. En algunos casos, cuando se
ataque una cifra, el criptoanalista usar mtodos similares.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 215
Secreto de un sistema criptogrfico
Shannon midi el secreto de un criptosistema como la
incertidumbre del mensaje en claro conocido el
criptograma recibido:
Mensajes M = {M
1
, M
2
, ..., M
3
} p(M) = 1
M
Criptogramas C = {C
1
, C
2
, ..., C
3
} p(C) = 1
C
Claves K = {K
1
, K
2
, ..., K
3
} p(K) = 1
K
Cuando tendr nuestro sistema un secreto perfecto?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 216
Definiciones previas secreto criptogrfico
p(M): Probabilidad de enviar un mensaje M. Si
hay n mensajes M
i
equiprobables, p(M
i
) = 1/n.
p(C): Probabilidad de recibir un criptograma C. Si
cada uno de los n criptogramas recibidos C
i
es
equiprobable, p(C
i
) = 1/n.
p
M
(C): Probabilidad de que, a partir de un texto en
claro M
i
, se obtenga un criptograma C
i
.
p
C
(M): Probabilidad de que, una vez recibido un
criptograma C
i
, ste provenga de un texto claro M
i
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 217
Secreto criptogrfico perfecto (1)
Un sistema tiene secreto perfecto si el conocimiento del texto
cifrado no nos proporciona ninguna informacin acerca del
mensaje. Es decir, cuando la probabilidad de acierto al recibir
el elemento i +1 es la misma que en el estado i.
Secreto perfecto p(M) = p
C
(M)
La probabilidad p de enviar un mensaje M con texto en claro p(M) o
probabilidad a priori ser igual a la probabilidad p de que, conocido
un criptograma C, ste se corresponda a un mensaje M cifrado con la
clave K. Esta ltima o probabilidad a posteriori es p
C
(M).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 218
Secreto criptogrfico perfecto (2)
La probabilidad p de recibir un texto cifrado C al
cifrar un mensaje M usando una clave K ser p
M
(C).
Luego, M debe haberse cifrado con alguna clave K:
p
M
(C) = p(K) donde E
K
(M) = C
K
k
j
/ E
kj
(M
i
) = C
i
En el fondo esto viene a significar que para lograr un
secreto perfecto, el espacio de claves debe ser al
menos de igual tamao que el espacio de mensajes.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 219
Secreto criptogrfico perfecto (3)
La condicin necesaria y suficiente del secreto
perfecto es que para cualquier valor de M se
cumpla que la probabilidad de recibir C,
resultado de la cifra de un mensaje M con una
clave K, sea la misma que recibir el criptograma
C, resultado de la cifra de otro mensaje M
distinto, cifrado con otra clave.
p
M
(C) = p(C)
para todo valor de M
Veamos algunos ejemplos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 220
Cifrado con secreto perfecto
Sea el siguiente escenario:
Espacio de Mensajes Espacio de Claves Espacio de Cifrados
M
1
k
1
C
1
k
3
k
2
k
2
M
2
k
3
C
2
k
1
k
3
k
1
M
3
C
3
k
2
p(M) = 1/3 para todo M p(C) = 1/3
p
M
(C) =1/3 p
C
(M) = 1/3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 221
Cifrado sin secreto perfecto (1)
Sea ahora el siguiente escenario:
Probabilidad de que un mensaje M
i
se convierta en un criptograma C
i
: [P
Mi
(C
i
)]
y que un criptograma C
i
sea el resultado de la cifra de un mensaje M
i
: [P
Ci
(M
i
) ]?

Espacio de Mensajes Espacio de Claves Espacio de Cifrados

k
1

M
1
C
1

k
3
k
2

k
2

M
2
k
3
C
2

k
1

k
3
k
1

M
3
k
2
C
3



C
4



p(M
1
) = 1/3
p(C
1
) = 3/9
p(M
2
) = 1/3
p(M
3
) = 1/3
p(C
2
) = 2/9
p(C
3
) = 2/9
p(C
4
) = 2/9
Algo ms
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 222
Cifrado sin secreto perfecto (2)
Esquema anterior:
p
C1
(M
1
) = 1/3 p
C1
(M
2
) = 1/3 p
C1
(M
3
) = 1/3
p
C2
(M
1
) = 1/2 p
C2
(M
2
) = 1/2 p
C2
(M
3
) = 0
p
C3
(M
1
) = 1/2 p
C3
(M
2
) = 0 p
C3
(M
3
) = 1/2
p
C4
(M
1
) = 0 p
C4
(M
2
) = 1/2 p
C4
(M
3
) = 1/2
k
1
M
1
C
1
k
3
k
2
k
2
M
2
k
3
C
2
K
1
K
3
k
1
M
3
k
2
C
3
C
4
p
M1
(C
1
) = 1/3 p
M1
(C
2
) = 1/3 p
M1
(C
3
) = 1/3 p
M1
(C
4
) = 0
p
M2
(C
1
) = 1/3 p
M2
(C
2
) = 1/3 p
M2
(C
3
) = 0 p
M2
(C
4
) = 1/3
p
M3
(C
1
) = 1/3 p
M3
(C
2
) = 0 p
M3
(C
3
) = 1/3 p
M3
(C
4
) = 1/3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 223
La distancia de unicidad
Se entender por Distancia de Unicidad al bloque N de
texto cifrado o criptograma mnimo necesario para que se
pueda intentar con ciertas expectativas de xito un ataque
en bsqueda de la clave usada para cifrar.
Este valor se obtiene cuando la equivocacin de la clave
H
C
(K) se acerca a cero o tiende a anularse.
A medida que se tenga un criptograma ms largo, y por
tanto ms informacin, se supone que la tarea de ataque
del criptoanalista se va facilitando.
Se busca el tamao N de criptograma que permita esperar
que la solucin de K sea nica. Suponiendo un cifrador
aleatorio, llegamos al modelo de la diapositiva siguiente.

http://www.cs.ucla.edu/~jkong/research/security/shannon1949/node14.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 224
Parmetros del modelo aleatorio (1)
Existirn 2
RN
mensajes posibles de longitud N.
Existirn 2
rN
mensajes de longitud N con sentido.
El espacio de mensajes de longitud N se dividir en:
Espacio de los mensajes con sentido: M
CS
= 2
rN
.
Espacio de los mensajes sin sentido: M
SS
= 2
RN
- 2
rN
.
Los 2
rN
mensajes con sentido sern equiprobables
siendo su valor p(M
CS
) = 1/2
rN
= 2
-rN
.
El resto de mensajes (2
RN
- 2
rN
) correspondientes a
aquellos sin sentido tendrn una probabilidad nula
p(M
SS
) = 0, ya que nunca sern generados.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 225
Parmetros del modelo aleatorio (2)
Existirn 2
H(K)
claves equiprobables.
En donde H(K) es la entropa de la clave.
Con p(K) = 1/2
H(K)
= 2
-H(K)
.
Con estas claves se cifrarn todos los mensajes con
sentido dando lugar a 2
RN
textos cifrados posibles de
longitud N.
A diferencia de los mensajes, como es lgico los
criptogramas obtenidos sern todos equiprobables.
En la siguiente diapositiva se muestra un esquema
de este modelo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 226
Esquema para mensajes de longitud N
Mensajes Sin Sentido
Mensajes Con Sentido
2
rN
2
RN -
2
rN
Operaciones de
cifra usando una
clave
Criptogramas
Mensajes
M
1
M
2
M
3
C
1
C
3
C
2
2
RN
2
RN
Veamos ahora los escenarios del modelo de cifra para slo dos claves k
1
y k
2
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 227
Escenarios en el cifrador aleatorio
Espacio de Mensajes Espacio de Claves Espacio de Cifrados

k1
M
1
C
1

k2
M
2

k1
C
2

k2

k2
M
3
C
3

k1

k1

k2
M
4
C
4
k1
M
5
C
5

k2
M
6 k1
C
6

k2
M
7
C
7
M
8
C
8
M
9
C
9
M
10
C
10
Verdaderas SV
SV: Un criptograma est asociado
slo a un texto en claro con sentido
y cifrado con una nica clave k
i
.
SF: Cualquier otra solucin de
cifra distinta a la anterior.
SV: C
3
= E
k1
(M
5
) C
4
= E
k1
(M
2
)
C
6
= E
k2
(M
1
) C
7
= E
k1
(M
3
)
C
9
= E
k1
(M
6
) C
10
= E
k2
(M
6
)
SF: C
2
= E
k1
(M
4
) C
2
= E
k2
(M
4
)
C
5
= E
k2
(M
2
) C
5
= E
k2
(M
5
)
C
1
= E
k1
(M
1
) C
1
= E
k2
(M
3
)
SF C
2
: Condicin obvia
SF C
5
: Condicin dbil
SF C
1
: Condicin fuerte
Falsas SF
Soluciones:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 228
Clculo de la distancia de unicidad (1)
Para cada solucin correcta de un texto M cifrado con
una clave k del espacio 2
H(K)
, existirn otras (2
H(K)
-1)
claves con la misma probabilidad de entregar una
solucin falta SF.
Sea q la probabilidad de obtener un mensaje con sentido:
q = 2
rN
/ 2
RN
= 2
(r - R)N
= 2
-DN
Luego:
SF = (2
H(K)
-1) q = (2
H(K)
-1) 2
-DN
= 2
H(K) - DN
- 2
-DN
SF 2
H(K) - DN
log
2
SF = H(K) - DN
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 229
Clculo de la distancia de unicidad (2)
La solucin SF = 0 es imposible porque slo se llega a
ella de forma asinttica con un valor de N infinito como
se muestra en la diapositiva siguiente.
Se acepta entonces que haya como mximo una sola
solucin falsa, de ah su nombre de unicidad, luego:
SF = 2
H(K) DN
Si hacemos SF = 1 H(K) - DN = 0
Por lo tanto:
N = H(K) / D
El valor N ser el nmero mnimo de bytes o caracteres que deber tener
el criptograma C para intentar un ataque por estadsticas del lenguaje.
Por lo general el valor real necesario de N ser unas 10 veces superior.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 230
Cantidad de trabajo Q en un criptoanlisis
Cantidad de Trabajo
Q
H(M/C)
n
N Cantidad de caracteres
(A)
(B)
(C)
(A) Inicialmente hay que hacer un arduo trabajo para obtener algo
coherente. Nos encontraremos con muchas soluciones falsas.
(B) Cuando se tiene una cantidad adecuada de texto cifrado, la
cantidad de trabajo disminuye. Se descartan algunas soluciones.
(C) Cuando se anula la equivocacin de la clave, H(M/C) = 0,
disminuyen las soluciones falsas y la solucin tiende a ser nica.
(D)
Solucin nica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 231
Algunos ejemplos de distancia de unicidad
Para el cifrador del Csar mdulo 27 en el que la clave es b, todos
los posibles desplazamientos de caracteres, 1 b 26, su entropa
H(X) = log
2
26 = 4,7 bits por lo que N = 4,7/3,4 = 1,4 caracteres.
Para el mismo cifrador del Csar pero con clave, si el alfabeto tiene n
caracteres, existirn n! claves posibles. En este caso la entropa de la
clave puede aproximarse como H(X) = log
2
27! 27log
2
(27/e), por
lo que N = 27log
2
(27/2,72)/3,4 = 27,4 caracteres.
En el sistema DES la clave verdadera es de 56 bits por lo que su
entropa H(X) = 56. Si el mensaje slo contiene letras maysculas
(27 elementos) podramos decir que N = 56/3,4 = 16,5 caracteres.
Nota: aunque el valor de N sea ahora ms bajo no quiere decir en
absoluto que el DES sea menos seguro que el cifrador del Csar con
clave. Este ltimo se puede atacar fcilmente con estadsticas del
lenguaje muy elementales y el DES no. Adems, recuerde que se
debe contar con un criptograma varias veces mayor que el valor de N
si desea que su criptoanlisis tenga alguna posibilidad de xito.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 232
El uso de tcnicas de difusin
Para lograr un mayor secreto en las operaciones de cifra,
Shannon propuso usar dos tcnicas: difusin y confusin.
Difusin: es la transformacin sobre el texto en claro con el
objeto de dispersar las propiedades estadsticas del lenguaje
sobre todo el criptograma. Se logra con transposiciones.
TRANSPOSICIONES
La transposicin consiste bsicamente en una permutacin, es
decir, cambiar los caracteres de lugar segn una regla, una
funcin, etc. Por ejemplo el carcter primero se posiciona en
el lugar cuarto, el segundo en el lugar tercero, etc.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 233
El uso de tcnicas de confusin
Confusin: transformacin sobre el texto en claro con objeto
de mezclar los elementos de ste, aumentando la complejidad
de la dependencia funcional entre la clave y el criptograma.
Se obtiene a travs de sustituciones.
SUSTITUCIONES
La sustitucin consiste bsicamente modificar la informacin,
es decir, sustituir un carcter por otro de acuerdo a una regla,
una funcin, etc. Por ejemplo cambiar la letra A por la letra
M, la letra B por la letra X , etc.
Ambas tcnicas se usan en sistemas clsicos orientados a caracteres y
tambin en los modernos pero en este caso operando sobre bits.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 234
Cuestiones y ejercicios (1 de 2)
1. Al despertar ponemos la radio y escuchamos noticias que no nos
llaman la atencin. Por qu decimos que no haba informacin?
2. Justifique la definicin logartmica de cantidad de informacin, es
decir la razn de que c
i
= - log (p
i
).
3. Por qu usamos la base 2 en el logaritmo que define c
i
?
4. Cul es el nmero mnimo -e inteligente- de preguntas que hay que
hacer para pasar de la incertidumbre a la certeza en un sistema de n
estados equiprobables? Y si ahora no son equiprobables?
5. Por qu la entropa es no nula y se anula si y slo si uno de los
estados de la variable es igual a la unidad?
6. Codificamos en binario un sistema con 256 estados equiprobables.
Si no usamos un codificador ptimo, cuntos bits son necesarios?
Mediante un codificador ptimo, usaremos ms o menos bits?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 235
Cuestiones y ejercicios (2 de 2)
7. Qu representa la expresin log
2
[1/p(x)] en la entropa H(X)? Si
p(x
1
)=0,6; p(x
2
)=0,3; p(x
3
)=0,1 calcule log
2
[1/p(x)]. Qu opina?
8. Definimos un alfabeto con 71 elementos (maysculas y minsculas,
minsculas acentuadas, dgitos, punto, coma). Si estos elementos
son equiprobables, cul es la ratio absoluta de este alfabeto?
9. La ratio verdadera es mayor o menor que la absoluta? Por qu?
10. Un alfabeto consta de 8 elementos equiprobables. Cuntos posibles
mensajes de tamao 4 existen? De stos, cuntos mensajes podran
tener sentido si esos 8 elementos representan al idioma castellano?
11. Cundo decimos que un sistema tiene secreto perfecto? En un
sistema real, es eso posible? Piense en algn ejemplo y comntelo.
12. Por qu se dice que hay que minimizar las soluciones falsas SF en
el modelo aleatorio para romper la clave? Es la clave k nica?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 236
Prcticas del tema 6 (1/1)
Software CripClas:

http://www.criptored.upm.es/software/sw_m001c.htm
1. Encuentre la entropa del mensaje M = MI MAMA ME MIMA, comprela
con el resultado de la diapositiva correspondiente, 33 bits para codificar 15
caracteres: 33/15 = 2,2. Por qu no coinciden? Repita este clculo ahora
con el mensaje M = RARORARO y saque conclusiones.
2. Encuentre la entropa de M = ABCDEFGHIJKLMNOPQRSTUVWXYZ
es decir el alfabeto en castellano mdulo 27, y comprela con el valor que
aparece en la dispositiva correspondiente.
3. Cmo son las entropas de M = TE AMO y M = Te amo? Por qu?
4. Copie en el portapapeles todas estas preguntas, guarde el archivo con el
nombre prtema6.txt y encuentre su entropa. Encuentre luego la entropa de
otros archivos txt, grandes y pequeos, y saque conclusiones.
5. Encuentre la frecuencia de monogramas del archivo anterior, prtema6.txt.
Comprela en la misma pantalla con la tabla de frecuencias estndar.
Captulo 7
Teora de los Nmeros
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 75 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 238
Matemtica discreta y congruencia
La congruencia es la base en la que se sustentan las
operaciones de cifra en matemtica discreta.
Concepto de congruencia:
Sean dos nmeros enteros a y b: se dice que a es
congruente con b en el mdulo o cuerpo n (Z
n
) si y slo
si existe algn entero k que divide de forma exacta la
diferencia (a - b) .
Esto podemos expresarlo as:
a - b = k n
a
n
b
a b mod n
Desde esta pgina Web podr realizar diversos clculos en
matemtica discreta:

http://www.numbertheory.org/php/php.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 239
Operaciones de congruencia en Z
n
Es 18 congruente con 3 mdulo 5?
18 3 mod 5?
S, porque: 18-3 = 15 = k5 con k = 3
Cmo se usar esto en criptografa?
Esta operacin en Z
n
se expresar as:
18 mod 5 = 3
El valor 3 ser el resto o residuo.
El conjunto de nmeros que forman los restos dentro de
un cuerpo Z
n
ser muy importante en criptografa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 240
Propiedades de la congruencia en Z
n
Propiedad Reflexiva:
a a mod n a Z
Propiedad Simtrica:
a b mod n b a mod n a,b Z
Propiedad Transitiva:
Si a b mod n y b c mod n
a c mod n a,b,c Z
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 241
Propiedades de las operaciones en Z
n
(1)
Propiedad Asociativa:
a + (b + c) mod n (a + b) + c mod n
Propiedad Conmutativa:
a + b mod n b + a mod n
a b mod n b a mod n
Propiedad Distributiva:
a (b+c) mod n ((a b) + (a c)) mod n
Normalmente usaremos
el signo = en vez de que
denotaba congruencia.
Esto es algo propio de los
Campos de Galois que
veremos ms adelante.
a (b+c) mod n = ((a b) + (a c)) mod n
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 242
Existencia de Identidad:
a + 0 mod n = 0 + a mod n = a mod n = a
a 1 mod n = 1 a mod n = a mod n = a
Existencia de Inversos:
a + (-a) mod n = 0
a (a
-1
) mod n = 1 (si a 0)
Reducibilidad:
(a + b) mod n = [(a mod n) + (b mod n)] mod n
(a b) mod n = [(a mod n) (b mod n)] mod n

No siempre existe
Ambos sern
muy importantes
en criptografa
Propiedades de las operaciones en Z
n
(2)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 243
Conjunto completo de restos CCR
Para cualquier entero positivo n, el conjunto
completo de restos ser CCR = {0, 1, 2, ... n-1},
es decir:
a Z ! r
i
CCR / a r
i
mod n
CCR (11) = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
CCR (6) = {0, 1, 2, 3, 4, 5} = {12, 7, 20, 9, 16, 35}
El segundo conjunto es equivalente: 12 0, 7 1...
Normalmente se trabajar en la zona cannica: 0 n-1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 244
Homomorfismo de los enteros
Enteros Enteros mod n
a
1
, a
2
(a
1
mod n), (a
2
mod n)
op (y posterior reduccin mod n) op
(a
1
op a
2
) mod n (a
1
mod n) op (a
2
mod n) mod n
es lo mismo que
esta otra
Esta operacin ...
Esto nos permitir trabajar con nmeros muy grandes
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 245
Un ejemplo de homomorfismo

Ejemplo: una calculadora capaz de


trabajar slo con tres dgitos ...
88 93 mod 13
8.184 mod 13
Resultado: 7
88 93 mod 13
8.184 mod 13
Resultado: 7
Se desbordara
la memoria de
nuestro sistema
Solucin por homomorfismo:
88 93 mod 13
[(88) mod 13 (93) mod 13] mod 13
10 2 mod 13
20 mod 13 Resultado: 7
se llega a lo mismo, pero...

Ahora ya no
se desborda
la memoria
... y hemos usado siempre nmeros de 3
dgitos. En este caso la operacin mxima
sera 1212 = 144, es decir tres dgitos.

Jorge Rami Aguirre Madrid (Espaa) 2006


Captulo 7: Teora de los Nmeros
Pgina 246
Divisibilidad de los nmeros
En criptografa muchas veces nos interesar encontrar el
mximo comn denominador mcd entre dos nmeros a y b.
Para la existencia de inversos en un cuerpo n, la base a y el
mdulo n debern ser primos entre s. mcd (a, n) = 1
Algoritmo de Euclides:
a) Si x divide a a y b a = x a y b = x b
b) Por lo tanto: a - k b = x a - k x b
a - k b = x (a - k b)
c) Entonces se concluye que x divide a (a - k b)

http://es.geocities.com/eucliteam/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 247
El mximo comn denominador mcd
Como hemos llegado a que x divide a (a k b) esto nos
permitir encontrar el mcd (a, b):
Si a > b entonces a = d
1
b + r
(con d
i
un entero y r un resto)
Luego mcd (a, b) = mcd (b ,r) (a > b > r 0)
porque:
Si b > r entonces b = d
2
r + r
(con r un entero y r un resto)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 248
Divisibilidad con algoritmo de Euclides
mcd (385, 78)
385 = 4 78+ 73
78 = 1 73 + 5
73 = 14 5 + 3
5 = 1 3 + 2
3 = 1 2 + 1
2 = 2 1 + 0
mcd (385, 78) = 1
mcd (148, 40)
148 = 3 40 + 28
40 = 1 28 + 12
28 = 2 12 + 4
12 = 3 4 + 0
mcd (148, 40) = 4
148 = 2
2
37
40 = 2
3
5
Factor comn
2
2
= 4
No hay
factor comn
385 = 5 7 11
78 = 2 3 13
Esta condicin
ser importante en
criptografa.

Jorge Rami Aguirre Madrid (Espaa) 2006


Captulo 7: Teora de los Nmeros
Pgina 249
Inversin de una operacin de cifra
En criptografa deber estar permitido invertir una
operacin para recuperar un cifrado descifrar.
Aunque la cifra es una funcin, en lenguaje coloquial la
operacin de cifrado podra interpretarse como una
multiplicacin y la operacin de descifrado como una
divisin, si bien hablaremos en este caso de una
multiplicacin por el inverso.
La analoga anterior slo ser vlida en el cuerpo de los
enteros Z
n
con inverso.
Luego, si en una operacin de cifra la funcin es el valor a
dentro de un cuerpo n, deberemos encontrar el inverso a
-1
mod n para descifrar; en otras palabras ...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 250
Inversos en Z
n
Si a x 1 mod n
se dice que x es el inverso multiplicativo de a en Z
n
y se
denotar por a
-1
.
No siempre existen el inverso de un elemento en Z
n
.
Por ejemplo, si n = 6, en Z
6
no existe el inverso del
2, pues la ecuacin 2x 1 mod 6 no tiene solucin.
Si n es un nmero primo p, entonces todos los
elementos de Z
p
salvo el cero tienen inverso. Por
ejemplo, en Z
5
se tiene que:
1
-1
mod 5 = 1; 2
-1
mod 5 = 3, 3
-1
mod 5 = 2; 4
-1
mod 5 = 4.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 251
Existencia del inverso por primalidad
inverso a
-1
en mod n ssi mcd (a, n) = 1
Si mcd (a,n) = 1, el resultado de ai mod n (para i todos los
restos de n) sern valores distintos dentro del cuerpo n.
mcd (a, n) = 1 x ! 0 < x < n / a x mod n = 1
Sea: a = 4 y n = 9. Valores de i = {1, 2, 3, 4, 5, 6, 7, 8}
41 mod 9 = 4 42 mod 9 = 8 43 mod 9 = 3
44 mod 9 = 7 45 mod 9 = 2 46 mod 9 = 6
47 mod 9 = 1 48 mod 9 = 5
Si mcd (a,n) 1
S
O
L
U
C
I

N
I
C
A
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 252
Inexistencia de inverso (no primalidad)
Y si no hay primalidad entre a y n?
Si mcd (a, n) 1
No existe ningn x que 0 < x < n / a x mod n = 1
Sea: a = 3 y n = 6 Valores de i = {1, 2, 3, 4, 5}
31 mod 6 = 3 32 mod 6 = 0 33 mod 6 = 3
34 mod 6 = 0 35 mod 6 = 3
No existe el inverso para ningn resto del cuerpo.

Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 253
Inversos aditivo y multiplicativo
(A+B) mod 5 (AB) mod 5
B + 0 1 2 3 4 B 0 1 2 3 4
A 0 0 1 2 3 4 A 0 0 0 0 0 0
1 1 2 3 4 0 1 0 1 2 3 4
2 2 3 4 0 1 2 0 2 4 1 3
3 3 4 0 1 2 3 0 3 1 4 2
4 4 0 1 2 3 4 0 4 3 2 1
o En la operacin suma siempre existir el inverso o valor identidad
de la adicin (0) para cualquier resto del cuerpo. Su valor es nico.
o En la operacin producto, de existir un inverso o valor de identidad
de la multiplicacin (1) ste es nico y la condicin para ello es que
el nmero y el mdulo sean primos entre s. Por ejemplo para n = 4,
el resto 2 no tendr inverso multiplicativo, en cambio el resto 3 s.
0+0 = 0
11 = 1
Es trivial
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 254
No existencia de inversos multiplicativos
(AB) mod 10
1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9
2 2 4 6 8 0 2 4 6 8
3 3 6 9 2 5 8 1 4 7
4 4 8 2 6 0 4 8 2 6
5 5 0 5 0 5 0 5 0 5
6 6 2 8 4 0 6 2 8 4
7 7 4 1 8 5 2 9 6 3
8 8 6 4 2 0 8 6 4 2
9 9 8 7 6 5 4 3 2 1
Para mdulo 10 slo
encontramos inversos
multiplicativos en los
restos 3, 7 y 9, puesto
que los dems restos
tienen factores 2 y 5 en
comn con el mdulo.

http://www.cut-the-knot.org/blue/Modulo.shtml
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 255
Conjunto reducido de restos CRR
El conjunto reducido de restos, conocido como
CRR de n, es el subconjunto {0, 1, ... n
i
, ... n-1}
de restos, primos con el grupo n.
Si n es primo, todos los restos sern primos con l.
Como el cero no es una solucin, entonces:
CRR = {1, ..., n
i
, ... n-1} / mcd (n
i
, n) = 1
Ejemplo: CRR mod 8 = {1, 3, 5, 7}
CRR mod 5 = {1, 2, 3, 4}
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 256
Utilidad del CRR
Qu utilidad tiene esto en criptografa?
El conocimiento del CRR permitir aplicar un algoritmo para el
clculo del inverso multiplicativo de un nmero x dentro de un
cuerpo n a travs de la funcin (n), denominada Funcin de
Euler o Indicador de Euler.
Ser importante en todos los sistemas simtricos que trabajan
en un mdulo (con excepcin del DES que es un caso muy
especial de cifra no modular) y ms an en los sistemas
asimtricos y en particular RSA ya que los clculos de claves
pblica y privada se harn dentro del cuerpo (n). En ambos
casos la cifra y las claves estarn relacionadas con el CRR.

http://es.wikipedia.org/wiki/Euler
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 257
Funcin de Euler (n)
El Indicador o Funcin de Euler (n) nos entregar el
nmero de elementos del CRR.
Podremos representar cualquier nmero n de estas cuatro
formas:
a) n es un nmero primo.
b) n se representa como n = p
k
con p primo y k entero.
c) n es el producto n = pq con p y q primos.
d) n es un nmero cualquiera, forma genrica:
t
n = p
1
e1
p
2
e2
... p
t
et
= p
i
ei
i=1

http://mathworld.wolfram.com/TotientFunction.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 258
Funcin (n) de Euler cuando n = p
Caso 1: n es un nmero primo
Si n es primo, (n) ser igual a CCR menos el 0.
(n) = n - 1
Si n es primo, entonces CRR = CCR - 1 ya que todos
los restos de n, excepto el cero, sern primos entre s.
CRR(7) = {1,2,3,4,5,6} seis elementos
(7) = n - 1 = 7-1 = 6
(11) = 11-1 = 10; (23) = 23-1 = 22
Ejemplo
Esta expresin se usar en los sistemas de cifra de ElGamal y DSS.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 259
Funcin (n) de Euler cuando n = p
k
Caso 2: n = p
k
(con p primo y k un entero)
(n) = (p
k
) = p
k
- p
k-1
(p
k
) = p
k-1
(p-1)
De los p
k
elementos del CCR, restaremos todos los
mltiplos 1p, 2p, 3p, ...(p
k-1
-1)p y el cero.
CRR(16) = {1,3,5,7,9,11,13,15} ocho elementos
(16) = (2
4
) = 2
4-1
(2-1) = 2
3
1 = 8
(125) = (5
3
) = 5
3-1
(5-1) = 5
2
4 = 254 = 100
Ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 260
Funcin (n) de Euler cuando n = pq
Caso 3: n = pq (con p y q primos)
(n) = (pq) = (p)(q) = (p-1)(q-1)
De los pq elementos del CCR, restaremos todos los
mltiplos de p = 1p, 2p, ... (q - 1)p, todos los
mltiplos de q = 1q, 2q, ... (p - 1)q y el cero.
(pq) = pq - [(q-1) + (p-1) +1] = pq - q - p + 1
(p-1)(q-1)
Esta expresin se usar en el sistema de cifra RSA.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 261
Ejemplo de (n) cuando n = pq
Ejemplo
CRR(15) = {1,2,4,7,8,11,13,14} ocho elementos
(15) = (35) = (3-1)(5-1) = 24 = 8
(143) = (1113) = (11-1)(13-1) = 1012 = 120
Esta ser una de las operaciones ms utilizadas en criptografa.
Es la base del sistema RSA que durante muchos aos ha sido
un estndar y, de hecho, contina sindolo en el ao 2006, al
menos a nivel de uso empresarial y comercial.
Uno de sus usos ms tpicos podemos encontrarlo en las
comunicaciones seguras del entorno Internet mediante SSL,
tanto para el intercambio de claves como en los formatos de
certificados digitales X.509 para firma digital.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 262
Funcin (n) de Euler para n genrico
Caso 4: n = p
1
e1
p
2
e2
... p
t
et
(p
i
son primos)
t
(n) = p
i
ei-1
(p
i
- 1)
i=1
(Esta demostracin no es inmediata)
CRR(20) = {1, 3, 7, 9, 11, 13, 17, 19} ocho elementos
(20) = (2
2
5) = 2
2-1
(2-1)5
1-1
(5-1) = 2
1
114 = 8
(360) = (2
3
3
2
5) = 2
3-1
(2-1)3
2-1
(3-1)5
1-1
(5-1) = 96
Ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 263
Teorema de Euler
Dice que si mcd (a,n) = 1 a
(n)
mod n = 1
Ahora igualamos ax mod n = 1 y a
(n)
mod n = 1
a
(n)
a
-1
mod n = x mod n
x = a
(n)-1
mod n
El valor x ser el inverso de a en el cuerpo n
Nota: Observe que se ha dividido por a en el clculo anterior.
Esto se puede hacer porque mcd (a, n) = 1 y por lo tanto hay
un nico valor inverso en el cuerpo n que lo permite.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 264
Clculo de inversos con Teorema Euler
Ejemplo
Cul es el inverso de 4 en mdulo 9? inv (4, 9)
Pregunta: Existe a x mod n = 4 x mod 9 = 1?
Como mcd (4, 9) = 1 S ... aunque 4 y 9 no sean primos.
(9) = 6 x = 4
6-1
mod 9 = 7 74 = 28 mod 9 = 1
Resulta obvio que: inv (4, 9) = 7 e inv (7, 9) = 4
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 265
Teorema de Euler para n = pq
Si el factor a es primo relativo con n y el valor n es
el producto de 2 primos, seguir cumplindose el
Teorema de Euler tambin en dichos primos.
Por ejemplo:
Si n = pq (n) = (p-1)(q-1)
a / mcd {a, (p,q)} = 1
se cumple que:
a
(n)
mod p = 1
a
(n)
mod q = 1
En el captulo
dedicado a la
cifra con clave
pblica RSA,
relacionaremos
este tema con el
Teorema del
Resto Chino.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 266
Ejemplo Teorema de Euler para n = pq
Sea n = pq = 711 = 77
(n) = (p - 1)(q - 1) = (7 - 1)(11 - 1) = 610 = 60
Si k = 1, 2, 3, ...
Para a = k7 a
(n)
mod n = k7
60
mod 77 = 56
Para a = k11 a
(n)
mod n = k11
60
mod 77 = 22
Para a k7, k11 a
(n)
mod n = a
60
mod 77 = 1
Y se cumple tambin que:
Para a k7, k11 a
(n)
mod p = a
60
mod 7 = 1
a
(n)
mod q = a
60
mod 11 = 1
En caso contrario: a
(n)
mod p = 0
a
(n)
mod q = 0
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 267
Pequeo teorema de Fermat
Si el cuerpo de trabajo es un primo p:
mcd (a, p) = 1 a
(p)
mod p = 1
Entonces a x mod p = 1 y a
(n)
mod p = 1
Adems, en este caso (p) = p-1 por lo que igualando las dos
ecuaciones de arriba tenemos:
a
(p)
a
-1
mod p = x mod p
x = a
p-2
mod p
Luego x ser e inverso de a en el primo p.

http://es.wikipedia.org/wiki/Peque%C3%B1o_teorema_de_Fermat
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 268
Qu hacemos si no se conoce (n)?
Calcular a
i
mod n cuando los valores de i y a son
grandes, se hace tedioso pues hay que utilizar la
propiedad de la reducibilidad repetidas veces.
Si no conocemos (n) o no queremos usar los
teoremas de Euler o Fermat, siempre podremos
encontrar el inverso de a en el cuerpo n usando el
Algoritmo Extendido de Euclides
Este es el mtodo ms rpido y prctico

http://en.wikipedia.org/wiki/Euclid
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 269
Algoritmo Extendido de Euclides AEE
Si mcd (a, n) = 1 y ax mod n = 1 x = inv (a, n)
Luego podemos escribir:
n = C
1
a + r
1
a > r
1
a = C
2
r
1
+ r
2
r
1
> r
2
r
1
= C
3
r
2
+ r
3
r
2
> r
3
... ...
r
n-2
= C
n
r
n-1
+ 1 r
n-1
> 1
r
n-1
= C
n+1
1 + 0
Concluye aqu el algoritmo.
Si volvemos hacia
atrs desde este
valor, obtenemos
el inverso de a en
el cuerpo n.
Si volvemos hacia
atrs desde este
valor, obtenemos
el inverso de a en
el cuerpo n.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 270
Tabla de restos del AEE
Ordenando por restos desde el valor 1 se llega a una expresin
del tipo (k
1
n + k
2
a) mod n = 1, en donde el inverso de a en
n lo dar el coeficiente k
2
puesto que k
1
n mod n = 0.
C
1
C
2
C
3
C
4
... C
n-1
C
n
C
n+1
n a r
1
r
2
r
3
... r
n-2
r
n-1
1
(k
1
n + k
2
a) mod n = 1
Tabla de restos
Vuelta hacia atrs
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 271
Clculo de inversos mediante el AEE
Encontrar el inv (9, 25) por el mtodo de restos de Euclides.
a) 25 = 29 + 7
b) 9 = 17 + 2
c) 7 = 32 + 1
d) 2 = 21 + 0
2 1 3 2
25 9 7 2 1 0
7 = 25 - 29
2 = 9 - 17
1 = 7 - 32
7 = 25 - 29
2 = 9 - 1(25 - 29) = 39 -125
1 = (25 - 29) - 3(39 -125)
1 = 425 - 119 mod 25
El inv (9,25) = -11
-11 + 25 = 14
inv (9, 25) = 14
El inv (9,25) = -11
-11 + 25 = 14
inv (9, 25) = 14
restos
Tabla de Restos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 272
Para encontrar x = inv (A, B)
Hacer (g
0
, g
1
, u
0
, u
1
, v
0
, v
1
, i) = (B, A, 1, 0, 0, 1, 1)
Mientras g
i
0 hacer
Hacer y
i+1
= parte entera (g
i-1
/g
i
)
Hacer g
i+1
= g
i-1
- y
i+1
g
i
Hacer u
i+1
= u
i-1
- y
i+1
u
i
Hacer v
i+1
= v
i-1
- y
i+1
v
i
Hacer i = i+1
Si (v
i-1
< 0)
Hacer v
i-1
= v
i-1
+ B
Hacer x = v
i-1
i y
i
g
i
u
i
v
i
0 - 25 1 0
1 - 9 0 1
2 2 7 1 -2
3 1 2 -1 3
4 3 1 4 -11
5 2 0 -9 25
x = inv (A, B)
x = inv (9, 25)
x = inv (9, 25) = -11+25 = 14
Algoritmo para el clculo de inversos
Ejemplo
-
x
=
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 273
Caractersticas de inversos en n = 27
Para el alfabeto castellano con maysculas (n = 27) tenemos:
x inv (x, 27) x inv (x, 27) x inv (x, 27)
1 1 10 19 19 10
2 14 11 5 20 23
4 7 13 25 22 16
5 11 14 2 23 20
7 4 16 22 25 13
8 17 17 8 26 26

27 = 3
3
luego no existe inverso para a = 3, 6, 9, 12, 15, 18, 21, 24.
Inversos en sistema de
cifra clsico orientado a
alfabeto de 27 caracteres.
inv (x, n) = a inv (a, n) = x
inv (1, n) = 1; inv (n-1, n) = n-1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 274
Qu pasa si mcd (a, n) 1?
Pueden existir inversos?
No, pero...
Si a x mod n = b con b 1 y mcd (a, n) = m, siendo
m divisor de b, habr m soluciones vlidas.
En principio esto no nos sirve en criptografa ...
6x mod 10 = 4 mcd (6, 10) = 2
No existe inv (6, 10) pero ... habr 2 soluciones vlidas
x
1
= 4 64 mod 10 = 24 mod 10 = 4
x
2
= 9 69 mod 10 = 54 mod 10 = 4
?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 275
Teorema del Resto Chino TRC
Si n = d
1
d
2
d
3
... d
t
con d
i
= p
i
ei
(p primo)
El sistema de ecuaciones:
x mod d
i
= x
i
(i = 1, 2, 3, ... t)
tiene una solucin comn en [0, n-1]
t
x = (n/d
i
)y
i
x
i
mod n
i=1
con y
i
= inv [(n/d
i
), d
i
]
En algunos textos lo
ver como Teorema
Chino de los Restos...
aunque es obvio que la
autora pertenece a los
matemticos chinos,
alguien podra poner en
duda si el teorema es
chino o bien si los restos
son los chinos .

http://www.math.hawaii.edu/~lee/courses/Chinese.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 276
Ejemplo de aplicacin del TRC (1)
Encontrar x de forma que : 12 x mod 3.960 = 36
Tenemos la ecuacin genrica: a x
i
mod d
i
= b
n = 3.960 n = 2
3
3
2
511 = d
1
d
2
d
3
d
4
= 89511
a = 12
b = 36 Como n d
4
, existirn 4 soluciones de x
i
ax
1
mod d
1
= b mod d
1
12x
1
mod 8 = 36 mod 8 = 4
ax
2
mod d
2
= b mod d
2
12x
2
mod 9 = 36 mod 9 = 0
ax
3
mod d
3
= b mod d
3
12x
3
mod 5 = 36 mod 5 = 1
ax
4
mod d
4
= b mod d
4
12x
4
mod 11 = 36 mod 11 = 3
4 ecuaciones en x Resolviendo para x
i
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 277
Ejemplo de aplicacin del TRC (2)
x
1
= 1 x
2
= 0
x
3
= 3 x
4
= 3
4 ecuaciones en x
12x
1
mod 8 = 4 4x
1
mod 8 = 4 x
1
= 1
12x
2
mod 9 = 0 3x
2
mod 9 = 0 x
2
= 0
12x
3
mod 5 = 1 2x
3
mod 5 = 1 x
3
= 3
12x
4
mod 11 = 3 1x
4
mod 11 = 3 x
4
= 3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 278
Ejemplo de aplicacin del TRC (3)
Resolvemos ahora la
ecuacin auxiliar del
Teorema Resto Chino
y
i
= inv [(n/d
i
), d
i
]
y
1
= 7 y
2
= 8
y
3
= 3 y
4
= 7
y
1
= inv [(n/d
1
), d
1
] y
1
= inv [(3.960/8), 8] = inv (495, 8)
y
2
= inv [(n/d
2
), d
2
] y
2
= inv [(3.960/9), 9] = inv (440, 9)
y
3
= inv [(n/d
3
), d
3
] y
3
= inv [(3.960/5), 5] = inv (792,5)
y
4
= inv [(n/d
4
), d
4
] y
4
= inv [(3.960/11), 11] = inv (360, 11)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 279
Ejemplo de aplicacin del TRC (4)
Aplicando ecuacin del Resto Chino
para el caso 12 x mod 3.960 = 36
con d
1
= 8, d
2
= 9, d
3
= 5, d
4
= 11:
x
1
= 1 x
2
= 0
x
3
= 3 x
4
= 3
t
x = (n/d
i
)y
i
x
i
mod n
i=1
t
x = (n/d
i
)y
i
x
i
mod n
i=1
y
1
= 7 y
2
= 8
y
3
= 3 y
4
= 7
x = [(n/d
1
)y
1
x
1
+ (n/d
2
)y
2
x
2
+ (n/d
3
)y
3
x
3
+ (n/d
4
)y
4
x
4
]
x = [49571 + 44080 + 79233 + 36073] mod 3.960
x = [3.465 + 0 + 7.128 + 7.560] mod 3.960 = 2.313
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 280
Todo marcha bien en este ejemplo?
Es la solucin de 12x mod 3.960 = 36 nica?
NO
Qu ha sucedido?
Puesto que mcd (a, n) = mcd (12, 3.960) = 12, ya hemos visto
en una diapositiva anterior que habr 12 soluciones vlidas.
x
1
= 3; x
2
= 333; x
3
= 663; x
4
= 993 ..... x
8
= 2.313 ...
x
i
= 3 + (i-1)330 mod 3.960 ... hasta llegar a x
12
= 3.633
Observe que x = 2.313, uno de los valores solucin,
fue el resultado encontrado en el ejercicio anterior.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 281
Otros casos de aplicacin del TRC
Qu sucede ahora con:
12x mod 3.960 = 35?
12x mod 3.960 = 35
mcd (a, n) = 12 no es un
divisor de b = 35, luego
aqu no existe solucin.
Tenamos que
3.960 = 2
3
3
2
511
Qu sucede ahora con:
49x mod 3.960 = 1?
49x mod 3.960 = 1
S existir x, y en este caso es el
inverso de 49. Ser nico ya que
49 = 77 no tiene factores en n.
Primero encuentre x.
Luego vea la solucin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 282
Clculo de inversos usando el TRC (1)
Si 49x mod 3.960 = 1, se pide encontrar x = inv (49, 3.960)
Tenemos la ecuacin genrica: a x
i
mod d
i
= b
n = 3.960 n = 2
3
3
2
511 = d
1
d
2
d
3
d
4
= 89511
a = 49
b = 1
Como n d
1
d
2
d
3
d
4
existirn 4 soluciones de x
i
ax
1
mod d
1
= b mod d
1
49x
1
mod 8 = 1 mod 8 = 1
ax
2
mod d
2
= b mod d
2
49x
2
mod 9 = 1 mod 9 = 1
ax
3
mod d
3
= b mod d
3
49x
3
mod 5 = 1 mod 5 = 1
ax
4
mod d
4
= b mod d
4
49x
4
mod 11 = 1 mod 11 = 1
Resolviendo para x
i
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 283
Clculo de inversos usando el TRC (2)
x
1
= 1 x
2
= 7
x
3
= 4 x
4
= 9
4 ecuaciones en x
49x
1
mod 8 = 1 1x
1
mod 8 = 1 x
1
= 1
49x
2
mod 9 = 1 4x
2
mod 9 = 1 x
2
= 7
49x
3
mod 5 = 1 4x
3
mod 5 = 1 x
3
= 4
49x
4
mod 11 = 1 5x
4
mod 11 = 1 x
4
= 9
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 284
Clculo de inversos usando el TRC (3)
Resolvemos ahora la
ecuacin auxiliar del
Teorema Resto Chino
y
i
= inv [(n/d
i
), d
i
]
y
1
= 7 y
2
= 8
y
3
= 3 y
4
= 7
y
1
= inv [3.960/8), 8] y
1
= inv (495, 8) = inv (7, 8) = 7
y
2
= inv [(3.960)/9, 9] y
2
= inv (440, 9) = inv (8, 9) = 8
y
3
= inv [(3.960)/5, 5] y
3
= inv (792, 5) = inv (2, 5) = 3
y
4
= inv [(3.960)/11, 11] y
4
= inv (360, 11) = inv (8, 11) = 7
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 285
Clculo de inversos usando el TRC (4)
x
1
= 1 x
2
= 7
x
3
= 4 x
4
= 9
t
x = (n/d
i
)y
i
x
i
mod n
i=1
t
x = (n/d
i
)y
i
x
i
mod n
i=1
y
1
= 7 y
2
= 8
y
3
= 3 y
4
= 7
x = [(n/d
1
)y
1
x
1
+ (n/d
2
)y
2
x
2
+ (n/d
3
)y
3
x
3
+ (n/d
4
)y
4
x
4
]
x = [49571 + 44087 + 79234 + 36079] mod 3.960
x = [3.465 + 880 + 1.584 + 2.880] mod 3.960 = 889
En efecto, inv (49, 3.960) = 889 ... pero
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 286
Utilidad del Teorema del Resto Chino
Calcular el inverso de 49 en el cuerpo 3.960 por medio
del Teorema del Resto Chino es algo tedioso ....... y
bastante absurdo como ya lo habr comprobado .
En el desarrollo del propio algoritmo del Teorema del
Resto Chino para encontrar un inverso hay que calcular
otros inversos lo que no tiene sentido alguno...
Para qu sirve entonces este algoritmo?
Entre otras cosas, cuando veamos el sistema de cifra
RSA y el tema dedicado a Protocolos Criptogrficos,
encontraremos una interesante aplicacin del teorema.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 287
La exponenciacin en la cifra asimtrica
Una de las aplicaciones ms interesantes de la
matemtica discreta en criptografa es la cifra
asimtrica en la que la operacin bsica es una
exponenciacin A
B
mod n, en donde n es un
primo grande o un producto de primos grandes.
Esta operacin A
B
mod n se realizar para el
intercambio de clave y en la firma digital.
Cmo hacer estos clculos de forma rpida y
eficiente, sin tener que aplicar reducibilidad? Los
algoritmos de exponenciacin rpida sern la
solucin. Uno de ellos es el que se presenta en la
siguiente diapositiva.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 288
Un mtodo de exponenciacin rpida
En A
B
mod n se representa el exponente B en binario.
Se calculan los productos A
2
j
con j = 0 hasta n-1, siendo n
el nmero de bits que representan el valor B en binario.
Slo se toman en cuenta los productos en los que en la
posicin j del valor B en binario aparece un 1.
Ejemplo
Calcular x = 12
37
mod 221 = 207
12
37
es un nmero de 40 dgitos:
8505622499821102144576131684114829934592
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 289
Ejemplo de exponenciacin rpida
Calcular x = 12
37
mod 221 = 207
B = 37
10
= 100101
2
mod 221
j 0 1 2 3 4 5
A = 12
12 144 183 118 1 1
Bits 5 4 3 2 1 0
x = 121831 mod 221 = 207
interesante...
12
2
mod 221
144
2
mod 221
A
2
j
(primer clculo)
En vez de 36 multiplicaciones y sus reducciones mdulo 221 en cada
paso ... 72 operaciones...
Hemos realizado cinco multiplicaciones (para j = 0 el valor es A) con
sus reducciones mdulo 221, ms dos al final y sus correspondientes
reducciones; en total 14. Observamos un ahorro superior al 80% pero
ste es un valor insignificante dado que los nmeros son muy pequeos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 290
Algoritmo de exponenciacin rpida
Ejemplo: calcule 19
83
mod 91 = 24
Hallar x = A
B
mod n
Obtener representacin
binaria del exponente B
de k bits:
B
2
b
k-1
b
k-2
...b
i
...b
1
b
0
Hacer x = 1
Para i = k-1, ..., 0 hacer
x = x
2
mod n
Si (b
i
= 1) entonces
x = xA mod n
83
10
= 1010011
2
= b
6
b
5
b
4
b
3
b
2
b
1
b
0
x = 1
i=6 b
6
=1 x = 1
2
19 mod 91 = 19 x = 19
i=5 b
5
=0 x = 19
2
mod 91 = 88 x = 88
i=4 b
4
=1 x = 88
2
19 mod 91 = 80 x = 80
i=3 b
3
=0 x = 80
2
mod 91 = 30 x = 30
i=2 b
2
=0 x = 30
2
mod 91 = 81 x = 81
i=1 b
1
=1 x = 81
2
19 mod 91 = 80 x = 80
i=0 b
0
=1 x = 80
2
19 mod 91 = 24 x = 24
19
83
= 1,369458509879505101557376746718e+106 (calculadora Windows). En este
caso hemos realizado slo 16 operaciones frente a 164. Piense ahora qu suceder en
una operacin tpica de firma digital con hash: (160 bits)
(1.024 bits)
mod 1.024 bits .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 291
Cuntos nmeros primos hay?
Por el teorema de los nmeros primos, se tiene que la
probabilidad de encontrar nmeros primos a medida que
stos se hacen ms grandes es menor:
Nmeros primos en el intervalo [2, x] = x / ln x
Primos entre 2 y 2
5
= 32 x/lnx = 32/3,46 = 9 Probabilidad x sea primo: 30,00 %
Primos entre 2 y 2
6
= 64 x/lnx = 64/4,16 = 15 Probabilidad x sea primo: 24,00 %
Primos entre 2 y 2
7
= 128 x/lnx = 128/4,85 = 26 Probabilidad x sea primo: 20,63 %
Primos entre 2 y 2
8
= 256 x/lnx = 256/5,54 = 46 Probabilidad x sea primo: 18,11 %
Primos entre 2 y 2
9
= 512 x/lnx = 512/6,23 = 82 Probabilidad x sea primo: 16,08 %
Primos entre 2 y 2
10
= 1.024 x/lnx = 1.024/6,93 = 147 Probabilidad x sea primo: 14,38 %
Primos entre 2 y 2
11
= 2.048 x/lnx = 2.048/7,62 = 268 Probabilidad x sea primo: 13,10 %
Primos entre 2 y 2
12
= 4.096 x/lnx = 4.096/8,32 = 492 Probabilidad x sea primo: 12,02 %
En el captulo 21 encontrar una tabla con nmeros primos hasta el 1.999.

http://www.utm.edu/research/primes/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 292
Raz primitiva o generador de un primo
Un generador o raz primitiva de un nmero primo
p es aquel valor que, elevado a todos los restos del
cuerpo reducido mdulo n, genera todo el cuerpo.
As, g es un generador si: 1 a p-1
g
a
mod p = b (con 1 b p-1, todos los b )
Sea p = 3 CCR = {1,2} (el cero no es solucin)
Resto 1: no generar nada porque 1
k
mod p = 1
Resto 2: 2
1
mod 3 = 2; 2
2
mod 3 = 1
Luego el 2 es un generador del cuerpo n = 3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 293
Cuntas races hay en un primo p?
Existen muchos nmeros dentro del CRR que son
generadores del cuerpo ... pero:
Su bsqueda no es algo fcil ... alguna solucin?
Conociendo la factorizacin de p-1 (q
1
, q
2
, ..., q
n
)
con q
i
los factores primos de p-1, diremos que un
nmero g ser generador en p si q
i
:
g
(p-1)/qi
mod p 1
En cambio, si algn resultado es
igual a 1, g no ser generador.

http://mathworld.wolfram.com/PrimitiveRoot.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 294
Bsqueda de races primitivas en Z
13
(1)
BSQUEDA DE RACES EN EL CUERPO Z
13
*
Generadores en Z
13
Como p = 13 p-1 = 12 = 2
2
3
Luego: q
1
= 2 q
2
= 3
Si se cumple g
(p-1)/qi
mod p 1 q
i
entonces g ser un generador de p
g: 2,
2
(13-1)/2
mod 13 = 2
6
mod 13 = 12
2
(13-1)/3
mod 13 = 2
4
mod 13 = 3 El resto 2 s es generador
Resto 2
3
(13-1)/2
mod 13 = 3
6
mod 13 = 1
3
(13-1)/3
mod 13 = 3
4
mod 13 = 3 El resto 3 no es generador
Resto 3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 295
Bsqueda de races primitivas en Z
13
(2)
g: 2, 6, 7, Generadores en Z
13
4
(13-1)/2
mod 13 = 4
6
mod 13 = 1
4
(13-1)/3
mod 13 = 4
4
mod 13 = 9 El resto 4 no es generador
Resto 4
5
(13-1)/2
mod 13 = 5
6
mod 13 = 12
5
(13-1)/3
mod 13 = 5
4
mod 13 = 1 El resto 5 no es generador
Resto 5
6
(13 -1)/2
mod 13 = 6
6
mod 13 = 12
6
(13-1)/3
mod 13 = 6
4
mod 13 = 9 El resto 6 s es generador
Resto 6
7
(13-1)/2
mod 13 = 7
6
mod 13 = 12
7
(13-1)/3
mod 13 = 7
4
mod 13 = 9 El resto 7 s es generador
Resto 7
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 296
Bsqueda de races primitivas en Z
13
(3)
g: 2, 6, 7, 11
Generadores en Z
13
8
(13-1)/2
mod 13 = 8
6
mod 13 = 12
8
(13-1)/3
mod 13 = 8
4
mod 13 = 1 El resto 8 no es generador
Resto 8
9
(13-1)/2
mod 13 = 9
6
mod 13 = 1
9
(13-1)/3
mod 13 = 9
4
mod 13 = 9 El resto 9 no es generador
Resto 9
10
(13-1)/2
mod 13 = 10
6
mod 13 = 1
10
(13-1)/3
mod 13 = 10
4
mod 13 = 3 El resto 10 no es generador
Resto 10
11
(13-1)/2
mod 13 = 11
6
mod 13 = 12
11
(13-1)/3
mod 13 = 11
4
mod 13 = 3 El resto 11 s es generador
Resto 11
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 297
Bsqueda de races primitivas en Z
13
(4)
g: 2, 6, 7, 11
Generadores en Z
13
12
(13-1)/2
mod 13 = 12
6
mod 13 = 1
12
(13-1)/3
mod 13 = 12
4
mod 13 = 1 El resto 12 no es generador
Resto 12
La tasa de generadores en el grupo p
ser aproximadamente = (p-1)/(p-1).
Por lo tanto por lo general el 30% de los
elementos del Conjunto Reducido de
Restos de p ser un generador en p.
La tasa de generadores en el grupo p
ser aproximadamente = (p-1)/(p-1).
Por lo tanto por lo general el 30% de los
elementos del Conjunto Reducido de
Restos de p ser un generador en p.
= (12)/12
= 4/12 = 1/3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 298
Generadores en cuerpos de primos seguros
Un nmero primo p se dice que es un primo seguro o primo
fuerte si: p = 2p + 1 (con p tambin primo).
Por ejemplo:
Si p = 11, luego p = 211 + 1 = 23 (es primo y es seguro)
En este caso la tasa de nmeros generadores del cuerpo ser
mayor que en el caso anterior (con p = 13 era del 30%).
Probabilidad:
pseguro
= (p-1)/p-1
Comprobacin
Casi la mitad de los nmeros del
grupo sern generadores en p.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 299
Comprobacin de generadores en p = 2p+1
p = 11; 2p = 22; p = 2p + 1 = 23 primo seguro
Como 2p = p - 1 existirn:
(p) = [p- 1] elementos de orden (p) en el CRR
(11) = 10 = {1,2,3,4,5,6,7,8,9,10}
(2p) = [p- 1] elementos de orden (p-1) en el CRR
(22) = 10 = {1,3,5,7,9,13,15,17,19,21}
= (p- 1)/(p-1) = (p- 1)/2p
Sigue
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 300
Comprobacin de generadores en p = 2p+1
Usando la ecuacin g
(p-1)/qi
mod p
En este caso con q
1
= 2 y q
2
= 11
g
(23-1)/2
mod 23 = g
11
mod 23
g
(23-1)/11
mod 23 = g
2
mod 23
Encontramos los siguientes 10 generadores en p = 23
{5, 7, 10, 11, 14, 15, 17, 19, 20, 21}
Es decir, prcticamente la mitad de los valores de CRR que en
este caso es igual a 23 1 = 22.
Observe cmo se distribuyen los valores de estas races dentro
del primo, en forma de grupos y distribuidos uniformemente.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 301
Utilidad de la raz primitiva en criptografa
Para qu sirve conocer la raz primitiva de p?
La utilidad de este concepto en
criptografa lo veremos cuando
se estudien los sistemas de clave
pblica y, en particular, el
protocolo de intercambio de
claves de Diffie y Hellman.
Tambin se recurrir a esta
propiedad de los primos cuando
estudiemos la firma digital
segn estndar DSS (ElGamal).
?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 302
Clculos en campos de Galois (GF)
Cuando trabajamos en un cuerpo K con dos operaciones + y *,
sabemos que todo elemento distinto del cero tiene un nico inverso
multiplicativo. Si el cuerpo es finito, se denomina tambin cuerpo o
campo de Galois y se denota por GF(p
n
), donde p es un primo y n un
entero 1.
Algunos usos en criptografa:
Sistemas de clave pblica cuando la operacin es C = M
e
mod p
(cifrador ElGamal) o bien RSA usando el Teorema del Resto
Chino para descifrar, como se ver en ese captulo.
Aplicaciones en GF(p
n
), polinomios mdulo p y de grado n de la
forma a(x) = a
n-1
x
n-1
+ a
n-2
x
n-2
+ ... + a
1
x + a
0
: se usar en el
cifrador de flujo A5, el algoritmo Rijndael de AES y los sistemas
de curvas elpticas.

http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Galois.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 303
Elementos de GF(p
n
) como polinomios
Los elementos del cuerpo GF(p
n
) se pueden representar como
polinomios de grado < n con coeficientes a
i
Zp, es decir, en la
forma:
a(x) = a
n-1
x
n-1
+ a
n-2
x
n-2
+ ... + a
1
x + a
0
El cuerpo GF(p
n
) se puede construir escogiendo un polinomio
irreducible p(x) de grado n a coeficientes en Z
p
. Entonces cada
elemento a(x) del cuerpo GF(p
n
) es un resto mdulo p(x).
As, los elementos de GF(2
n
) son polinomios de grado < n con
coeficientes en {0, 1}. De esta manera, GF (2
3
) tiene 8
elementos o restos polinmicos que son: 0, 1, x, x+1, x
2
, x
2
+1,
x
2
+x, x
2
+x+1, los 8 restos de un polinomio de grado n-1 (n = 3).
En el captulo 21 encontrar una tabla de polinomios primitivos.

http://mathworld.wolfram.com/FiniteField.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 304
Suma en campos de Galois GF(2
n
)
Si el mdulo de trabajo es 2 (con restos bits 0 y 1), las
operaciones suma y resta sern un OR Exclusivo:
0 1 mod 2 = 1 1 0 mod 2 = 1
0 0 mod 2 = 0 1 1 mod 2 = 0
0 1 x x+1
0 0 1 x x+1
1 1 0 x+1 x
x x x+1 0 1
x+1 x+1 x 1 0
Restos: 0, 1, x, x+1
CG(2
2
)
Como los resultados debern
pertenecer al cuerpo 2
2
, vamos a
aplicar Reduccin por Coeficientes.
Ejemplo de clculos en mod 2:
x + (x +1) = 2x + 1 mod 2 = 1
1 + (x +1) = 2 + x mod 2 = x
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 305
Producto en campos de Galois GF(2
n
)
La operacin multiplicacin puede entregar elementos
que no pertenezcan al cuerpo, potencias iguales o
mayores que n Reduccin por Exponente.
0 1 x x+1
0 0 0 0 0
1 0 1 x x+1
x 0 x x+1 1
x+1 0 x+1 1 x
Restos: 0, 1, x, x+1
CG(2
2
)
Para la reduccin por exponente, sea el
el polinomio irreducible de grado 2 el
siguiente: p(x) = x
2
+ x + 1.
Luego: x
2
= x + 1
Clculo de (x+1)(x+1) mod 2:
(x + 1)(x + 1) = x
2
+ 2x + 1 mod 2
(x + 1)(x + 1) = (x + 1) + 2x +1 mod 2
(x + 1)(x + 1) = 3x + 2 mod 2 = x
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 306
Operaciones con campos de Galois en AES
La suma y multiplicacin de polinomios dentro de un
cuerpo binario descritas en diapositivas anteriores
conforman las operaciones bsicas del algoritmo de
cifra Advanced Encryption Standard AES, que con el
nombre Rijndael es el estndar mundial desde finales
de 2001, desplazando al ya viejo DES.
En este caso, se trabaja con 8 bits por lo que las
operaciones se realizan en GF(2
8
). En el captulo de
cifra en bloque con clave secreta encontrar ejemplos
de suma y multiplicacin polinmica dentro de este
cuerpo binario para el AES.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 307
Cuestiones y ejercicios (1 de 3)
1. Qu significa para la criptografa el homomorfismo de los enteros?
2. Si una funcin de cifra multiplica el mensaje por el valor a dentro
del cuerpo n, para qu nos sirve conocer el inverso de a en n?
3. En un cuerpo de cifra n, existen siempre los inversos aditivos y los
inversos multiplicativos? Debe cumplirse alguna condicin?
4. En un cuerpo n el inverso de a es a
1
, es ese valor nico? Por qu?
5. Cifraremos en un cuerpo n = 131. Cul es el valor del CCR? Cul
es valor del CRR? Qu valores podemos cifrar?
6. Para cifrar un mensaje M = 104 debemos elegir el cuerpo de cifra
entre el valor n = 127 y n = 133. Cul de los dos usara y por qu?
7. Qu nos dice la funcin (n) de Euler? Para qu sirve?
8. Qu papel cumple el algoritmo extendido de Euclides en la
criptografa? Por qu es importante? En qu se basa?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 308
Cuestiones y ejercicios (2 de 3)
9. Si en el cuerpo n = 37 el inv (21, 37) = 30, cul es el inv (30, 37)?
10. Usando el algoritmo extendido de Euclides calcule los siguientes
inversos: inv (7, 19); inv (21, 52), inv (11, 33), inv (47, 41).
11. Cuntas soluciones x
i
hay en la expresin 8x mod 20 = 12?
Explique lo que sucede. Tendra esto inters en criptografa?
12. Qu viene a significar el Teorema del Resto Chino? Aunque an
no lo ha estudiado, le ve alguna utilidad en criptografa?
13. Calcule inv (121, 393) usando el Teorema del Resto Chino.
14. Defina lo que es una raz primitiva o generador de un cuerpo. Es
necesario que ese cuerpo sea un primo?
15. Cuntos generadores podemos esperar en el cuerpo p = 17? Y si
ahora p = 7, cuntos generadores habr? Comprubelo calculando
todos los exponentes del conjunto completo de restos de p = 7.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 309
Cuestiones y ejercicios (3 de 3)
16. Cmo se define un primo seguro? Cuntos generadores tiene?
17. A partir de los valores p = 13, p = 17, p = 19 y p = 23 queremos
obtener un primo seguro, con cul o cules de ellos lo logramos?
18. Usando el algoritmo de exponenciacin rpida calcule los siguientes
valores: 23
32
mod 51; 100
125
mod 201; 1.000
100.000
mod 2.500.
19. Comente el ahorro en nmero de operaciones del ejercicio anterior.
20. Compruebe los resultados (si puede) con calculadoras de Windows
3.1; Windows 95 y actual. Puede encontrar los ejecutables de estas
calculadoras en el software de la asignatura de nombre CripClas.
21. Qu sucede con estas calculadoras para nmeros muy grandes?
22. En GF(2
n
) reduzca por coeficientes 5x
5
+ x
4
+ 2x
3
+ 3x
2
+ 6x + 2.
23. Reduzca (x
3
+ 1)(x
2
+ x +1) por exponente en GF(2
n
) usando como
polinomio primitivo p(x) = x
4
+ x + 1, es decir x
4
= x + 1.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 310
Prcticas del tema 7 (1/2)
Software CripClas:
http://www.criptored.upm.es/software/sw_m001c.htm
1. Calcule 237 mod 10; 1452 mod 314; 31 mod 49; 3565 mod 115.
2. Calcule mcd (384, 42); mcd (1234; 56); mcd (23, 5); mcd (371, 97).
3. Calcule (7); (77); (131); (200).
4. Calcule inv (5, 27); inv (12, 133); inv (21, 25); inv (63, 189).
Software Fortaleza:
http://www.criptored.upm.es/software/sw_m001e.htm
1. Calcule 2
8
mod 200; 14
1001
mod 5321; 4902564
1053501
mod 34090062349.
2. Repita estos clculos usando las calculadoras de Windows 3.1 y Windows
95 que encontrar en la carpeta de CripClas. Calcule ahora estas potencias:
10
15
mod 61 y 300
21
mod 45. Qu ha pasado?
Este bug originado por un uso indebido de la operacin mdulo con nmeros en formato coma flotante
(descubierto de forma fortuita, todo hay que decirlo) fue notificado por este autor va email a Microsoft
en el ao 1995 y subsanado en la edicin de la calculadora de Windows 98 y versiones posteriores.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 311
Prcticas del tema 7 (2/2)
3. Calcule si son primos: 23; 371; 19841; 27603543067280716373.
4. Calcule mcd (13824552, 9315188); mcd (6276359, 8725413290).
5. Calcule inv (324762387638768, 893247293874293879873498787987).
6. Calcule 87363553226
6530982763424323401728
mod 98774655534452522982343.
7. Compruebe que una exponenciacin de 50 dgitos
100 dgitos
mod 200 dgitos
tarda aproximadamente 30 segundos en resolverse con este programa.
Software ExpoCrip:
http://www.criptored.upm.es/software/sw_m001l.htm
1. Calcule las races primitivas de los siguientes nmeros: 5; 19; 31; 57; 61.
2. Compruebe que estos nmeros son primos seguros: 23; 503; 1019; 10007.
3. Calcule las races primitivas de los primos seguros del apartado 2.
4. Compare el porcentaje de races primitivas encontradas en nmeros primos
normales y en primos seguros o fuertes.
Captulo 8
Teora de la Complejidad Algortmica
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 31 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 313
Introduccin a la teora de la complejidad
La teora de la complejidad de los algoritmos permitir, entre otras
cosas, conocer la fortaleza de un algoritmo y tener as una idea de
su vulnerabilidad computacional.
Complejidad Computacional
Los algoritmos pueden clasificarse segn su tiempo de ejecucin,
en funcin del tamao u orden de la entrada. Hablamos as de
complejidad:
Polinomial comportamiento similar al lineal
Polinomial No Determinsta comportamiento exponencial
Esto dar lugar a problemas fciles y problemas difciles cuyo
uso ser muy interesante en la criptografa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 314
Operaciones bit en la suma
Si deseamos sumar dos nmeros binarios n y m, ambos de k bits
realizaremos k operaciones bit puesto que cada operacin bsica
con los dgitos de una columna es una operacin bit.
Recuerde que 0+0 = 0, 0+1=1, 1+0 = 1, 1+1 = 0 con bit 1 de acarreo.
Si un nmero tiene menos bits, se rellena con ceros por la izquierda.
Ejemplo: encontrar el nmero de operaciones bit necesarias en la
suma en binario de 13+7 1101 + 0111 (de k = 4 bits)
1 1 1 1 (bits de acarreo)
1 1 0 1
+ 0 1 1 1
1 0 1 0 0
Cada operacin bsica que hacemos con una columna se conoce
como operacin bit, luego necesitamos k = 4 operaciones bit.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 315
Operaciones bit en la multiplicacin
Para la multiplicacin de un nmero n de k bits por un nmero
m de h bits, el nmero de operaciones bit ser igual a 2kh.
Suponemos que k h.
Recuerde que 0x0 = 0, 0x1=0, 1x0 = 0, 1x1 = 1.
Ejemplo: encontrar el nmero de operaciones bit necesarias en la
multiplicacin en binario 10x5 1010 x 101 (4 y 3 bits)
1 0 1 0 x 1 0 1
1 0 1 0
0 0 0 0
+ 1 0 1 0 (procedemos ahora a sumar)
1 1 0 0 1 0
Como cada operacin bsica entre dos bits es una operacin bit,
hemos realizado hk = 34 multiplicaciones y luego kh = 43
sumas, es decir en total 2kh = 24 operaciones bit.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 316
Las operaciones dependern del tamao de la entrada por lo
que esta complejidad se expresar en trminos del tiempo T
necesario para el clculo del algoritmo y del espacio S que
utiliza en memoria, y se expresar mediante una funcin
f (n), donde n es el tamao de la entrada.
Esta funcin ser una aproximacin pues el resultado exacto
depender de la velocidad del procesador.
f (n) = O(g(n))
Y se define as: f = O(n) ssi c
o
,n
o
/ f(n) c
o
g(n)
Ejemplo
La funcin O(n)

http://www.mm.informatik.tu-darmstadt.de/courses/2002ws/ics/lectures/v14.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 317
Complejidad de una funcin f(n)
Si f (n) = 4n
2
+ 2n + 5 f = O(n
2
)?
se cumple que c
o
g(n) = c
o
n
2
f (n)? Sea c
o
= 6
c
o
n
o
c
o
n
o
2
f (n) = 4n
2
+ 2n + 5 c
o
n
2
f (n)?
6 1 6 11 No
6 2 24 25 No
6 3 54 38 S
6 4 96 77 S
Se cumple
siempre
Luego, la complejidad de f (n) es exponencial.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 318
Tiempos de ejecucin
En la expresin O(n) aparecer el trmino que domina al
crecer el valor de n.
El tiempo de ejecucin de un algoritmo T
1
que realiza
2n+1 operaciones es de tipo O(n); uno T
2
que realiza
3n
2
+n+3 operaciones ser de tipo O(n
2
), etc.
Para realizar la suma de la diapositiva anterior necesitamos
O(n) = O(log n) operaciones bit y para el caso de la
multiplicacin, stas sern O(nm) = O(log n log m)
operaciones bit.
+ Operacin binaria: n+m (de k bits cada uno)
Operacin binaria: nm (de k y h bits respectivamente)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 319
Algoritmos de complejidad polinomial
Un algoritmo se dice que tiene tiempo de ejecucin
polinomial (no confundir con lineal) si ste depende
polinmicamente del tamao de la entrada.
Si la entrada es de tamao n y t es un entero, el
nmero de operaciones bit ser O(log
t
n).
Si t = 1, el sistema es lineal Suma
Si t = 2, el sistema es cuadrtico
Producto
Si t = 3, el sistema es cbico
Mximo Comn
Divisor (Euclides)
Ejemplos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 320
Ejemplo de complejidad polinomial
Pregunta: El tiempo de ejecucin de un algoritmo es
O(log
3
n). Si doblamos el tamao de la entrada, en
cunto aumentar este tiempo?
Solucin: En el primer caso el tiempo es O(log
3
n) y en
el segundo O(log
3
2n). Para este sistema polinomial, el
tiempo se incrementar slo en log
3
2 operaciones bit.
Estos son los denominados problemas fciles y son
los que involucrarn un proceso de cifra y descifrado
(o firma) por parte del o de los usuarios autorizados.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 321
Algoritmos de complejidad no determinista
Un algoritmo se dice que tiene tiempo de ejecucin
polinomial no determinista (en este caso exponencial)
si ste depende exponencialmente del tamao de la
entrada.
Si la entrada es de tamao n y t es un entero, el
nmero de operaciones bit ser O(n
t
).
Para t = 2, ser exponencial de orden 2
Para t = 3, ser exponencial de orden 3
n!
Ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 322
Ejemplo de complejidad no determinista
Pregunta: El tiempo de ejecucin de un algoritmo es
O(n
3
). Si doblamos el tamao de la entrada, en cunto
aumentar este tiempo?
Solucin: En el primer caso el tiempo es O(n
3
) y en el
segundo O((2n)
3
) = O(8n
3
). El tiempo para este sistema
exponencial, se incrementar en 8 operaciones bit.
Estos son los denominados problemas difciles y son a
los que deber enfrentarse un criptoanalista o atacante
que desea romper una cifra o la clave de un usuario.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 323
Comparativas de complejidad
Los algoritmos polinmicos y exponenciales se
comparan por su complejidad O(n
t
).
Polinmico constante O(1)
Polinmico lineal O(n)
Polinmico cuadrtico O(n
2
)
Polinmico cbico O(n
3
) ... etc.
Exponencial O(d
h(n)
)
donde d es una constante y h(n) un polinomio
Si suponemos un ordenador capaz de realizar 10
9
instrucciones por segundo obtenemos este cuadro:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 324
Tabla comparativa de tiempos
Entrada O(n) O(n
2
) O(n
3
) O(2
n
)
n = 10 10
-8
seg 10
-7
seg 10
-6
seg 10
-6
seg
n = 10
2
10
-7
seg 10
-5
seg 10
-3
seg 410
13
aos
n = 10
3
10
-6
seg 10
-3
seg 1 seg Muy grande
Incrementos de un
orden de magnitud
Computacionalmente
imposible
Entrada/10
9
: Para n = 100 O(n
2
) = 100
2
/10
9
= 10
-5
seg
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 325
Problemas de tipo NP
En criptografa nos interesan las funciones f(x) de un solo
sentido, es decir:
Fcil calcular f(x) pero muy difcil calcular f
-1
(x)
salvo que conozcamos un secreto o trampa.
Porque dan lugar a problemas de tipo NP, polinomiales no
deterministas, computacionalmente difciles de tratar:
Problema de la mochila
Problema de la factorizacin
Problema del logaritmo discreto
Problema logaritmo discreto en curvas elpticas
Otros
Definicin del
problema y
ejemplos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 326
Enunciado:
Dada una mochila de determinadas dimensiones de alto,
ancho y fondo, y un conjunto de elementos de distintos
tamaos menores que ella y de cualquier dimensin, ...
es posible llenar la mochila (completa) con distintos
elementos de ese conjunto sin repetir ninguno de ellos?
El problema de la mochila
Es un problema de tipo NP en el
que el algoritmo debe realizar en
cada paso una seleccin iterativa
entre diferentes opciones.

http://en.wikipedia.org/wiki/Knapsack_problem
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 327
S
1
= a
1
+a
2
+a
3
S
2
= a
1
+a
2
S
3
= a
1
+a
3
S
4
= a
1
S
5
= a
2
+a
3
S
6
= a
2
S
7
= a
3
S
8
=
S = a
1
+ a
2
+ a
3
A = {a
1
, a
2
, a
3
}
Se incluye a
1
en la suma S?
S No
Se incluye a
2
en la suma?
S No S No
Se incluye a
3
?
S No S No S No S No
S
1
S
2
a
1
a
3
a
3
a
2
S
3
S
4
S
7
S
8
S
5
S
6
a
3
a
3
a
2
Sea una mochila
con 4 elementos
{2, 4, 9, 10}
Cuntas sumas
posibles hay?
Solucin: 2
4
= 16
, 2, 4, 6,
9, 10, 11, 12,
13, 14, 15, 16,
19, 21, 23, 25.
Los resultados son todos
distintos: una casualidad
Reptalo con
{2, 4, 6, 10}
Ejemplo del problema de la mochila

Hemos tenido que evaluar 2


3
= 8 valores (carcter exponencial)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 328
Inters de las mochilas en criptografa
Por qu tiene inters este problema en criptografa?
a) Es de tipo NP completo: su resolucin por lo general
implica una complejidad exponencial. Luego, ser
difcil de atacar o criptoanalizar.
b) Existe un caso en el que su resolucin es lineal y, si la
solucin existe, sta ser nica. Este caso se dar cuando
A = {a
1
, a
2
, a
3
, .., a
n
} est ordenado de menor a mayor
de forma que a
i
es mayor que la suma de los a
j
que le
preceden: a
2
> a
1
; a
3
> a
1
+ a
2
; a
4
> a
1
+ a
2
+ a
3
; etc.
Esto dar lugar a los criptosistemas de mochila
tramposa que veremos en un prximo captulo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 329
Problemas usados en criptografa asimtrica
Los problemas ms usados en la criptografa asimtrica o de
clave pblica actualmente son:
- El problema de la factorizacin de nmeros grandes PFNG
- El problema del logaritmo discreto PLD
En estos casos, cuando los nmeros son del orden de mil bits
(unos 310 dgitos) su clculo se vuelve computacionalmente
imposible debido al tiempo que deberamos emplear.
Si lo desea, puede comprobar los ejemplos de las siguientes
diapositivas usando el software de prcticas Fortaleza de libre
distribucin y que puede descargarlo desde esta direccin.

http://www.criptored.upm.es/software/sw_m001e.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 330
El problema de la factorizacin PFNG
Dado un nmero n que es el resultado del producto de dos o
ms primos, se pide encontrar estos factores.
Por ejemplo, cuando el valor n = pq es muy grande, el
Problema de la Factorizacin de Nmeros Grandes PFNG se
vuelve computacionalmente intratable.
No obstante, el caso inverso, dado dos nmeros primos p y q,
encontrar el resultado pq = n, se trata de un problema de tipo
polinomial.
Este problema se usar en la generacin del par de claves del
sistema de cifra con clave pblica RSA.

http://home.netcom.com/~jrhowell/math/factor.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 331
Compruebe lo que significa el PFNG
Clculo fcil o polinomial (funcin directa)
Calcule a mano los siguientes productos de dos primos y
tome el tiempo aproximado que tarda en la operacin:
a) 1331 b) 113131 c) 1.0131.031 calcule...
Clculo difcil o no polinomial (funcin inversa)
Usando la criba de Eratstenes, factorice en dos primos los
siguientes nmeros y vuelva a tomar el tiempo empleado:
a) 629 b) 17.399 c) 1.052.627 calcule...
En el caso a) son primos de 2 dgitos, en b) de 3 y en c) de 4.
No vale usar
calculadora...
Qu puede concluir
de estos clculos?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 332
Solucin al ejemplo anterior
Dificultad polinomial (rpido)
a) 1331 = 403 b) 113131 = 14.803 c) 10131031 = 1.044.403
A medida que aumenta el tamao de la entrada, el tiempo de
clculo aumenta proporcionalmente con el nmero de dgitos.
Dificultad no determinista (lento)
a) 629 b) 17.399 c) 1.052.627
Da igual que el algoritmo sea ste muy elemental u otro ms eficaz;
aqu resulta evidente que el tiempo de clculo aumenta mucho al
incrementar en un dgito los nmeros en cuestin. Es no lineal.
Solucin: Los resultados a), b) y c) son el producto de los nmeros
primos inmediatamente superiores a los que se usaron en el clculo
polinomial es decir 17*37; 127*137; 1019*1033.
Paciencia, un
computador va a
sufrir lo mismo ...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 333
El problema del logaritmo discreto PLD
Dado un par de enteros y que pertenecen al Campo de
Galois GF(p), se pide encontrar un entero x de forma tal que
x = log

mod p.
Si el valor p es muy grande, el Problema del Logaritmo
Discreto PLD es computacionalmente intratable.
No obstante, el caso inverso, dado dos nmeros y x,
encontrar =
x
mod p es un problema polinomial.
Este problema se usar, entre otros, en la creacin de las
claves del sistema de cifra con clave pblica ElGamal y en el
protocolo de intercambio de clave de Diffie y Hellman.

http://en.wikipedia.org/wiki/Discrete_logarithm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 334
El PLD en su funcin directa o fcil
Clculo fcil o polinomial (funcin directa)
Calcule a mano las siguientes exponenciaciones mod p y
tome el tiempo aproximado que tarda en la operacin:
a) 5
4
mod 7 b) 8
17
mod 41 c) 92
11
mod 251
5
4
= 625
8
17
= 2.251.799.813.685.248
92
11
= 3.996.373.778.857.415.671.808
Solucin:
5
4
mod 7 = 2
8
17
mod 41 = 39
92
11
mod 251 = 217
Haciendo uso de la propiedad de reducibilidad
vista en el apartado de matemticas discretas,
podr bajar significativamente el tiempo de
clculo. Este tiempo ser de tipo polinomial
segn el tamao de la entrada.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 335
El PLD y su funcin inversa o difcil
Clculo difcil o no determinista (funcin inversa)
Aunque existen varios algoritmos para este tipo de clculos
(al igual que para la factorizacin) use la fuerza bruta que se
explica a continuacin para encontrar los siguientes valores y
vuelva a tomar el tiempo empleado:
a) log
5
2 mod 7 b) log
8
39 mod 41 c) log
92
217 mod 251
Aplicando fuerza bruta en el 1
er
caso (la base elevada a todos los restos de
p) al final se obtiene que log
5
2 mod 7 = 4.
5
1
mod 7 = 5 5
2
mod 7 = 4 5
3
mod 7 = 6
5
4
mod 7 = 2 5
5
mod 7 = 3 5
6
mod 7 = 1
En trmino medio deber recorrer la mitad del
espacio de valores para encontrarlo ...
Solucin:
log
5
2 mod 7 = 4
log
8
39 mod 41 = 17
log
92
217 mod 251 = 11
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 336
Logaritmo discreto con generador
En el cuerpo p = 13, el 2 es un generador, luego:
log
2
1 mod 13 = 0 log
2
2 mod 13 = 1 log
2
3 mod 13 = 4
log
2
4 mod 13 = 2 log
2
5 mod 13 = 9 log
2
6 mod 13 = 5
log
2
7 mod 13 = 11 log
2
8 mod 13 = 3 log
2
9 mod 13 = 8
log
2
10 mod 13 = 10 log
2
11 mod 13 = 7 log
2
12 mod 13 = 6
2
1
mod 13 = 2 2
2
mod 13 = 4 2
3
mod 13 = 8
2
4
mod 13 = 3 2
5
mod 13 = 6 2
6
mod 13 = 12
2
7
mod 13 = 11 2
8
mod 13 = 9 2
9
mod 13 = 5
2
10
mod 13 = 10 2
11
mod 13 = 7 2
12
mod 13 = 1
Es
decir
Se cumplir siempre que a
0
mod p = a
p-1
mod p = 1.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 337
Logaritmo discreto con no generador
En p=13 el 2
era generador,
pero no as el
nmero 3...
Luego
3
0
mod 13 = 1 3
1
mod 13 = 3 3
2
mod 13 = 9
3
3
mod 13 = 1 3
4
mod 13 = 3 3
5
mod 13 = 9
3
6
mod 13 = 1 3
7
mod 13 = 3 3
8
mod 13 = 9
3
9
mod 13 = 1 3
10
mod 13 = 3 3
11
mod 13 = 9
log
3
1 mod 13 = 0 log
3
2 mod 13 = NE log
3
3 mod 13 = 1
log
3
4 mod 13 = NE log
3
5 mod 13 = NE log
3
6 mod 13 = NE
log
3
7 mod 13 = NE log
3
8 mod 13 = NE log
3
9 mod 13 = 2
log
3
10 mod 13 = NE log
3
11 mod 13 = NE log
3
12 mod 13 = NE
NE: no existe el logaritmo discreto en ese cuerpo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 338
Hay ms funciones NP?
Existen otros muchos problemas matemticos que dan
lugar a problemas del tipo NP, algunos de ellos basados
en estas funciones unidireccionales one-way functions que
tanto interesan en criptografa.
Las dos ltimas funciones vistas, la factorizacin de
nmeros grandes y el logaritmo discreto, son las que ms
uso tienen de momento en la criptografa actual.
En la siguiente pgina Web encontrar una interesante
lista con 88 problemas de tipo NP.

http://www.csc.liv.ac.uk/~ped/teachadmin/COMP202/annotated_np.html
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 339
Cuestiones y ejercicios (1 de 2)
1. Deseamos sumar de forma binaria el nmero 15 (1111) y el nmero
10 (1010), ambos de k = 4 bits. Haga la suma binaria y verifique
que el nmero de operaciones bit desarrolladas es k = 4.
2. Si multiplicamos en binario 101011, donde k = 4 bits y h = 2 bits,
compruebe que el nmero de operaciones bit realizadas es 2kh.
3. Por qu son interesantes los problemas de tipo NP en criptografa?
4. Defina el problema de la mochila y su posible utilizacin en un
sistema de cifra.
5. Es siempre nica la solucin de una mochila? Piense sobre el
particular y su trascendencia si las utilizamos sin ningn control en
sistemas de cifra.
6. Factorice mentalmente el valor n = 143. Intente hacer lo mismo
para n = 1.243. Qu opina ahora del problema de la factorizacin?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 340
Cuestiones y ejercicios (2 de 2)
7. Se le ocurre alguna forma de utilizar este problema de un solo
sentido para cifrar informacin?
8. A partir de la ecuacin = x

mod p, defina el problema del


logaritmo discreto.
9. Calcule 7
13
mod 31 = C usando la propiedad de reducibilidad.
Compruebe con Fortaleza que el exponente 13 = log
7
C mod 31.
10. Qu utilidad le encuentra a este problema en criptografa?
11. Qu relacin existe entre generadores de un cuerpo, el conjunto
completo de restos y el clculo del logaritmo discreto?
12. Qu sucede si deseamos encontrar un logaritmo discreto que no
existe, por ejemplo log
5
19 mod 31?
Nota: si usa el software Fortaleza, deber detener la operacin al no
contemplarse en su cdigo este hecho .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 341
Prcticas del tema 8 (1/2)
Software Fortaleza:

http://www.criptored.upm.es/software/sw_m001e.htm
1. Encuentre el tiempo que tarda el programa en calcular los siguientes
productos de primos: 23x61; 281x829; 3001x5477; 26317x63901.
2. Encuentre cunto tarda el programa en realizar un producto de dos
nmeros de 300 dgitos cada uno.
3. Factorice por Pollard Rho los siguientes productos y encuentre el tiempo
que tarda el programa: 1403; 232949; 16436477; 1681682617.
4. Factorice por Pollard Rho los nmeros de 16 dgitos que se indican y
observe el tiempo empleado: 3745667802664727; 4044773133465121;
3907781049017851; 41710432708253. Saque conclusiones.
5. Cunto tarda el programa en demostrar la primalidad de estos nmeros
50000000000000000059; 500000000000000000000000000009;
5000000000000000000000000000000000000021; de 20, 30 y 40 dgitos?
Comprelos con los tiempos de factorizacin y saque conclusiones.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 342
Prcticas del tema 8 (2/2)
6. Encuentre el tiempo que tarda el programa en calcular las siguientes
potencias modulares: 35
1215
mod 3456; 7824
87652456
mod 34654783;
891278265367
876254356758778234002462
mod 762488740981009687272345.
7. Si d = dgitos, cunto tiempo tarda el programa en calcular una potencia
en los siguientes rangos de valores: 50d
100d
mod 100d; 50d
100d
mod 150d,
50d
100d
mod 200d, 50d
100d
mod 250d? Saque conclusiones.
8. Si d = dgitos, cunto tiempo tarda el programa en calcular una potencia
en los siguientes rangos de valores: 50d
25d
mod 200d; 50d
50d
mod 200d,
50d
75d
mod 200d, 50d
100d
mod 200d? Saque conclusiones.
9. Compruebe las siguientes potencias y luego mediante los algoritmos de
Bsqueda Exhaustiva, Paso Gigante - Paso Enano y Pohlig - Hellman,
calcule el correspondiente logaritmo discreto. El mdulo p es primo y es
un generador en p. Observe los tiempos de ejecucin y saque conclusiones.
- 401
357
mod 87211 = 31211 log
401
31211 mod 87211 = 357.
- 246
8924
mod 384773 = 67350 log
246
67350 mod 384773 = 8924.
Captulo 9
Sistemas de Cifra Clsicos
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 41 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 344
Le interesa la historia?
Si le interesa el tema de la historia de la criptologa as como aquellas
mquinas que se usaban desde tiempos remotos hasta mediados del siglo
XX, un tema verdaderamente apasionante, anexo a este libro electrnico
encontrar el documento de libre distribucin Criptografa Clsica en
formato Word y PDF, con ms de 100 pginas y 70 ejemplos resueltos.
Aunque su inters actual es mnimo, en estas diapositivas se ha incluido, a
modo de resumen, lo ms interesante de este tipo de cifra, lo que podr
servirle al menos como cultura general.
Encontrar ms informacin y algunos sencillos ejemplos de cifra bsica
en el software que puede descargar desde la pgina Web:

http://www.criptored.upm.es/guiateoria/gt_m001a.htm

http://www.abcdatos.com/tutoriales/tutorial/l10448.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 345
Cifradores e informacin en Web
9 Existe una gran cantidad de sistemas y cifradores de los
denominados clsicos.
9 En este captulo slo se presentan la Esctala, Polybios, Csar,
Afn, Vigenre, Playfair, Hill y Vernam, as como los ataques
segn mtodos de Kasiski y Gauss Jordan.
Puede ampliar informacin y ver una interesante galera de
fotografas sobre estas mquinas y pioneros de la criptografa
en la pgina Web de la NSA, National Security Agency
Y la descripcin de varios algoritmos en el siguiente enlace:

http://www.nsa.gov/public/publi00007.cfm

http://library.thinkquest.org/27158/concept1_1.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 346
Clasificacin histrica de criptosistemas
La clasificacin actual de los sistemas de cifra se basa en el
tratamiento de la informacin (cifrado en bloque vs cifrado en
flujo) o bien en el tipo de clave utilizada en la cifra (sistemas de
clave secreta v/s sistemas de clave pblica), pero segn su relacin
con la historia de la criptografa podramos clasificarlos como:
Sistemas de Cifra Clsicos versus Sistemas de Cifra Modernos
Esta no es ni mucho menos la mejor clasificacin desde el punto de
vista de la ingeniera y la informtica ... pero permitir comprobar
el desarrollo de estas tcnicas de cifra, hoy en da rudimentarias y
simples, desde una perspectiva histrica y culturalmente interesante
para un ingeniero. Adems, nos permitir criptoanalizar con cierta
facilidad prcticamente todos estos sistemas y comprobar tambin
las teoras de Shannon sobre las estadsticas del lenguaje.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 347
Una primera aproximacin histrica
El uso de tcnicas criptogrficas es casi tan antiguo como las
culturas de los primeros pueblos de nuestro planeta.
Ya en el siglo V antes de J.C. un pueblo griego usaba tcnicas
elementales de cifra para proteger su informacin.
Se pretenda garantizar en aquellos das slo la confidencialidad
y la autenticidad de los mensajes. A finales del siglo XX se han
aadido la disponibilidad y, ltimamente, el no repudio.
Los mayores avances se logran en la Primera y Segunda Guerra
Mundiales, especialmente durante y despus de esta ltima. Los
pases en conflicto posean verdaderas empresas con un gran
nmero de matemticos, cuya funcin era romper los mensajes
cifrados de los teletipos intercambiados por sus enemigos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 348
Herramientas de la criptografa clsica
Tanto mquinas, artilugios de cifra, como los algoritmos
que trabajaban matemticamente dentro de un cuerpo
finito n, hacen uso de dos tcnicas bsicas orientadas a
caracteres y que, muchos siglos despus, las propondr
Shannon como herramientas para fortalecer la cifra:
Tcnicas de sustitucin: Los caracteres o letras del mensaje
en claro se modifican o sustituyen por otros elementos o
letras en la cifra. El criptograma tendr entonces caracteres
distintos a los que tena el mensaje en claro.
Tcnicas de transposicin o permutacin: los caracteres o
letras del mensaje en claro se redistribuyen sin modificarlos
y segn unas reglas, dentro del criptograma. El criptograma
tendr entonces los mismos caracteres del mensaje en claro
pero con una distribucin o localizacin diferente.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 349
Clasificacin de los criptosistemas clsicos
y algunos
ejemplos...
TRANSPOSICIN SUSTITUCIN
MONOGRMICA POLIGRMICA NO PERIDICA PERIDICA
ALFABETO
ESTNDAR
ALFABETO
MIXTO
DIGRMICA
N-GRMICA
LINEALES PROGRESIVOS
CSAR
PLAYFAIR
HILL
VERNAM
ENIGMA
VIGENRE
AFN
OTROS
ALFABETO
ESTNDAR
ALFABETO
MIXTO
OTROS
COLUMNAS
FILAS
SERIES
GRUPOS MONOALFABTICA POLIALFABTICA
ESCTALA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 350
Hitos histricos en la criptografa
La criptografa clsica abarca desde tiempos inmemoriales
hasta la mitad del siglo XX.
El punto de inflexin en esta clasificacin la marcan tres
hechos relevantes:
En el ao 1948 se publica el estudio de Claude Shannon
sobre la Teora de la Informacin.
En 1974 aparece el estndar de cifra DES.
Y en el ao 1976 se publica el estudio realizado por
Whitfield Diffie y Martin Hellman sobre la aplicacin de
funciones matemticas de un solo sentido a un modelo de
cifra, denominado cifrado con clave pblica.
C
I
F
R
A
D
O
D
I
G
I
T
A
L

http://www.cs.jhu.edu/~rubin/courses/sp03/papers/diffie.hellman.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 351
Primer cifrador por transposicin: esctala
La esctala era usada en el siglo V a.d.C. por el pueblo
griego de los lacedemonios. Consista en un bastn en el
que se enrollaba una cinta de cuero y luego se escriba en
ella el mensaje de forma longitudinal.
Al desenrollar la cinta, las letras aparecern desordenadas.
Para descifrar el criptograma y recuperar el mensaje en
claro habr que enrollar dicha cinta en un bastn con el
mismo dimetro que el usado en el extremo emisor y leer
el mensaje de forma longitudinal. La clave del sistema se
encuentra en el dimetro del bastn. Se trata de una cifra
por transposicin pues los caracteres del criptograma son
los mismos que en el texto en claro pero estn distribuidos
de otra forma dentro del criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 352
Mtodo de cifra de la esctala
Bastn y cinta para cifrar
A S I C I F R A B
A N C O N L A E S
C I T A L A
El texto en claro es:
M = ASI CIFRABAN CON LA ESCITALA
El texto cifrado o criptograma ser:
C = AAC SNI ICT COA INL FLA RA AE BS
En ese bastn resida la
fortaleza de un pueblo.
Por ello, y como smbolo de
poder, el bastn de mando que
se le entrega al alcalde de una
ciudad en la ceremonia de su
nombramiento, proviene de
estos tiempos tan remotos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 353
Primer cifrador por sustitucin: Polybios
Es el cifrador por sustitucin de caracteres ms antiguo que se
conoce (siglo II a.d.C.) pero como duplica el tamao del texto
en claro, con letras o nmeros, ... no fue tan buena la idea.
A B C D E 1 2 3 4 5
A A B C D E 1 A B C D E
B F G H IJ K 2 F G H IJ K
C L M N O P 3 L M N O P
D Q R S T U 4 Q R S T U
E V W X Y Z 5 V W X Y Z
M
1
= QU BUENA IDEA
C
1
= DA DE AE AB DE AE
CC AA BD AD AE EA
M
2
= LA DEL GRIEGO
C
2
= 31 11 14 15 31 22
42 24 15 22 34
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 354
El cifrador del Csar
En el siglo I a.d.C., Julio Csar usaba este cifrador. El
algoritmo consiste en el desplazamiento de tres espacios
hacia la derecha de los caracteres del texto en claro. Es
un cifrador por sustitucin monoalfabtico en el que las
operaciones se realizan mdulo n, siendo n el nmero de
elementos del alfabeto (en aquel entonces el latn).
M
i
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
C
i
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Alfabeto de cifrado del Csar para castellano mod 27
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 355
Ejemplo de cifra del Csar en mod 27

M
i
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
C
i
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Cifrado: C
i
= M
i
+ 3 mod 27 Descifrado: M
i
= C
i
- 3 mod 27
M = EL PATIO DE MI CASA ES PARTICULAR
C = H SDWLR GH OL FDVD HV SDUWLFXDU
Cada letra se cifrar siempre igual. Es una gran debilidad y hace que
este sistema sea muy vulnerable y fcil de atacar, simplemente usando
las estadsticas del lenguaje. Puede ver la tabla de frecuencias tpicas
del lenguaje castellano en el captulo 21 de este libro.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 356
Criptoanlisis del cifrador por sustitucin
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Cifrado: C
i
= (M
i
+ b) mod 27 Descifrado: M
i
= (C
i
b) mod 27
La letra ms frecuente del criptograma la hacemos coincidir con
la ms frecuente del lenguaje, la letra E, y encontramos as b.
C = LZAHL ZBTHW YBLIH XBLKL ILYOH ZLYCH ROKH
Frecuencias observadas en el criptograma: L (7); H (6); Z (3); B (3);
Y (3); I (2); K (2); O (2); A (1); T (1); W (1); X (1); C (1); R (1).
Es posible que la letra E del lenguaje se cifre como L. Comprobamos
adems si la letra A (segunda ms frecuente) se cifra como H:
E + b mod 27 = L b = L - E mod 27 = 11 4 mod 27 = 7 %
A + b mod 27 = H b = H - A mod 27 = 7 0 mod 27 = 7 &
M = ESTA ES UNA PRUEBA QUE DEBERIA SER VALIDA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 357
Cifrador por sustitucin afn mod 27
Cifrado: C
i
= aM
i
+ b mod 27
Descifrado: M
i
= (C
i
b) a
-1
mod 27 donde a
-1
= inv (a, 27)
El factor de multiplicacin a deber ser primo relativo con el
cuerpo n (en este caso 27) para que exista el inverso a
-1
.
El factor de desplazamiento puede ser cualquiera: 0 b 26.
El ataque a este sistema es tambin muy elemental. Se relaciona el
elemento ms frecuente del criptograma a la letra E y el segundo a
la letra A, planteando un sistema de 2 ecuaciones. Si el texto tiene
varias decenas de caracteres este ataque prospera; caso contrario,
podra haber ligeros cambios en esta distribucin de frecuencias.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 358
Criptoanlisis a la cifra afn mod 27
C: NAQF EKNDP NCIVU FPUAN EJUIP FCNER NFRF UNPLN
AFPFQ TFPEI JRTE FPKI KTAPF LIKI AIPU RCUJI
PCIVU CUNER IRLNP TJIAF NEOI CFLNC NLUFA TEF
Caracteres ms frecuentes en el criptograma: F = 14; N = 13; I = 12
Con E y A las ms frecuentes, el ataque falla. En un segundo
intento suponemos la letra A ms frecuente que la E, luego:
F = (aA + b) mod 27 (a0 + b) mod 27 = 5 b = 5
N = (aE + b) mod 27 (a4 + 5) mod 27 = 13
Entonces a = (13-5) inv (4, 27) mod 27 = 8 7 mod 27 = 2
C
i
= (2M
i
+ 5) mod 27 M
i
= (C
i
5)inv (2, 27) = (C
i
5)14 mod 27
M: EL GRAN PEZ SE MOVA SILENCIOSAMENTE A TRAVS DE LAS
AGUAS NOCTURNAS, PROPULSADO POR LOS RTMICOS
MOVIMIENTOS DE SU COLA EN FORMA DE MEDIA LUNA.
(Comienzo de la novela Tiburn de Peter Benchley)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 359
El cifrador de Vigenre
Este cifrador polialfabtico soluciona la debilidad del cifrado
del Csar en que una letra se cifra siempre igual. Se usa una
clave K de longitud L y se cifra carcter a carcter sumando
mdulo n el texto en claro con los elementos de esta clave.
C
i
= M
i
+ K
i
mod 27
Sea K = CIFRA y el mensaje M = HOLA AMIGOS
M = H O L A A M I G O S
K = C I F R A C I F R A sumando mod 27...
C = J W P R A P L G S
Ms de un alfabeto: la letra
O se cifra de forma distinta.
Observe que el criptograma P se obtiene de un texto L y de un texto I.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 360
Es Vigenre un algoritmo seguro?
Si la clave de Vigenre tiene mas de 6 caracteres distintos, se
logra una distribucin de frecuencias en el criptograma del
tipo normal, es decir ms o menos plana, por lo que se logra
difuminar la redundancia del lenguaje.
Aunque pudiera parecer que usando una clave larga y de
muchos caracteres distintos, y por tanto varios alfabetos de
cifrado, Vigenre es un sistema de cifra seguro, esto es falso.
La redundancia del lenguaje unido a tcnicas de criptoanlisis
muy sencillas, como los mtodos de Kasiski y del ndice de
Coincidencia, permiten romper la cifra y la clave de una
manera muy fcil y con mnimos recursos. En la siguiente
diapositiva veremos un ataque por el mtodo de Kasiski.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 361
Ataque por el mtodo de Kasiski
El mtodo de Kasiski consiste en buscar repeticiones de cadenas de
caracteres en el criptograma. Si estas cadenas son mayores o iguales a
tres caracteres y se repiten ms de una vez, lo ms probable es que esto
se deba a cadenas tpicas del texto en claro (trigramas, tetragramas, etc.,
muy comunes) que se han cifrado con una misma porcin de la clave.
Si se detectan estas cadenas, la distancia entre las mismas ser mltiplo
de la longitud de la clave. Luego, el mximo comn divisor entre esas
cadenas es un candidato a ser la longitud de la clave, digamos L.
Dividimos el criptograma en L subcriptogramas que entonces han sido
cifrados por una misma letra de la clave y en cada subcriptograma
hacemos un ataque simple ahora de tipo estadstico monoalfabtico.
La idea es buscar ahora a travs de los tres caracteres ms frecuentes en
cada subcriptograma las posiciones relativas de las letras A, E y O que
en castellano estn separadas por 4 y 11 espacios. La letra de la posicin
que ocupe la letra A (A = 0) ser entonces la letra clave correspondiente.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 362
Cadenas repetidas en ataque de Kasiski
Sea el criptograma C de 404 caracteres que vamos a criptoanalizar el siguiente:
PBVRQ VICAD SKAS DETSJ PSIED BGGMP SLRPW RPWY EDSDE DRDP CRCPQ MNPWK
UBZVS FNVRD MTIPW UEQVV CBOVN UEDIF QLONM WNUVR SEIKA ZYEAC EYEDS ETFPH
LBHGU ESOM EHLBX VAEEP UELI SEVEF WHUNM CLPQP MBRRN BPVI MTIBV VEID
ANSJA MTJOK MDODS ELPWI UFOZM QMVNF OHASE SRJWR SFQCO TWVMB JGRPW VSUEX
INQRS JEUEM GGRBD GNNIL AGSJI DSVSU EEINT GRUEE TFGGM PORDF OGTSS TOSEQ
OTGR RYVLP WJIFW XOTGG RPQRR JSKET XRNBL ZETGG NEMUO TXJAT ORVJH RSFHV
NUEJI BCHAS EHEUE UOTIE FFGYA TGGMP IKTBW UEEN IEEU.
Entre otras, se observan las siguientes cadenas (subrayadas) en el criptograma:
3 cadenas GGMP, separadas por 256 y 104 posiciones.
2 cadenas YEDS, separadas por 72 espacios.
2 cadenas HASE, separadas por 156 espacios.
2 cadenas VSUE, separadas por 32 espacios.
Luego el perodo de la clave puede ser mcd (256, 104, 72, 156, 32) = 4. La clave
tendr cuatro caracteres, por lo tanto tomaremos del criptograma el carcter 1, el
5, el 9, etc. para formar el primer subcriptograma C
A
; luego el 2, el 6, el 10,
etc. para formar el subcriptograma C
B
, y lo mismo para subcriptogramas C
C
y C
D
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 363
Paso a cifrado monoalfabtico en Kasiski
Tenemos ahora 4 subcriptogramas de slo 101 letras c/u (muy importante tenerlo
en cuenta en las estadsticas) que han sido cifrados con la misma letra de la clave:
C
A
= PQAAEPDMREEDCNUSRIECNIONSAAETLUOLAUIEULMNIIEAAOOLU
MNARSOMRSISERNAISIRTMDTOORLIORRENENOAVSNIAEOFAMTEI
C
B
= BVDTSBPPPDPPPBFDPQBUFNUEZCDFBMBESFNPBBBNMKDPF
QFSJFTBPUNJMBNGDUNUFPFSSRPFTPJTBTETTJFUBSUTFTPBE
C
C
= VISSSIGSWWSDCQWZNMWVOEQMVIYESPHEEXEEEWMQRPMVISTMSWO
MOEWQWJWEQEGDISSETEGOOSETYWWGQSXLGMXOHHECEEIGGIWEE
C
D
= RCKDJEGLRYDRRMKVVTUVVDLWRKEYEHGSHVPLVHCPRVTVDJJDEIZ
VHSRCVGVXRUGGLJVEGEGRGTQGVJXGRKRZGUJRRVJHHUEYGKUNU
La frecuencia relativa observada en cada uno de los subcriptogramas es:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
12 0 2 3 12 1 0 0 11 0 0 5 6 9 1 10 2 1 9 7 4 5 1 0 0 0 0
0 14 1 6 4 12 1 0 0 4 1 0 3 6 8 0 14 2 1 6 9 7 1 0 0 0 1
0 0 2 2 18 0 7 3 7 1 0 1 7 1 0 6 2 6 1 12 3 0 4 12 3 2 1
0 0 3 5 7 0 12 6 1 7 5 4 1 1 0 0 2 1 13 2 3 6 14 1 2 3 2
C
A
C
B
C
C
C
D
Luego, la letra ms frecuente del subcriptograma debera corresponder a la
letra E del texto en claro, la segunda a la letra A y la tercera a la letra O.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 364
La regla AEO en el ataque de Kasiski
Si la posicin relativa de la letra A es el valor 0, entonces la letra E est
cuatro espacios a la derecha de la A (m+4 mod 27) y la letra O est 15
espacios a la derecha de la letra A (m+15 mod 27) y a 11 de la letra E.
Buscaremos en cada subcriptograma C
i
las tres letras ms frecuentes y
que cumplan adems con esa distribucin: 0 +4 +11 mod 27.
Es suficiente contar con estas tres letras para que el ataque prospere. No
obstante, podemos afinar un poco ms el ataque si tomamos en cuenta la
siguiente letra frecuente en castellano S, en la posicin (m+19) mod 27.
En el ejemplo para C
A
se observa que la nica solucin que cumple con
esto es la que coincide la AEO (12, 12, 10) luego la letra clave sera la A.
Para C
B
elegimos BFP (14, 12, 14) por lo que la letra clave sera B. Para
C
C
elegimos EIS (18, 7, 12) por lo que la letra clave sera E. Para C
D
elegimos RVG (13, 14, 12) por lo que la letra clave sera R.
Con la clave K = ABER obtenemos Para que la cosa no me sorprenda....
Al ser ste un texto largo y con sentido, hemos encontrado la clave $.
(artculo del periodista Andrs Aberasturi sobre la Navidad, Espaa, ao 1995)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 365
El ndice de coincidencia IC
El estudio del ndice IC queda fuera del contexto de estos apuntes. Si bien
tiene relacin con el nmero de alfabetos, no es efectivo como Kasiski.
26
IC = p
i
2
para castellano mod 27: IC = p
A
2
+ p
B
2
+ ... + p
Z
2
= 0,072
i=0
Si el IC es menor que 0,5 es muy probable que no se trate de un cifrador
monoalfabtico sino polialfabtico con un periodo 2 o mayor.
As, cuando encontramos una longitud L de la clave por el mtodo de
Kasiski y rompemos el criptograma en L subcriptogramas, aplicando el
concepto del ndice de coincidencia IC podemos comprobar que cada uno
de ellos se trata efectivamente de un cifrado monoalfabtico cuando para
cada subcriptograma este valor se acerca a 0,072 o lo supera.
En el ejemplo anterior, una vez roto el criptograma en cuatro tenemos:
IC
CA
= 0,080; IC
CB
= 0,091; IC
CC
= 0,083; IC
CD
= 0,082 ... perfecto &
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 366
Cifrador poligrmico de Playfair
Los cifrados anteriores se hacan carcter a carcter, es decir eran
monogrmicos. Para aumentar la seguridad de la cifra y romper las
estadsticas, podemos cifrar por poligramas, bloques de caracteres.
Un cifrador inventado a finales del siglo XIX es el de Playfair que
trabaja con una matriz de 5x5 letras, cifrando por digramas. Si el
texto en claro tiene un nmero impar de elementos, se rellena con
una letra preestablecida, por ejemplo la letra X.
Z Y X W V
U T S R Q
P O N/ M L
K I/J H G F
E D C B A
Si M
1
M
2
estn en la misma fila, C
1
C
2
son los dos caracteres de la derecha.
Si M
1
M
2
estn en la misma columna,
C
1
C
2
son los dos caracteres de abajo.
Si M
1
M
2
estn en filas y columnas
distintas, C
1
C
2
son los dos caracteres de
la diagonal, desde la fila de M
1
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 367
Ejemplo de cifra con Playfair
Si la clave K = BEATLES y eliminamos la letra (ingls), cifre el
mensaje M = WITH A LITTLE HELP FROM MY FRIENDS.
Z Y X W V
U R Q P O
N M K I/J H
G F D C S
L T A E B
M = WI TH AL IT TL EH EL PF RO MX MY FR IE ND SX
C = EP BM TB ME LB BI AB RC UP KY RT MY PC KG DV
Estos sistemas tambin son criptoanalizables pues en el criptograma C
persisten algunas propiedades del lenguaje; en este caso la distribucin de
digramas tpicos; por ejemplo en el castellano en, de, mb, etc.
Se rompe la doble
MM agregando una
X y se rellena al
final tambin con X
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 368
El cifrador de matrices de Hill
En 1929 el matemtico Lester Hill propone un sistema de cifra
usando una matriz como clave, cifrando Ngramas de forma que:
C
1
k
11
k
12
k
13
... k
1N
M
1
C
2
k
21
k
22
k
23
... k
2N
M
2
C
3
k
31
k
32
k
33
... k
3N
M
3
.. .. .. .. .. ..
C
N
k
N1
k
N2
k
N3
... k
NN
M
N
=
X mod n
La matriz clave K debe tener inversa K
-1
en el cuerpo de cifra n.
Luego, como K
-1
= T
ADJ(K)
/|K| mod n, en donde ADJ(K) es la
matriz adjunta, T es la traspuesta y |K| el determinante, este ltimo
valor |K| no podr ser cero ni tener factores en comn con n puesto
que est en el denominador (concepto de inverso ya visto).
Si el texto en claro no es mltiplo del bloque N, se rellena con
caracteres predeterminados, por ejemplo la letra X o la Z.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 369
Ejemplo de cifrado de Hill
Sea M = AMIGO CONDUCTOR y la clave K la que se muestra:
C
1
16 4 11 0
C
2
8 6 18 12
C
3
15 19 15 8
=
X mod 27
M = AMI GOC OND UCT ORZ
C
1
= (160 + 412 + 118) mod 27 = 136 mod 27 = 1 = B
C
2
= (80 + 612 + 188) mod 27 = 216 mod 27 = 0 = A
C
3
= (150 + 1912 + 158) mod 27 = 348 mod 27 = 24 = X
C = BAX PMA BJE XAF EUM (compruebe Ud. los dems trigramas)
K = PELIGROSO ser la clave
simblica. Se cifrar el primer
trigrama: AMI = 0, 12, 8.
Para descifrar encontramos K
-1
= inv (K, 27) = K
-1
= T
ADJ(K)
/|K| mod n
|K| = 16(615 - 1918) 4(815 - 1518) + 11 (819 - 156) mod 27 = 4
Encontramos luego la matriz adjunta de K, la trasponemos cambiando
filas por columnas y la multiplicamos por inv (|K|, 27) = inv (4, 27) = 7
con lo que se obtiene la matriz que se indica (hgalo Ud.)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 370
Ejemplo de descifrado de Hill
18 26 15
M = K
-1
x C mod n y K
-1
= 24 6 13
11 24 10
C = BAX PMA BJE XAF EUM y la clave K
-1
es la que se muestra:
M
1
18 26 15 1
M
2
24 6 13 0
M
3
11 24 10 24
=
X mod 27
Descifrado del primer trigrama
del criptograma: BAX = 1, 0, 24.
C = BAX PMA BJE XAF EUM
M
1
= (181 + 260 + 1524) mod 27 = 378 mod 27 = 0 = A
M
2
= (241 + 60 + 1324) mod 27 = 336 mod 27 = 12 = M
M
3
= (111 + 240 + 1024) mod 27 = 251 mod 27 = 8 = I
M = AMI GOC OND UCT ORZ (compruebe Ud. los dems trigramas)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 371
Es seguro el cifrador de Hill?
Si con el sistema de Hill se cifran bloques de 8 caracteres,
incluso en un cuerpo tan pequeo como n = 27 el espacio de
claves aumenta de forma espectacular, comparable con DES.
Si el mdulo de cifra es un primo p, entonces el nmero de
claves vlidas es cercano al mximo posible: p
x
donde x = d
2
,
con d el tamao de N-grama o de la matriz clave.
No obstante, el sistema no es seguro. Debido a su linealidad
ser muy fcil hacer un ataque con texto claro conocido segn
el mtodo de Gauss Jordan y encontrar as la matriz clave K.
Esto es debido a que aparecen los llamados vectores unitarios
en el criptograma o en el texto en claro, o bien los obtenemos
aplicando este mtodo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 372
Ataque al cifrado de Hill por Gauss Jordan
El mtodo consiste en escribir una matriz 2N-grmica con los elementos
del texto en claro y los elementos del criptograma. En esta matriz
realizamos operaciones lineales (multiplicar filas por un nmero y restar
filas entre s) con el objeto de obtener los vectores unitarios.
Por ejemplo podemos romper la matriz clave K teniendo:
M = ENU NLU GAR DEL AMA NCH ADE CUY ONO ...
C = WVX IDQ DDO ITQ JGO GJI YMG FVC UT ...
E N U W V X 4 13 21 23 22 24
N L U I D Q 13 11 21 8 3 17
G A R D D O 6 0 18 3 3 15
D E L I T Q 3 4 11 8 20 17
A M A J G O = 0 12 0 9 6 15
N C H G J I 13 2 7 6 9 8
A D E Y M G 0 3 4 25 12 6
C U Y F V C 2 21 25 5 22 2
O N O U T 15 13 15 21 14 20
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 373
Operaciones en la matriz de Gauss Jordan
Vamos a dejar en la primera columna un nmero uno en la fila
primera y todas las dems filas un cero. Luego multiplicamos el
vector (4 13 21 | 23 22 24) por el inv (4, 27) = 7. As obtenemos
7(4 13 21 | 23 22 24) mod 27 = (1 10 12 | 26 19 6). Si esto no se
puede hacer con la primera fila movemos los vectores. Hecho esto
vamos restando las filas respecto de esta primera como se indica:
a) 2 fila = 2 fila 131 fila mod 27
b) 3 fila = 3 fila 61 fila mod 27
c) 4 fila = 4 fila 31 fila mod 27
d) 5 fila ya tiene un 0
e) 6 fila = 6 fila 131 fila mod 27
f) 7 fila ya tiene un 0
g) 8 fila = 8 fila 21 fila mod 27
h) 9 fila = 9 fila 151 fila mod 27
4 13 21 23 22 24
13 11 21 8 3 17
6 0 18 3 3 15
3 4 11 8 20 17
0 12 0 9 6 15
13 2 7 6 9 8
0 3 4 25 12 6
2 21 25 5 22 2
15 13 15 21 14 20
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 374
Matriz clave de Hill criptoanalizada
Repetimos este procedimiento ahora para algn vector en cuya
segunda columna tenga un nmero con inverso en 27 y lo mismo
para la tercera columna, moviendo si es preciso los vectores.
Como la mitad izquierda de la matriz 2N era el texto el claro, la
parte derecha de la matriz con vectores unitarios corresponder a
la traspuesta de la clave.
1 0 0 2 5 7
0 1 0 3 5 8
0 0 1 4 6 9
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
2 3 4
K = 5 5 6
7 8 9

Compruebe que la clave es


la utilizada en este cifrado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 375
El cifrador de Vernam
En 1917 Gilbert Vernam propone un cifrador por sustitucin binaria con
clave de un solo uso (one-time pad) basado en el cdigo Baudot de 5 bits:
La operacin de cifra es la funcin XOR.
Usa una secuencia cifrante binaria y aleatoria S que se obtiene a
partir de una clave secreta K compartida por emisor y receptor.
El algoritmo de descifrado es igual al de cifrado por la involucin de
la funcin XOR.
La clave ser tan larga o ms que el mensaje y se usar una sola vez.
Criptograma M M
S S
Clave K Clave K
Algoritmo
Determinstico
Algoritmo
Determinstico

secuencia cifrante
MENSAJE MENSAJE
C
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 376
Ejemplo de cifrado de Vernam
Usando el cdigo Baudot (vea los cdigos en la tabla de
Baudot que encontrar en el Captulo 21) se pide cifrar:
M = BYTES
K = VERNAM
Solucin:
BV = 1100111110 = 00111 = U
YE = 1010100001 = 10100 = H
TR = 1000001010 = 11010 = G
EN = 0000101100 = 01101 = F
SA = 0010100011 = 00110 = I
C = UHGFI
El esquema de Vernam es el
nico cifrador matemticamente
seguro y, por tanto, imposible de
criptoanalizar pues la clave K se
usa una sola vez (one-time pad),
es aleatoria y tanto o ms larga
que el propio mensaje. En este
caso, no cabe ningn ataque por
estadsticas del lenguaje o por
correlacin de bits.

http://www.pro-technix.com/information/crypto/pages/vernam_base.html
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 377
Cuestiones y ejercicios (1 de 3)
LAS SIGUIENTES PREGUNTAS ESTN RELACIONADAS
CON ESTOS APUNTES, EL LIBRO ELECTRNICO DE
CRIPTOGRAFA CLSICA Y EL SOFTWARE DE PRCTICAS
CRIPTOCLSICOS QUE SE HA COMENTADO.
1. Qu significa cifrar por sustitucin y qu por transposicin?
2. Por qu que el mtodo esctala es un cifrado por permutacin?
3. Cul es la peor debilidad que tiene el sistema de cifra del Csar?
4. Ciframos el mensaje M = HOLA QUE TAL con un desplazamiento
de 6 caracteres, cul es el criptograma? Y si desplazamos 27?
5. Por qu no podemos cifrar en el cuerpo n = 27 con la funcin de
cifra C = (12M + 5) mod n? Qu condicin deber cumplirse?
6. Cmo podramos atacar un sistema de cifra tipo Csar? Y si la
cifra es de tipo afn como el de la pregunta anterior?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 378
Cuestiones y ejercicios (2 de 3)
7. Cifre el mensaje M = VAMOS A VERLO con un sistema afn
siendo el valor a = 5 y b = 2, usando slo operaciones modulares.
8. En un sistema de cifra de Vigenre la clave a usar puede ser CERO
o bien COMPADRE, cul de las dos usara y por qu?
9. Cifre segn Vigenre el mensaje M = UN VINO DE MESA con la
clave K = BACO sin usar la tabla, slo con operaciones modulares.
10. Por qu se dice que Vigenre es un cifrador polialfabtico?
11. Cmo podramos atacar un cifrado polialfabtico peridico?
12. Cifre con el mtodo de Vernam binario en mensaje M = VIDA y
clave K = TACOS suponiendo texto ASCII. Y si la clave es ahora
K = TACO? Cmo se comporta este cifrador si K es aleatoria?
13. Qu significa cifrar por homfonos? Qu es el cifrado de Beale?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 379
Cuestiones y ejercicios (3 de 3)
14. Nombre dos mquinas de cifrar que se usaron en la Segunda Guerra
Mundial y diga de forma sencilla cmo funcionaban.
15. Se cifra por permutaciones usando para ello una distribucin en
columnas con clave. Qu similitud tendr luego este sistema de
cifra con algunas operaciones hechas en el DES?
16. Cifre con Hill digrmico el mensaje mod 27 M = ADIOS AMIGO.
Qu matriz simblica puede usar: GATO, GOTA, MISA o MESA?
17. Cifre y descifre con la matriz trigrmica simblica PELIGROSO el
mensaje HOY ES UN HERMOSO DIA.
18. Si K puede ser tan grande, por qu no es segura la cifra de Hill?
19. Qu significan los vectores unitarios? Es fcil encontrarlos?
20. Cmo funciona el ataque de Gauss Jordan? Obtenga la matriz clave
del ejercicio 17 mediante Gauss Jordan.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 380
Prcticas del tema 9 (1/4)
Software CripClas:

http://www.criptored.upm.es/software/sw_m001c.htm
1. Con el algoritmo del Csar, b = 3, cifre, descifre y criptoanalice el mensaje
M = En el cifrado del Csar el criptoanlisis es muy elemental.
2. Con el algoritmo de cifra por multiplicacin (decimacin) con a = 5, cifre,
descifre y criptoanalice, segn estadsticas del lenguaje, el mensaje M = El
cifrado por multiplicacin exige la existencia del inverso en el cuerpo.
3. Con el algoritmo de cifra afn (a = 7, b = 10) cifre, descifre y criptoanalice,
segn estadsticas del lenguaje, el mensaje M = Si tenemos un texto de
unos cuantos caracteres, el ataque al criptograma es muy sencillo.
4. Con el algoritmo de Vigenre cuya clave es K = GOL, cifre, descifre y
criptoanalice el mensaje M = El jugador se adentr al rea y de un golpe
preciso introdujo el baln en la portera de aquel desgraciado portero. Era
el presagio de lo que iba a ser aquella fatdica tarde para Manolo, justo en
el da en que debutaba en aquel estadio.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 381
Prcticas del tema 9 (2/4)
5. Cifre y descifre en modo clave continua el mensaje M = Aqu se suma
carcter a carcter la cadena de entrada con la clave siendo K = La clave
ser un texto de longitud igual o mayor que el texto en claro.
6. Cifre con Vernam el mensaje M con la clave numrica K. M = Una cifra
muy interesante. K = 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0. Al copiar la
clave, respete los espacios en blanco.
7. Cifre con Vernam binario el mensaje M de 18 caracteres con la clave K de
26 caracteres. M = una cifra por bits. K = CIFRADOR BINARIO DE
VERNAM. Compruebe la cifra del los tres primeros caracteres.
8. Cifre con Playfair el mensaje M usando la clave K. M = Un cifrador
digrmico. K = JUEGO LIMPIO. Se eliminan K y W de la matriz. Observe
la matriz de cifra. Descifre el criptograma y observe el relleno.
9. Cifre con Hill digrmico mod 27 el mensaje M = UN CIFRADO DE HILL
con la clave k
11
= 7; k
12
= 4; k
21
= 13; k
22
= 17. Descifre el criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 382
Prcticas del tema 9 (3/4)
Software Hill:

http://www.criptored.upm.es/software/sw_m001i.htm
1. Calcule el determinante y la inversa para comprobar si las siguientes
matrices digrmicas son vlidas para cifrar en el cuerpo 27:
k
11
= 7; k
12
= 10; k
21
= 12; k
22
= 19.
k
11
= 8; k
12
= 5; k
21
= 2; k
22
= 8.
k
11
= 18; k
12
= 15; k
21
= 7; k
22
= 8.
2. Calcule el determinante y la inversa para comprobar si las siguientes
matrices trigrmicas son vlidas para cifrar en el cuerpo 27:
k
11
= 4; k
12
= 12; k
13
= 9; k
21
= 5; k
22
= 0; k
23
= 13; k
31
= 6; k
32
= 8; k
33
= 3.
k
11
= 3; k
12
= 12; k
13
= 9; k
21
= 5; k
22
= 0; k
23
= 13; k
31
= 6; k
32
= 8; k
33
= 3.
3. Calcule la inversa de la siguiente matriz pentagrmica en modulo 27:
k
11
= 3; k
12
= 2; k
13
= 1; k
14
= 0; k
15
= 2; k
21
= 5; k
22
= 5; k
23
= 3; k
24
= 7;
k
25
= 1; k
31
= 8; k
32
= 7; k
33
= 6; k
34
= 5; k
35
= 5; k
41
= 4; k
42
= 9; k
43
= 6;
k
44
= 8; k
45
= 3; k
51
= 3; k
52
= 9; k
53
= 8; k
54
= 7; k
55
= 3.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 383
Prcticas del tema 9 (4/4)
4. Para la matriz del ejercicio anterior, calcule el determinante y la inversa al
trabajar en mdulo 37 y en mdulo 191.
5. Guarde la matriz clave que se indica con el nombre pract14libro.mtr. Abra
ahora el editor del programa y guarde como pract14libro.txt el siguiente
texto M = AHORA VAMOS A CIFRAR POR TRIGRAMAS.
k
11
= 1; k
12
= 1; k
13
= 1; k
21
= 3; k
22
= 5; k
23
= 7; k
31
= 2; k
32
= 1; k
33
= 2.
6. Descifre el criptograma anterior. Observe el relleno introducido.
7. Criptoanalice la matriz de cifra anterior mediante Gauss-Jordan, indicando
que desea crear un archivo de seguimiento con nombre pract14libroataque.
Una vez que haya encontrado la matriz clave de cifra, abra este archivo y
observe las operaciones que el programa ha tenido que hacer para ello.
8. Cree matrices clave y documentos para cifrar, descifrar y criptoanalizar en
mdulo 191 y observe las opciones que le entrega el programa.
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 35 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
Curso de Seguridad Informtica y Criptografa JRA
v 4.1
Captulo 10
Introduccin a la Cifra Moderna
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 385
Los criptosistemas modernos, cuya cifra en bits est orientada a todos
los caracteres ASCII o ANSI, usan por lo general una operacin
algebraica en Z
n
, un cuerpo finito, sin que necesariamente este mdulo
deba corresponder con el nmero de elementos del alfabeto o cdigo
utilizado. Es ms, nunca coinciden: siempre ser mucho mayor el
cuerpo de trabajo que el alfabeto usado.
Su fortaleza se debe basar en la imposibilidad computacional de
descubrir una clave secreta nica, en tanto que el algoritmo de cifra es
(o al menos debera serlo) pblico.
En la siguiente direccin web, encontrar un amplio compendio de
sistemas de cifra y criptografa.
Un par de ideas bsicas
Conceptos elementales

http://en.wikipedia.org/wiki/Category:Cryptography
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 386
Clasificacin de los criptosistemas
MTODOS DE CIFRA MODERNA
MTODOS DE CIFRA MODERNA
CIFRADO EN FLUJO CIFRADO EN BLOQUE
A5; RC4
CLAVE SECRETA CLAVE PBLICA
DES; T-DES; CAST;
IDEA; AES; RC5 ...
EXPONENCIACIN SUMA/PRODUCTO
Cifrado propio de la
informacin en una
sesin en Internet o en
una red. Tambin se
usa en cifrado local.
Uso en intercambio
de clave y en firma
digital.
CE: intercambio clave y firma
digital. Mochilas: proteccin de
SW mediante dispositivo HW.
Telefona mvil,
Internet y WLAN.
y algunos
ejemplos...
RSA; ElGamal
Curvas Elpticas/Mochilas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 387
Usa el concepto de cifra propuesto por Vernam,
que cumple con las ideas de Shannon sobre
sistemas de cifra con secreto perfecto, esto es:
a) El espacio de las claves es igual o mayor que el
espacio de los mensajes.
b) Las claves deben ser equiprobables.
c) La secuencia de clave se usa una sola vez y luego
se destruye (sistema one-time pad).
Una duda: Ser posible satisfacer la condicin a)?
Introduccin al cifrado de flujo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 388
Espacio de Claves Espacio de Mensajes?
1) La secuencia de bits de la clave deber enviarse al
destinatario a travs de un canal que sabemos es
inseguro (recuerde que an no conoce el protocolo
de intercambio de clave de Diffie y Hellman).
2) Si la secuencia es infinita, desbordaramos la
capacidad del canal de comunicaciones.
Espacio de claves y del mensaje
Qu solucin damos
a este problema?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 389
La solucin est en generar una secuencia pseudoaleatoria
con un algoritmo determinstico a partir de una semilla de n
bits. Podremos generar as secuencias con perodos de 2
n
bits, un valor ciertamente muy alto puesto que n debe ser
del orden de las centenas. Esta semilla es la que se enviar
al receptor mediante un sistema de cifra de clave pblica y
un algoritmo de intercambio de clave que veremos en
prximos captulos y as no sobrecargamos el canal.
El concepto de semilla en un generador
Si por un canal supuestamente seguro enviamos esa clave
secreta tan larga ... por qu no enviamos directamente el
mensaje en claro y nos dejamos de historias?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 390
El mensaje en claro se leer bit a bit.
Se realizar una operacin de cifra, normalmente
la funcin XOR, con una secuencia cifrante de
bits S
i
que debe cumplir ciertas condiciones:
Tener un perodo muy alto (ya no infinito)
Tener propiedades pseudoaleatorias (ya no aleatorias)
XOR
Secuencia cifrante S
i
Mensaje M
Bits del Criptograma
XOR
Mensaje M
Secuencia cifrante S
i
C
C
Tcnica de cifra en flujo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 391
El mensaje se agrupa en bloques, por lo
general de 8 16 bytes (64 128 bits) antes
de aplicar el algoritmo de cifra a cada bloque
de forma independiente con la misma clave.
Introduccin a la cifra en bloque
Cifrado con Clave Secreta
Hay algunos algoritmos muy conocidos por su uso en
aplicaciones bancarias (DES), correo electrnico (IDEA,
CAST), comercio electrnico (Triple DES) y el nuevo
estndar (AES Rijndael).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 392
Si el bloque fuese muy pequeo, por ejemplo
uno o dos bytes, esto facilitara un ataque por
estadsticas del lenguaje. Se tratara de un
cifrado por monogramas o digramas muy dbil.
Qu tamao de bloque usar?
Pero si el bloque fuese muy grande, por
ejemplo cientos de bytes, el sistema sera
lento en el tratamiento del texto en claro y
no sera bueno su rendimiento.
Los valores indicados de 64 y 128 bits son un trmino
medio que satisface ambas condicionantes: es la tpica
situacin de compromiso que tanto vemos en ingeniera.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 393
a) Mala gestin de claves. Crece el nmero de claves
secretas en una proporcin igual a n
2
para un valor
n grande de usuarios lo que imposibilita usarlo .
b) Mala distribucin de claves. No existe posibilidad
de enviar, de forma segura y eficiente, una clave a
travs de un medio o canal inseguro .
c) No tiene firma digital. Aunque s ser posible
autenticar el mensaje mediante una marca, no es
posible firmar digitalmente el mensaje, al menos
en un sentido amplio y sencillo .
Tres debilidades en la cifra simtrica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 394
a) Mala gestin de claves
b) Mala distribucin de claves
c) No permite firma digital
Tiene algo de bueno la cifra
en bloque con clave secreta?
S: la velocidad de cifra es muy alta y por ello se usar
para realizar la funcin de cifra de la informacin. Adems,
con claves de slo unas centenas de bits obtendremos una
alta seguridad pues la no linealidad del algoritmo hace que
en la prctica el nico ataque factible sea por fuerza bruta.
Por qu usamos entonces clave secreta?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 395
Comienza a ser ampliamente conocido a travs de su
aplicacin en los sistemas de correo electrnico seguro
(PGP y PEM) permitiendo cifrar e incluir una firma digital
adjunta al documento o e-mail enviado y tambin en los
navegadores Web.
Cada usuario tendr dos claves, una secreta o privada y
otra pblica, inversas entre s dentro de un cuerpo.
Usan las funciones unidireccionales con trampa.
Cifrado asimtrico
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 396
Son funciones matemticas de un solo sentido
(one-way functions) y que nos permiten usar la
funcin en sentido directo o de clculo fcil para
cifrar y descifrar (usuarios legtimos) y fuerza el
sentido inverso o de clculo difcil para aquellos
impostores, hackers, etc. que lo que desean es
atacar o criptoanalizar la cifra.
f (M) = C es siempre fcil.
f
-1
(C) = M es difcil salvo que se tenga la trampa.
Funciones unidireccionales con trampa
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 397
Clculo directo: producto de dos primos grandes pq = n
Clculo inverso: factorizacin de nmero grande n = pq
Problema de la factorizacin
Problema de la factorizacin
Problema del logaritmo discreto
Problema del logaritmo discreto
Clculo directo: exponenciacin discreta =
x
mod n
Clculo inverso: logaritmo discreto x = log

mod n
Funciones con trampa ms usadas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 398
Problema de la mochila
Problema de la mochila
Clculo directo: sumar elementos de mochila con trampa
Clculo inverso: sumar elementos de mochila sin trampa
Problema de la raz discreta
Problema de la raz discreta
Clculo directo: cuadrado discreto x = aa mod n
Clculo inverso: raz cuadrada discreta a = x mod n
Otras funciones con trampa
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 399
Claves: e
B
, n
B
, d
B
Claves: e
B
, n
B
, d
B
Claves: e
A
, n
A
, d
A
Claves: e
A
, n
A
, d
A
Benito
Adela
C = E
eA
(N) mod n
A
e
B
, n
B
: pblicas
d
B
: privada
e
A
, n
A
: pblicas
d
A
: privada
ESTOS SERN NUESTROS PROTAGONISTAS
Si Benito realiza la
operacin con las
claves pblicas de
Adela (e
A
, n
A
), la
informacin que se
transmite mantiene la
confidencialidad:
slo ella puede verla.
Cifrado con clave pblica de destino
e
B
y d
B
son
inversas dentro
de un cuerpo n
B
e
A
y d
A
son
inversas dentro
de un cuerpo n
A
Origen Destino
A qu es mucho ms lgico y familiar usar estos nombres y no Alice y Bob?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 400
Cifrado:
Benito enva un valor N cifrado a Adela
Claves: e
B
, n
B
, d
B
Claves: e
A
, n
A
, d
A
Benito Adela
C = E
eA
(N) mod n
A
Descifrado:
N = E
dA
[E
eA
(N)] mod n
A
E
dA
y E
eA
son inversos
Se obtiene confidencialidad del mensaje
Operacin de cifra con clave de destino
Claves pblicas
Clave privada
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 401
Si en vez de utilizar la clave pblica de destino, el emisor
usa su propia clave pblica, la cifra no tiene sentido bajo
el punto de vista de sistemas de clave pblica ya que slo
l o ella sera capaz de descifrar el criptograma (deshacer
la operacin de cifra) con su propia clave privada.
Y si usamos la clave pblica de origen?
Esto podra usarse para cifrar de forma
local uno o varios ficheros, por
ejemplo, pero para ello ya estn los
sistemas de clave secreta, mucho ms
rpidos y, por tanto, ms eficientes.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 402
Si ahora el emisor usa su clave privada en la cifra sobre
el mensaje, se obtiene una firma digital que le autentica
como emisor ante el destinatario y, adems, a este ltimo
le permitir comprobar la integridad del mensaje.
Y si usamos la clave privada de origen?
Obviamente, el emisor nunca podr realizar la cifra del
mensaje M con la clave privada del receptor.
Veamos antes un ejemplo de
algoritmo que usa un par de
claves entre dos usuarios...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 403
PROTOCOLO: A enva a B un mensaje M
1 A pone el mensaje M en la caja, la cierra con su
llave azuly la enva a B.
2 B recibe la caja, la cierra con su llave roja y
enva a A la caja con las dos cerraduras.
3 A recibe la caja, quita su llave azul y devuelve
a B la caja slo con la cerradura de roja.
4 B recibe la caja, quita su cerradura roja y puede
ver el mensaje M que A puso en su interior.
El algoritmo del mensaje en la caja
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 404
Va todo bien en el algoritmo de la caja?
Durante la transmisin, el mensaje est
protegido de cualquier intruso por lo
que existe integridad del mensaje y hay
proteccin contra una ataque pasivo.
Pero el usuario B no puede estar seguro
si quien le ha enviado el mensaje M es
el usuario A o un impostor. Por lo tanto
el algoritmo as implementado no nos
permite comprobar la autenticidad del
emisor pues no detecta la suplantacin
de identidad. No obstante...
Modificando un poco el
algoritmo anterior, s
podremos asegurar
tanto la integridad del
mensaje como la
autenticidad de emisor.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 405
Claves: e
B
, n
B
, d
B
Claves: e
B
, n
B
, d
B
Claves: e
A
, n
A
, d
A
Claves: e
A
, n
A
, d
A
Benito
Adela
C = E
dB
(N) mod n
B
e
B
, n
B
: pblicas
d
B
: privada
e
A
, n
A
: pblicas
d
A
: privada
Si ahora Benito realiza
la operacin de cifra con
su clave privada d
B
en el
cuerpo n
B
Adela ser
capaz de comprobar esa
cifra ya que posee (entre
otras) la clave pblica de
Benito. Comprueba as
tanto la autenticidad del
mensaje como del autor.
Cifrado con clave privada del origen
e
B
y d
B
son
inversas dentro
de un cuerpo n
B
e
A
y d
A
son
inversas dentro
de un cuerpo n
A
Origen Destino
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 406
Firma digital:
Benito firma un valor N que enva a Adela
Claves: e
B
, n
B
, d
B
Claves: e
A
, n
A
, d
A
Benito Adela
C = E
dB
(N) mod n
B
Comprobacin:
N = E
eB
[E
dB
(N)] mod n
B
E
dB
y E
eB
son inversos
Se comprueba la integridad del origen
Operacin de cifra con clave de origen
Clave privada
Claves pblicas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 407
Uso de la criptografa asimtrica
Estas dos operaciones de cifra son posibles debido a la
caracterstica intrnseca de los sistemas de clave pblica: el uso
de una clave privada (secreta) inversa de una pblica.
Qu aplicacin tendrn entonces los sistemas de criptografa
de clave pblica o asimtrica?
Usando la clave pblica del destino se har el intercambio de
claves de sesin de una cifra con sistemas simtricos (decenas a
centenas de bits).
Usando la clave privada de origen, se firmar digitalmente un
resumen (centenas de bits) del mensaje obtenido con una
funcin hash.
Observe que se hace hincapi en las centenas de bits dado que
estos sistemas son muy lentos comparados con los simtricos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 408
Gestin de claves
Clave Secreta Clave Pblica
Hay que memorizar Slo es necesario
un nmero muy alto memorizar la clave
de claves: n
2
. privada del emisor.
En cuanto a la gestin de claves, sern mucho ms eficientes
los sistemas de cifra asimtricos pues los simtricos no
permiten una gestin lgica y eficiente de estas claves: en
los asimtricos slo es necesario memorizar la frase o
palabra de paso para acceder a la clave privada.
Comparativa: la gestin de claves
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 409
Longitud y espacio de claves
Clave Secreta Clave Pblica
Debido al tipo de Por el algoritmo usado
cifrador usado, la en la cifra, la clave
clave ser del orden ser del orden de miles
de centenas de bits. de bits.
En cuanto al espacio de claves, no son comparables los
sistemas simtricos con los asimtricos. Para atacar un
sistema asimtrico no se buscar en todo el espacio de
claves como debera hacerse en los sistemas simtricos.
128 1.024
Comparativa: el espacio de claves
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 410
Vida de una clave
Clave Secreta Clave Pblica
La duracin es muy La duracin de la clave
corta pues casi pblica, que la entrega
siempre se usa como y gestiona un tercero,
clave de una sesin. suele ser larga.
En cuanto a la vida de una clave, en los sistemas
simtricos sta es muchsimo menor que las usadas
en los asimtricos. La clave de sesin es aleatoria,
en cambio la asimtrica es propia del usuario.
Segundos
o minutos
Meses o
un ao
Comparativa: la vida de las claves
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 411
Si en un sistema de clave secreta, sta se usa como clave
de una sesin que dura muy poco tiempo...
y en este tiempo es imposible romperla...
para qu preocuparse entonces?
La confidencialidad de la informacin tiene
una caducidad. Si durante este tiempo
alguien puede tener el criptograma e intentar
un ataque por fuerza bruta, obtendr la clave
(que es lo menos importante) ...
pero tambin el mensaje secreto!
Vida de la clave y principio de caducidad
... puede ser muy peligroso.
Lo mismo ocurrir si usamos la cifra simtrica para proteger
algn archivo o archivos en nuestro computador.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 412
Condiciones de la autenticidad:
a) El usuario A deber protegerse ante mensajes
dirigidos a B que un tercer usuario desconocido C
introduce por ste. Es la suplantacin de identidad o
problema de la autenticacin del emisor.
b) El usuario A deber protegerse ante mensajes
falsificados por B que asegura haberlos recibido
firmados por A. Es la falsificacin de documento o
problema de la autenticacin del mensaje.
El problema de la autenticacin
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 413
Autenticacin
Clave Secreta Clave Pblica
Se puede autenticar Al haber una clave
el mensaje pero no pblica y otra privada,
al emisor de forma se podr autenticar el
sencilla y eficiente. mensaje y al emisor.
En cuanto a la autenticacin, los sistemas simtricos tienen una
autenticacin ms pesada y con una tercera parte de confianza.
Los asimtricos permiten una firma digital verdadera, eficiente y
sencilla, en donde la tercera parte de confianza es slo presencial.
Comparativa: la autenticacin de emisor
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 414
Velocidad de cifra
Clave Secreta Clave Pblica
La velocidad de La velocidad de cifra
cifra es muy alta. es muy baja. Se usa
Es el algoritmo de para el intercambio de
cifra del mensaje. clave y la firma digital.
En cuanto a la velocidad de cifra, los
sistemas simtricos son de 100 a 1.000
veces ms rpidos que los asimtricos.
En SW la velocidad de cifra es ms baja.
Cientos de
M Bytes/seg
en HW
Cientos de
K Bytes/seg
en HW
Comparativa: la velocidad de cifra
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 415
Confidencialidad
Autenticacin parcial
Sin firma digital
Claves:
Longitud pequea
Vida corta (sesin)
Nmero elevado
Velocidad alta
Confidencialidad
Autenticacin total
Con firma digital
Claves:
Longitud grande
Vida larga
Nmero reducido
Velocidad baja
Resumen comparativo de estas cifras
Cifrado Simtrico Cifrado Asimtrico
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 416
La criptografa simtrica o de clave secreta usa una nica clave
para cifrar en emisin y descifrar en destino.
La seguridad del sistema reside entonces en cun segura
sea dicha clave.
En la criptografa asimtrica cada usuario se crea un par de
claves llamadas pblica y privada, inversas entre s dentro de un
cuerpo finito, de forma que lo que hace una la otra lo deshace.
Para cifrar se usa, por ejemplo, la clave pblica de destino y
para descifrar el destinatario har uso de su clave privada.
La seguridad del sistema reside ahora en la dificultad
computacional de encontrar la clave privada a partir de la
clave pblica.
Seguridad en la cifra simtrica y asimtrica
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 417
Cuestiones y ejercicios (1 de 2)
1. En un sistema de cifra se usa un cuerpo de trabajo n. Cmo es el
tamao de ese cuerpo comparado con el tamao del alfabeto usado?
2. Cmo se clasifican los criptosistemas en funcin del tratamiento
que hacemos del mensaje a cifrar?
3. Cmo se clasifican los criptosistemas en funcin de tipo de clave
que se usa en ambos extremos, emisor y receptor?
4. Por qu se dice que un sistema es simtrico y el otro asimtrico?
5. Es posible cumplir 100% con la condicin de cifrado de Vernam?
6. Por qu en los cifradores de flujo se usa la misma funcin XOR en
el extremo emisor y en el extremo receptor? Son inversas aqu las
claves usadas para cifrar y descifrar?
7. Nombre y comente algunas debilidades de los sistemas de cifra en
bloque con clave secreta.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 418
Cuestiones y ejercicios (2 de 2)
8. Si ciframos un nmero con la clave pblica del usuario receptor,
qu cree Ud. que estamos haciendo?
9. Por qu decimos que en un sistema asimtrico la gestin de claves
es mucho mejor que en un sistema simtrico?
10. Nos entregan un certificado digital (certificacin de clave pblica)
de 512 bits. Es hoy en da un valor adecuado? Por qu s o no?
11. Por qu decimos que con un sistema asimtrico es muy fcil
generar una firma digital en emisin y comprobarla en destino?
12. Compare los sistemas simtricos y asimtricos en cuanto a su
velocidad de cifra.
13. Qu es un cifrado hbrido? Por qu y cmo se usa la cifra hbrida
en el intercambio de informacin segura por ejemplo en Internet?
14. Qu relacin hay entre vida de una clave y principio de caducidad?
Captulo 11
Sistemas de Cifra en Flujo
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 51 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 420
Cifrador de flujo bsico
Recordando la propuesta de cifrador hecha por Vernam en 1917,
los cifradores de flujo (sistemas con clave secreta) usarn:
Un algoritmo de cifra basado en la funcin XOR.
Una secuencia cifrante binaria y pseudoaleatoria 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.
Clave K Clave K
Algoritmo
Determinstico
Algoritmo
Determinstico

secuencia cifrante
M M
S S
MENSAJE MENSAJE
C
Operaciones con bits
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 421
Caractersticas de la secuencia cifrante S
Condiciones para una clave binaria segura
Perodo:
La clave deber ser tanto o ms larga que el mensaje. En la
prctica se usar una semilla K de unos 120 a 250 bits en cada
extremo del sistema para generar perodos 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 pseudoaleatoria.
Para ello deber cumplir los postulados de Golomb:
Rachas de dgitos: uno o ms bits entre dos bits distintos.
Funcin de autocorrelacin fuera de fase AC(k): desplazamiento de k
bits sobre la misma secuencia S
i
.

http://ee.usc.edu/faculty_staff/bios/golomb.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 422
Rachas de dgitos en una secuencia
Rachas de una secuencia S de perodo T = 15
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Rachas de 0s
Racha de 00s
Rachas de 1s
El prximo
bit ser un 1
El bit anterior
era un 0
0 entre dos 1s
1 entre dos 0s
Racha de 1111s
Esta distribucin
tan particular se
comentar ms
adelante...
11 entre dos 0s
Racha de 000s
00 entre dos 1s
Racha de 11s
1111 entre dos 0s
000 entre dos 1s
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 423
Distribucin de las rachas de dgitos
Las rachas, es decir la secuencia de dgitos iguales entre
dos dgitos distintos, debern seguir una distribucin
estadstica de forma que la secuencia cifrante S
i
tenga un
comportamiento de clave aleatoria o pseudoaleatoria.
Para que esto se cumpla, es obvio que habr mayor
nmero de rachas cortas que de rachas largas como se
observa en el ejemplo anterior.
Como veremos ms adelante, esta distribucin seguir
una progresin geomtrica. Por ejemplo una secuencia S
i
podra tener 8 rachas de longitud uno, 4 de longitud dos,
2 de longitud tres y 1 de longitud cuatro.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 424
Autocorrelacin fuera de fase AC(k)
Funcin de autocorrelacin:
Autocorrelacin AC(k) fuera de fase de una secuencia
S
i
de perodo T desplazada k bits a la izquierda:
AC(k) = (A - F) / T
Aciertos bits iguales Fallos bits diferentes
Ejemplo
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Si k = 1
S
i
1 1 1 0 1 0 1 1 0 0 1 0 0 0 1
A =
A=7; F=8
F = AC(1) = -1/15
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 425
Autocorrelacin fuera de fase constante
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 S
i
Como ejercicio, compruebe que para esta secuencia cifrante S
i
la
autocorrelacin fuera de fase AC(k) para todos los valores de k
(1 k 14) es constante e igual a -1/15. Esta caracterstica ser
importante para que la clave sea considerada buena.
Es decir, para que una secuencia cifrante S podamos considerarla
segura y apropiada para una cifra, adems de cumplir con la
distribucin de rachas vista anteriormente, deber presentar una
autocorrelacin fuera de fase AC(k) constante.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 426
Imprevisibilidad e implementacin de S
i
Imprevisibilidad:
Aunque se conozca una parte de la secuencia S
i
, la
probabilidad de predecir el prximo dgito no deber
ser superior al 50%.
Esta caracterstica se definir a partir de la denominada
complejidad lineal.
Facilidad de implementacin:
Debe ser fcil construir un generador de secuencia
cifrante con circuitos electrnicos y chips, con bajo
coste, alta velocidad, bajo consumo, un alto nivel de
integracin, etc.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 427
Primer postulado de Golomb G1
Postulado G1:
Deber existir igual nmero de ceros que de unos. Se
acepta como mximo una diferencia igual a la unidad.
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 S
1
En la secuencia S
1
de 15 bits, hay 8 unos y 7
ceros. Luego s cumple con el postulado G1.
0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 S
2
En la secuencia S
2
de 16 bits, hay 7 unos y 9
ceros. Luego no cumple con el postulado G1.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 428
Significado del postulado G1
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 S
i
Qu significa esto?
Si una secuencia S
i
como la indicada cumple con G1, quiere
decir que la probabilidad de recibir un bit 1 es igual a la de
recibir un bit 0, es decir un 50%.
Por lo tanto, a lo largo de una secuencia S
i
, independientemente
de los bits recibidos con anterioridad, en media ser igualmente
probable recibir un 1 que un 0, pues en la secuencia hay una
mitad de valores 1 y otra mitad de valores 0.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 429
Segundo postulado de Golomb G2
Postulado G2:
En un perodo T, la mitad de las rachas de S
i
sern de
longitud 1, la cuarta parte de longitud 2, la octava parte
de longitud 3, etc.
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 S
i
En la secuencia S
i
de 15 bits, haba 4 rachas de longitud uno, 2
rachas de longitud dos, 1 racha de longitud tres y 1 racha de
longitud cuatro. Este tipo de distribucin en las rachas para
perodos impares, es tpica de las denominadas m-secuencias
como veremos ms adelante en el apartado generadores LFSR.
Las rachas de
esta secuencia
estn en una
diapositiva
anterior
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 430
Significado del postulado G2
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 S
i
Qu significa esto?
Si una secuencia S
i
como la indicada cumple con G2, quiere
decir que la probabilidad de recibir un bit 1 o un bit 0, despus de
haber recibido un 1 o un 0 es la misma, es decir un 50%.
Es decir, recibido por ejemplo un 1, la cadena 10 deber ser
igual de probable que la cadena 11. Lo mismo sucede con un 0
al comienzo, o bien un 00, 01, 10, 11, 000, 001, etc. Existir as
tambin una equiprobabilidad en funcin de los bits ya recibidos.
Como comprobaremos ms adelante, esto va a significar que la
secuencia pasa por todos sus estados, es decir todos sus restos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 431
Tercer postulado de Golomb G3 (1/2)
Postulado G3:
La autocorrelacin AC(k) deber ser constante
para todo valor de desplazamiento de k bits.
1 0 0 1 1 1 0
Secuencia original S
i
0 0 1 1 1 0 1 AC(1) = (3-7)/7 = -4/7
0 1 1 1 0 1 0
k = 1
AC(2) = (3-7)/7 = -4/7 k = 2
k = 3
1 1 1 0 1 0 0
AC(3) = (3-7)/7 = -4/7
Desplazamiento de un bit a la izquierda
sigue
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 432
Tercer postulado de Golomb G3 (2/2)
1 0 0 1 1 1 0
Secuencia original
1 1 0 1 0 0 1 k = 4 AC(4) = (3-7)/7 = -4/7
1 0 1 0 0 1 1 k = 5 AC(5) = (3-7)/7 = -4/7
0 1 0 0 1 1 1 AC(6) = (3-7)/7 = -4/7 k = 6
1 0 0 1 1 1 0 k = 7 Secuencia original en fase
La secuencia S
i
= 1001110 de 7 bits cumple con G3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 433
Autocorrelacin no constante (1/2)
Secuencia original S
i
0 1 1 1 0 1 0 0
Desplazamiento de un bit a la izquierda
1 1 1 0 1 0 0 0
AC(1) = (4-4)/8 = 0
k = 1
AC(2) = (4-4)/8 = 0
1 1 0 1 0 0 0 1
k = 2
1 0 1 0 0 0 1 1
AC(3) = (2-6)/8 = -1/2
k = 3
0 1 0 0 0 1 1 1
k = 4
AC(4) = (4-4)/8 = 0
sigue
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 434
Autocorrelacin no constante (2/2)
0 1 1 1 0 1 0 0
S
i
Secuencia original
1 0 0 0 1 1 1 0
AC(5) = (2-6)/8 = -1/2
k = 5
0 0 0 1 1 1 0 1
k = 6 AC(6) = (4-4)/8 = 0
0 0 1 1 1 0 1 0
AC(7) = (4-4)/8 = 0 k = 7
0 1 1 1 0 1 0 0
Secuencia original en fase k = 8
La secuencia S
i
= 01110100 de 8 bits no cumple con G3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 435
Significado del postulado G3
0 1 1 1 0 1 0 0
S
i
No cumple con G3
1 0 0 1 1 1 0
S
i
S cumple con G3
Qu significa esto?
Si una secuencia cumple con el postulado G3 quiere decir
que, independientemente del trozo de secuencia elegido por
el atacante, no habr una mayor cantidad de informacin que
en la secuencia anterior. As, ser imposible aplicar ataques
estadsticos a la secuencia recibida u observada al igual
como operbamos, por ejemplo y guardando las debidas
distancias, con el sistema Vigenre y el ataque de Kasiski.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 436
Generador de congruencia lineal
x
i+1
= (ax
i
b)(mod n) ser la secuencia cifrante
Los valores a, b, n caracterizan al generador y se
utilizarn como clave secreta.
El valor x
0
se conoce como semilla; es el que inicia el
proceso generador de la clave X
i
.
La secuencia se genera desde i = 0 hasta i = n-1.
Tiene como debilidad que resulta relativamente fcil
atacar la secuencia, de forma similar al criptoanlisis
de los cifradores afines vistos en criptografa clsica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 437
Ejemplo generador de congruencia lineal
x
i+1
= (ax
i
b)(mod n)
x
1
= (510+1) mod 16 = 3 x
9
= (52+1) mod 16 = 11
x
2
= (53+1) mod 16 = 0 x
10
= (511+1) mod 16 = 8
x
3
= (50+1) mod 16 = 1 x
11
= (58+1) mod 16 = 9
x
4
= (51+1) mod 16 = 6 x
12
= (59+1) mod 16 = 14
x
5
= (56+1) mod 16 = 15 x
13
= (514+1) mod 16 = 7
x
6
= (515+1) mod 16 = 12 x
14
= (57+1) mod 16 = 4
x
7
= (512+1) mod 16 = 13 x
15
= (54+1) mod 16 = 5
x
8
= (513+1) mod 16 = 2 x
16
= (55+1) mod 16 = 10
Sea:
a = 5 b = 1
n = 16 x
0
= 10
Sea:
a = 5 b = 1
n = 16 x
0
= 10
S
i
= 10, 3, 0, 1, 6, 15, 12, 13, 2, 11, 8, 9, 14, 7, 4, 5
Pero...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 438
Algo falla en este tipo de generador?
Qu sucede si
a = 11 b = 1
n = 16 x
0
= 7?
Qu sucede si
a = 11 b = 1
n = 16 x
0
= 7?
x
i+1
= (ax
i
b)(mod n)
Ejercicios
Qu sucede si
a = 5 b = 2
n = 16 x
0
= 10?
Qu sucede si
a = 5 b = 2
n = 16 x
0
= 10?
Qu sucede si
a = 5 b = 2
n = 16 x
0
= 1?
Qu sucede si
a = 5 b = 2
n = 16 x
0
= 1?
Qu sucede si
a = 4 b = 1
n = 16 x
0
= 10?
Qu sucede si
a = 4 b = 1
n = 16 x
0
= 10?
Saque sus propias conclusiones.
Como habr comprobado, este tipo de generadores de secuencia
cifrante no son criptogrficamente nada interesantes.
Una vez hecho esto personalmente, pase a la siguiente diapositiva.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 439
Debilidad en este tipo de generadores
S
i
= (117 + 1) mod 16
S
i
= 15, 7
El perodo que se genera es
slo de tamao dos ... /
S
i
= (510 + 2) mod 16
S
i
= 4, 6, 0, 2, 12, 14, 8, 10
S
i
= (51 + 2) mod 16
S
i
= 7, 5, 11, 9, 15, 13, 3, 1
Se obtiene un perodo muy
bajo y slo valores pares e
impares. El primer caso es
igual que el de los apuntes
pero con b = 2 ... //
S
i
= (410 + 1) mod 16
S
i
= 9, 5, 5, ....
Peor an, ya no se genera
una secuencia ... ///
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 440
Generador de secuencia cifrante con registros de desplazamiento
S
1
S
2
S
3
S
4
S
n
S
n-1
g[a(t-1)a(t-2) ...a(t-n+1)]a(t-n)
S
i
Bit que se pierde
Desplazamiento
Realimentacin
Conexiones de puertas
Genera una secuencia con un perodo mximo 2
n
a(t-1)
a(t-2)
a(t-3) a(t-4) a(t-n+1) a(t-n)
Registros de Desplazamiento Realimentados No Linealmente
Registros de Desplazamiento Realimentados Linealmente
NLFSR
LFSR
?
a(i) es el contenido de la celda i
S
i
es un bit 0 1
Registros de desplazamiento
Por claridad se mantendr la nomenclatura inglesa
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 441
Introduccin a los autmatas celulares
Los registros de desplazamiento son un caso especial de los
denominados autmatas celulares finitos unidimensionales.
Este autmata celular finito es un sistema dinmico con un
total de N clulas, dispuestas en un espacio unidimensional.
Cada clula tendr en cada instante un estado E y existir
una funcin de transicin f que, dependiendo de una
vecindad establecida entre las clulas, har que en cada
instante de tiempo dicho autmata evolucione.
En criptografa interesan los autmatas celulares que sean
reversibles, es decir, que permitan la evolucin hacia atrs.

http://www.criptored.upm.es/investigacion/tfc_m317a.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 442
Generadores NLFSR (1/2)
Un generador de cuatro celdas (n = 4)
S
1
S
2
S
3
S
4
AND
XOR
NOT
OR
S
i
Sea la semilla: S
1
S
2
S
3
S
4
= 0111
0 0
1
0
0 1 1 1
1
Este es el estado
de las celdas y
las operaciones
previas antes de
producirse el
desplazamiento
de un bit hacia a
la derecha.
Operaciones
S
1
S
2
S
3
S
4
Primera
operacin
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 443
Generadores NLFSR (2/2)
S
1
S
2
S
3
S
4
AND
XOR
NOT
OR
S
i
Semilla: S
1
S
2
S
3
S
4
= 0111
0 0
1
0
0 1 1 1
1
1 1 1 0 1
Observe que primero
se transmite S
4
S
3
S
2
S
1
y luego S
5
S
6
S
7
... S
12
.
S
1
S
2
S
3
S
4
S
i
= 1110 1100 1010 0001; su perodo es mximo, T
mx
= 2
n
= 2
4
= 16.
Se conoce como secuencia de De Bruijn. El contenido de las celdas
pasar por todos los estados posibles: desde 0000 hasta 1111.

http://mathworld.wolfram.com/deBruijnSequence.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 444
Generadores lineales LFSR
a(t) = C
1
a(t-1) C
2
a(t-2) C
3
a(t-3) ... C
n
a(t-n)
C
i
= {1,0} conexin/no conexin celda C
n
= 1
Funcin nica: XOR T
mx
= 2
n
- 1
Polinomio asociado:
f(x) = C
n
x
n
+ C
n-1
x
n-1
+ .... + C
2
x
2
+ C
1
x + 1
S
1
S
2
S
3
S
4
XOR
S
i
Generador
LFSR de 4
etapas/celdas
Generador
LFSR de 4
etapas/celdas
C
1
C
2
C
3
C
4
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 445
Tipos de generadores lineales LFSR
Observacin: como la nica funcin de realimentacin de un
LFSR es un XOR, no estar permitida la cadena de todos ceros.
En funcin del polinomio asociado tendremos:
LFSR con polinomios factorizables
No sern criptogrficamente interesantes.
LFSR con polinomios irreducibles
No sern criptogrficamente interesantes.
LFSR con polinomios primitivos
Segn los postulados de Golomb, este tipo de polinomio
que genera todos los estados lineales posibles del cuerpo
de trabajo n, ser el que nos entregue una secuencia
cifrante de inters criptogrfico con perodo T = 2
n
1.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 446
Generador LFSR con f(x) factorizable
Generador f(x) factorizable de cuatro celdas (n = 4)
S
1
S
2
S
3
S
4

Sea f(x) = x
4
+ x
2
+ 1
f(x) es factorizable porque:
Sea f(x
1
) = f(x
2
) = (x
2
+x+1)
f(x) = f(x
1
) f(x
2
)
f(x) = (x
2
+x+1) (x
2
+x+1)
f(x) = x
4
+2x
3
+3x
2
+2x+1
Tras la reduccin mdulo 2
Luego f(x) = x
4
+ x
2
+1
S
i
T depender de la semilla
T 2
n
- 1
Y adems, habr perodos
secundarios divisores de T.
Problema
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 447
Ejemplo LFSR con f(x) factorizable (1/2)
f(x) = x
4
+ x
2
+ 1
S
1
S
2
S
3
S
4

S
i
0 1 1 1
Registro Bit S
i
0111 1
0011 1
1001 1
1100 0
Primer bit:
resultado de
la operacin
S
1
= S
2
S
4
Sea la semilla:
S
1
S
2
S
3
S
4
= 0111
Registro Bit S
i
1110 0
1111 1
0111 1
semilla . . .
S
i
= 111001 T = 6
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 448
Ejemplo LFSR con f(x) factorizable (2/2)
f(x) = x
4
+ x
2
+ 1
S
1
S
2
S
3
S
4

S
i
1 1 0 1
Registro Bit S
i
1101 1
0110 0
1011 1
1101 1
Primer bit:
resultado de
la operacin
S
1
= S
2
S
4
Sea ahora la semilla:
S
1
S
2
S
3
S
4
= 1101
S
1
S
2
S
3
S
4
S
i
= 101
T = 3
semilla . . .
T es un perodo
secundario y en
en este caso es
incluso menor
que la semilla.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 449
Generador LFSR con f(x) irreducible
Generador f(x) irreducible de cuatro celdas (n = 4)
Sea f(x) = x
4
+ x
3
+ x
2
+ x + 1
S
1
S
2
S
3
S
4

Es imposible factorizar
en mdulo 2 la funcin
f(x) mediante dos
polinomios f(x
1
) y
f(x
2
) de grado menor
Ahora T ya no depende de la semilla
pero ser un factor de T
mx
= 2
n
1 y
no obtendremos un perodo mximo.
Problema
S
i
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 450
Ejemplo de LFSR con f(x) irreducible
f(x) = x
4
+ x
3
+ x
2
+ x + 1
Registro Bit S
i
Registro
0011 1
0001 1
semilla . . .
S
i
= 100011 T = 5 siendo
T
mx
= 2
n
- 1 = 2
4
- 1 = 15
S
1
S
2
S
3
S
4

S
i
0 0 0
Sea la semilla:
S
1
S
2
S
3
S
4
= 0001
Bit S
i
1
0001 1
1000 0
1100 0
0110 0
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 451
Generador LFSR con f(x) primitivo
Generador f(x) primitivo de cuatro celdas (n = 4)
Sea f(x) = x
4
+ x + 1
S
1
S
2
S
3
S
4

f(x) no es factorizable
como f(x
1
)f(x
2
) en
mdulo 2. Ser adems
un generador del grupo.
S
i
T ya no depender de la semilla y ser
el valor mximo T
mx
= 2
n
- 1. Se van a
generar as las llamadas m-secuencias.
Habr (2
n
- 1)/n
polinomios primitivos
Habr (2
n
- 1)/n
polinomios primitivos

http://mathworld.wolfram.com/PrimitivePolynomial.html
Polinomios
Generacin polinomios

http://www.theory.csc.uvic.ca/~cos/gen/poly.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 452
Ejemplo de LFSR con f(x) primitivo
Generador f(x) primitivo de cuatro celdas (n = 4)
S
1
S
2
S
3
S
4
= 1001
Registro Bit S
i
1001 1
0100 0
0010 0
0001 1
S
1
S
2
S
3
S
4

S
i
T = 2
n
- 1
T = 2
4
- 1
T = 15
1110 0 1010 0
1111 1 1101 1
1 0 0 1
f(x) = x
4
+ x + 1
S
1
= S
1
S
4
S
i
= 100100011110101
0111 1 0110 0
1000 0 1011 1 0011 1
1100 0 0101 1 1001 T = 15
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 453
Secuencias de un LFSR con f(x) primitivo
Caractersticas
Tendr una secuencia mxima de 2
n
- 1 bits.
Cumplir con G1:
Hay 2n bits 1 y 2n-1 bits 0.
Cumplir con G2:
El vector binario de las celdas pasa por todos los
estados excepto la cadena de ceros que est prohibida.
Distribucin tpica de rachas de una m-secuencia.
Cumplir con G3:
Los aciertos (A) sern iguales a 2
n-1
- 1.
m-secuencia
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 454
Rachas en S
i
de un LFSR con f(x) primitivo
Rachas de Longitud Rachas de Ceros Rachas de Unos
2
...
p
...
n-2
n-1
n
1
TOTAL
2
n-4
...
2
n-p-2
...
1
1
0
2
n-3
2
n-2
2
n-4
...
2
n-p-2
...
1
0
1
2
n-3
2
n-2
Rachas de una m-secuencia
Sin embargo, no es un generador ideal para la cifra
porque su Complejidad Lineal es muy baja.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 455
Debilidad de un LFSR con f(x) primitivo
Como este tipo de LFSR genera una secuencia de longitud mxima,
sta ser previsible y se puede encontrar la secuencia completa S
i
de 2
n
- 1 bits ...
con slo conocer 2n bits !
Por ejemplo, si conocemos slo 210 = 20 bits en un sistema de 10
celdas con un perodo 2
10
-1 = 1.023, seremos capaces de encontrar
las conexiones de las celdas o valores de C
i
y generar la secuencia
completa S
i
. Esta debilidad es la que usa el ataque conocido como
algoritmo de Berlekamp-Massey.

http://planetmath.org/encyclopedia/BerlekampMasseyAlgorithm.html
Algoritmo

http://ihome.ust.hk/~trippen/Cryptography/BM/frameset.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 456
Ejemplo de ataque de Berlekamp-Massey
Si conocemos 2n = 8 bits S
1
S
2
S
3
S
4
S
5
S
6
S
7
S
8
de un LFSR
de 4 celdas C
1
C
2
C
3
C
4
, tenemos el sistema de ecuaciones:
S
5
= C
1
S
1
C
2
S
2
C
3
S
3
C
4
S
4
S
6
= C
1
S
5
C
2
S
1
C
3
S
2
C
4
S
3
S
7
= C
1
S
6
C
2
S
5
C
3
S
1
C
4
S
2
S
8
= C
1
S
7
C
2
S
6
C
3
S
5
C
4
S
1

S
i S
1
S
2
S
3
S
4
Primero se transmite
S
4
S
3
S
2
S
1
(semilla) y
luego bits S
5
S
6
S
7
S
8
.
Si asignamos valores
de esos 2n = 8 bits
S
1
S
2
S
3
S
4
S
5
S
6
S
7
S
8
seremos capaces de
resolver este sistema
C
1
C
2
C
3
C
4
=1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 457
Solucin al ataque de Berlekamp-Massey
S
5
= C
1
S
1
C
2
S
2
C
3
S
3
C
4
S
4
S
6
= C
1
S
5
C
2
S
1
C
3
S
2
C
4
S
3
S
7
= C
1
S
6
C
2
S
5
C
3
S
1
C
4
S
2
S
8
= C
1
S
7
C
2
S
6
C
3
S
5
C
4
S
1
Si b
1
b
2
b
3
b
4
b
5
b
6
b
7
b
8
= 11001000
son correlativos y como hay
cuatro celdas y primero se
transmite la semilla, entonces:
1 = C
1
0 C
2
0 C
3
1 C
4
1
0 = C
1
1 C
2
0 C
3
0 C
4
1
C
2
= 0
C
3
= 0 C
4
= 1
C
1
= 1
S
1
= 0 S
5
= 1
S
2
= 0 S
6
= 0
S
3
= 1 S
7
= 0
S
4
= 1 S
8
= 0
0 = C
1
0 C
2
1 C
3
0 C
4
0
0 = C
1
0 C
2
0 C
3
1 C
4
0
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 458
Conclusiones ataque Berlekamp-Massey
CONCLUSIONES:
Como se conoce la configuracin del generador LFSR, y
S
i
es una m-secuencia de perodo 2
n
- 1, entonces por el
conjunto de n celdas pasarn todos los restos del campo de
Galois de 2
n
, excepto la cadena de n ceros que sabemos
est prohibida en estos sistemas generadores lineales.
Para el ejemplo anterior, esto quiere decir que cualquier
grupo de 2n = 8 dgitos correlativos nos permite generar la
secuencia mxima, en este caso de 2
n
= 16 bits.
La solucin es aumentar la complejidad lineal del
generador por ejemplo conectando varios LFRs.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 459
Complejidad lineal LC
o Un LFSR con polinomio primitivo de n celdas tendr una
complejidad lineal LC igual a n; es decir con 2n bits se
puede generar la secuencia completa como hemos visto.
o Lo ideal es que si este LFSR entrega una secuencia S
i
con
un perodo igual a 2
n
1, su LC fuese cercana a este valor.
o Para aumentar esta LC podemos usar:
o Operaciones no lineales de las secuencias del LFSR
o Operaciones de suma
o Operaciones de multiplicacin
o Filtrado no lineal de los estados del LFSR.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 460
Operaciones no lineales con dos registros
LC = n
1
; T = 2
n1
-1
Generador primitivo con n
1
celdas
Generador primitivo con n
2
celdas

S
i LC = n
2
T = 2
n2
-1
LC = n
1
+ n
2
T = mcm (2
n1
-1, 2
n2
-1)
Es el modelo usado por A5
LC = n
1
; T = 2
n1
-1
Generador primitivo con n
1
celdas
Generador primitivo con n
2
celdas

S
i
LC = n
2
T = 2
n2
-1
LC = n
1
n
2
T = mcm (2
n1
-1, 2
n2
-1)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 461
Generadores LFSR con filtrado no lineal
Generador de Geffe
LFSR 2
LFSR 3
LFSR 1
Selector
a
2
a
3
a
1
S
i
Si a
1
es un 0 S
i
es el bit de a
2
Si a
1
es un 1 S
i
es el bit de a
3
Luego: S
i
= a
2
a
1
a
2
a
1
a
3
0
1
LC = (n
1
+ 1)n
2
n
1
n
3
T = mcm (2
n1
-1, 2
n2
-1, 2
n3
-1)
Se mejora la LC e incluso se aumenta si ponemos ms LFSRs pero este
generador es dbil ante ataques por correlacin de bits. Existen muchos
esquemas en esta lnea: Beth-Piper, Gollmann, Massey-Rueppel, etc.,
que no sern tratados en este captulo.
Encontrar ataques algebraicos a cifradores de flujo en la siguiente Web.

http://www.cryptosystem.net/stream
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 462
Algoritmos de cifrado en flujo
Sistemas ms conocidos:
A5:
Algoritmo no publicado propuesto en 1994. Versiones A5/1
fuerte (Europa) y A5/2 dbil (exportacin).
RC4:
Algoritmo de RSA Corp. (Rivest Cipher #4) desarrollado en
el ao 1987, usado en Lotus Notes. Posteriormente se usa
en el navegador de Netscape desde 1999 y luego en otros
navegadores ms actuales. No es pblico.
SEAL:
Algoritmo propuesto por IBM en 1994.
http://www.argo.es/~jcea/artic/hispasec33.htm

http://www.wisdom.weizmann.ac.il/~itsik/RC4/rc4.html
http://www.gemplus.com/smart/rd/publications/pdf/HG97chis.pdf

Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 463
El algoritmo de cifra A5
El uso habitual de este algoritmo lo encontramos en el
cifrado del enlace entre el abonado y la central de un
telfono mvil (celular) tipo GSM.
Cada trama de conversacin entre A y B tiene 228 bits, de
los cuales 114 son en sentido A B y otros 114 en sentido
B A. El generador entregar los 228 bits pseudoaleatorios
para la cifra de cada trama.
Con cerca de 130 millones de usuarios en Europa y otros
100 millones de usuarios en el resto del mundo en 1999, el
sistema A5/1 sucumbi en diciembre de ese ao a un ataque
realizado por Alex Biryukov, Adi Shamir y David Wagner.

http://cryptome.org/a51-bsw.htm

http://www.criptored.upm.es/guiateoria/gt_m116a.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 464
Esquema del algoritmo de cifra A5/1

S
i
3 registros
LFSR con
m-secuencia
R
1
n
1
= 19
R
2
n
2
= 22
R
3
n
3
= 23
Clave = 64 bits
f(x
1
) = x
19
+x
18
+x
17
+x
14
+1
f(x
2
) = x
22
+x
21
+1
C
1
14 19 1
9: bit de reloj
C
2
22
1
11: bit de reloj
C
3
23 8 1
11: bit de reloj
R
1
R
2
R
3
Una funcin
mayora entre
C
1
, C
2
y C
3
hace que slo
los registros en
los que coincide
el bit con ese
valor produzcan
desplazamiento.
En cada paso
habr dos o tres
registros en
movimiento.
f(x
3
) = x
23
+x
22
+x
21
+x
8
+1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 465
Funcin mayora y ejemplo de secuencia
F (C
1
,C
2
,C
3
) = C
1
C
2
C
1
C
3
C
2
C
3
Si el bit de la celda del registro coincide con el resultado de F,
dicho registro estar en movimiento y se desplazar, en caso
contrario no desplazar.
Esta funcin mayora entre las celdas C
1
, C
2
y C
3
, permite que al
menos dos de los tres registros se desplacen en cada paso.
C
1
C
2
C
3
0 0 0 Desplazan todos
0 0 1 No desplaza R
3
0 1 0 No desplaza R
2
0 1 1 No desplaza R
1
C
1
C
2
C
3
1 0 0 No desplaza R
1
1 0 1 No desplaza R
2
1 1 0 No desplaza R
3
1 1 1 Desplazan todos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 466
Consideraciones sobre el perodo de A5/1
El perodo T vendr dado por el mnimo comn mltiplo de los tres
perodos individuales:
T = mcm (2
n1
- 1, 2
n2
- 1, 2
n3
- 1)
Como n
1
, n
2
y n
3
son primos entre s, tambin lo sern los valores
(2
n1
-1), (2
n2
- 1) y (2
n3
- 1). Luego el perodo T ser el producto:
T = T
1
T
2
T
3
Entonces T = (2
19
-1)(2
22
-1)(2
23
-1) = 524.2874.194.3038.388.607
T = 18.446.702.292.280.803.327 < 2
64
Este valor demasiado bajo /sucumbe ante ataques distribuidos tal
como veremos cuando se estudien debilidades del algoritmo DES.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 467
Registros y funcin mayora en A5/2
Usa los mismos tres registros de desplazamiento con polinomio
primitivo que A5/1:
f(x
1
) = x
19
+ x
18
+ x
17
+ x
14
+ 1
f(x
2
) = x
22
+ x
21
+ 1
f(x
3
) = x
23
+ x
22
+ x
21
+ x
8
+ 1
Adems, usa un cuarto registro R
4
con un polinomio primitivo:
f(x
4
) = x
17
+ x
12
+ 1
Usa cuatro copias de una funcin mayora F para cada uno de los
cuatro registros que se define como:
F(x
1
,x
2
,x
3
) = x
1
x
2
+ x
1
x
3
+ x
2
x
3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 468
Otras operaciones de A5/2
En R
1
las entradas a la funcin F
1
son las celdas 13, 15 y 16.
En R
2
las entradas a la funcin F
2
son las celdas 10, 14 y 17.
En R
3
las entradas a la funcin F
3
son las celdas 14, 17 y 19.
En R
4
las entradas a la funcin F
4
son las celdas 4, 8 y 11.
La salida de esta copia determina qu registros de R
1
,R
2
,R
3
se desplazarn en el ciclo.
Complementacin de celdas y sumas en salida de F:
En R
1
se complementa la celda 15 y se suma la celda 19 a F.
En R
2
se complementa la celda 17 y se suma la celda 22 a F.
En R
3
se complementa la celda 14 y se suma la celda 23 a F.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 469
Cuestiones y ejercicios (1 de 3)
1. Por qu en los sistemas de cifra en flujo se usa una funcin XOR
tanto en emisor como en receptor? Son las claves aqu inversas?
2. Si tenemos una clave de 16 bits, cul es el perodo mximo que
podremos lograr en una secuencia cifrante lineal? Por qu?
3. Qu rachas encuentra en la secuencia 110100111010100?
4. Por qu es lgico esperar ms rachas cortas que rachas largas?
5. Si en una secuencia cifrante se observa una correlacin fuera de fase
no constante, qu significa? Podramos hacer un ataque similar al
que permite romper el sistema de cifra polialfabtico de Vigenre?
6. A nivel de probabilidades de ocurrencia de bits, qu significan los
postulados de Golomb G1 y G2?
7. Qu significa que una secuencia cifrante pase por todos los estados
o restos posibles? Cul sera en este caso su perodo?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 470
Cuestiones y ejercicios (2 de 3)
8. Qu secuencias se obtiene con un generador de congruencia lineal
en el que a = 7, b = 4 y n = 8? Y si ahora hacemos a = 3?
9. Qu tipo de ataque podramos intentar para romper una secuencia
cifrante obtenida con un generador de congruencia lineal?
10. Por qu en un registro de desplazamiento siempre se realimenta el
bit de la ltima celda, es decir bit que sale a lnea?
11. En el generador NLFSR de los apuntes si se cambia la funcin AND
por una OR, qu sucede con la secuencia? Saque conclusiones.
12. Decimos que los generadores LFSR tienen asociado un polinomio
f(x) = a
n
x
n
+ a
n-1
x
n-1
+ a
n-2
x
n-2
+ ... + a
2
x
2
+ a
1
x + 1, donde a
i
toma los
valores de 0 1. Por qu f(x) termina en 1?
13. Qu polinomio elegira para un generador con LFSR, un polinomio
factorizable, uno irreducible o uno primitivo? Por qu?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 471
Cuestiones y ejercicios (3 de 3)
14. Por qu no est permitida la cadena de n ceros en un generador
LFSR de n etapas y en cambio s en los NLFSR?
15. En el generador LFSR con f(x) primitivo de 4 etapas, la secuencia
pasa por todos los restos excepto 0000. Si usamos hora una semilla
distinta, debemos hacer otra vez todos los clculos o no? Por qu?
16. Justifique la distribucin de las rachas en una m-secuencia. Por qu
tiene ese comportamiento extrao al final de las rachas largas?
17. Qu debilidad de los sistemas LFSR con polinomios primitivos usa
el algoritmo de Berlekamp-Massey para realizar el ataque?
18. En un ataque de Berlekamp-Massey, importa en qu posicin de la
secuencia se encuentran los 2n bits? Por qu?
19. Por qu cree que el algoritmo A5/1 es dbil? Cul fue el peor
error cometido por sus creadores?
Software de laboratorio de flujo: prximamente en pgina web de la asignatura.
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 119 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
Curso de Seguridad Informtica y Criptografa JRA
v 4.1
Captulo 12
Cifrado Simtrico en Bloque
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 473
MENSAJE (N bits)
BLOQUE A BLOQUE B


FUNCIN f
N/2 N/2
k
i
X
i
A X
i
B X
i


FUNCIN f
k
i
X
i
A B
A X
i
B X
i
Puesto que Y X
i
X
i
= Y
Cifrado y descifrado genrico en bloque
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 474
Dado un bloque de N bits (tpico 64) ste
se dividir en dos mitades.
Existir una funcin unidireccional F
(muy difcil de invertir).
Se realizan operaciones con la clave k
i
slo con una mitad del bloque, y se
permutan en cada vuelta las dos mitades,
operacin que se repite durante n vueltas.
Horst Feistel: inventor (IBM) del algoritmo LUCIFER a comienzos de
los aos 70. El algoritmo fue utilizado por el Reino Unido. En 1974 se
propone a la NSA como estndar y en ese ao dar origen al DES.
Cifrado tipo Feistel

http://en.wikipedia.org/wiki/Feistel_network
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 475
El algoritmo usar bloques de tamao 8 caracteres. Tendr dos
vueltas y en cada vuelta realizar una operacin de sustitucin
S y una permutacin P sobre la 1 mitad.
Sustitucin: C
i
= (M
i
+1 ) mod 27
Permutacin: C
i
=
3241
(el carcter 1 pasa a la 4 posicin
en el criptograma, el 4 a la 3, el 2 a la 2 y el 3 a la 1)
Un ejemplo bsico de cifrado tipo Feistel
Mensaje: M = STAR WARS, LA MISIN CONTINA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 476
M = STAR WARS, LA MISIN CONTINA
M
1
= STAR WARS LAMI SION CONT INUA
S
1
= TUBS WARS MBNJ SION DPU INUA
P
1
= BUST WARS NBJM SION PUD INUA
M
2
= WARS BUST SION NBJM INUA PUD
S
2
= XBST BUST TJP NBJM JVB PUD
P
2
= SBTX BUST PJT NBJM VBJ PUD
M = STAR WARS, LA MISIN CONTINA
M
1
= STAR WARS LAMI SION CONT INUA
S
1
= TUBS WARS MBNJ SION DPU INUA
P
1
= BUST WARS NBJM SION PUD INUA
M
2
= WARS BUST SION NBJM INUA PUD
S
2
= XBST BUST TJP NBJM JVB PUD
P
2
= SBTX BUST PJT NBJM VBJ PUD
Primera
vuelta
Segunda
vuelta
Cifrado tipo Feistel en cuerpo n = 27
S
i
: +1 mod 27
P
i
:
3241
C = SBTX BUST PJT NBJM VBJ PUD
Aunque le parezca increble, el DES har prcticamente lo mismo
trabajando con bits y con funciones un poco ms complejas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 477
Algoritmo Bloque (bits) Clave (bits) Vueltas
Lucifer 128 128 16
DES 64 56 16
Loki 64 64 16
RC2 64 variable --
CAST 64 64 8
Blowfish 64 variable 16
IDEA 64 128 8
Cifradores de bloque ms conocidos
Skipjack 64 80 32
Rijndael 128 128 o ms flexible
E

Jorge Rami Aguirre Madrid (Espaa) 2006


Captulo 12: Cifrado Simtrico en Bloque
Pgina 478
Caractersticas de estos algoritmos (1)
Lucifer: algoritmo original tipo Feistel usado a comienzos de
los aos 70 por en el Reino Unido y que posteriormente dar
lugar al DES.
DES: algoritmo tipo Feistel que se convirti en estndar
durante casi treinta aos. Hoy es vulnerable por su pequea
longitud de clave y ha dejado de ser estndar mundial.
Loki: algoritmo australiano similar al DES, tambin de tipo
Feistel.
RC2: algoritmo propuesto por Ron Rivest y que se incluye en
navegadores de Internet desde 1999.
CAST: algoritmo canadiense tipo Feistel que se ofrece como
uno de los algoritmos de cifra en ltimas versiones de PGP.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 479
Caractersticas de estos algoritmos (2)
Blowfish: algoritmo de tipo Feistel propuesto por Bruce
Schneier.
IDEA: algoritmo europeo usado principalmente en el correo
electrnico PGP.
Skipjack: propuesta de nuevo estndar en USA a finales de
los 90 para comunicaciones oficiales (tiene puerta trasera).
Rijndael: nuevo estndar mundial desde finales de 2001,
conocido como AES, Advanced Encryption Standard.
Encontrar las especificaciones de stos y otros algoritmos de
cifra simtrica y asimtrica en la siguiente pgina web.

http://www.quadibloc.com/crypto/intro.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 480
Algoritmo Bloque (bits) Clave (bits) Vueltas
Twofish 128 variable variable
Khufu 64 512 16, 24, 32
Khafre 64 128 ms vueltas
Gost 64 256 32
RC5 variable variable variable
SAFER 64 64 64 8
Akelarre variable variable variable
FEAL 64 64 32
Otros cifradores de bloque
De stos, los ms conocidos son Twofish -uno de los candidatos a
AES- y que lo encontraremos en ltimas versiones de PGP y RC5.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 481
Twofish: Propuesto por Bruce Schneir despus de Blowfish, de
tipo Feistel, diseo simple, sin claves dbiles y multiplataforma.
Khufu: algoritmo propuesto por Ralph Merkle con una clave
generada con un sistema de cajas S.
Khafre: algoritmo propuesto por Ralph Merkle en el que la
clave ya no depende de las cajas S.
Gost: algoritmo similar al DES con cajas S secretas propuesto
en la Unin Sovitica.
RC5: algoritmo propuesto por Ron Rivest; realiza operaciones
or exclusivo, suma modular y desplazamiento de bits.
SAFER 64: algoritmo propuesto por James Massey.
Akelarre: algoritmo espaol propuesto en 1996 por el CSIC,
Consejo Superior de Investigaciones Cientficas.
FEAL: algoritmo propuesto en Japn.
Caractersticas de estos algoritmos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 482
Algoritmo Kbytes/seg Algoritmo Kbytes/seg
DES 35 Triple DES 12
IDEA 53 FEAL (32 v) 91
Khufu (16 v) 221 Khufu (32 v) 115
RC5 (8 v) 127 RC5 (16 v) 65
SAFER (6 v) 81 SAFER (12 v) 41
Blowfish (12 v) 182 Blowfish (20 v) 110
Velocidad de cifra de algoritmos en un PC 486 a 33 MHz
Fuente: Criptografa Digital. Fundamentos y
Aplicaciones. Jos Pastor y Miguel Angel Sarasa,
Prensas Universitarias de Zaragoza (1998).
Dada la baja velocidad
del PC , estos valores
son slo indicativos
para una comparacin.
Algunas tasas de cifra comparativas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 483
Profundizaremos en estas diapositivas en los algoritmos
DES, Triple DES, IDEA y AES. Por qu?
Algoritmos DES, IDEA y AES
DES es un cifrador de Feistel, ha sido un estndar y en
aplicaciones bancarias se seguir usando durante algn tiempo.
DES es de muy fcil comprensin y usa cajas S al igual que
varios algoritmos ms modernos como el actual estndar AES.
Triple DES sigue siendo un estndar en e-commerce.
IDEA es un algoritmo seguro que hace uso de los conceptos de
inversos en un cuerpo finito, como todos los algoritmos de
cifra modernos, y se usa entre otros en la aplicacin PGP.
AES (Rijndael) es el nuevo estndar de cifra avanzada.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 484
Modos de cifra
Todos los algoritmos pueden usarse aplicando diversos
modos de cifra, entre ellos:
- ECB: Electronic CodeBook (libro electrnico de cdigos)
- CBC: Cipher Block Chaining (encadenamiento de bloques)
- CFB: Cipher FeedBack (realimentacin de bloques)
- OFB: Output FeedBack (realimentacin bloque de salida)
Analizaremos cada uno de ellos para el caso del DES,
aunque el estudio es extensible a todos los dems ya que en
estos modos el cifrador se considera una caja negra.

http://www.itl.nist.gov/fipspubs/fip81.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 485
DES (Data Encryption Standard) ha sido el estndar utilizado
mundialmente durante 25 aos, generalmente en la banca. Hoy
presenta signos de envejecimiento y ha sucumbido a los diversos
criptoanlisis que contra l se viene realizando hace ya aos.
FECHAS DE INTERS
1973: En EEUU la NBS National Bureaux of Standards llama a
concurso pblico para buscar un algoritmo criptogrfico estndar.
1974: La NSA National Security Agency declara desierto el
primer concurso, publica unas segundas especificaciones y elige
Lucifer, algoritmo original de IBM (aos 70) con variaciones.
1976: El DES se adopta como estndar y se autoriza para ser
utilizado en las comunicaciones no clasificadas del gobierno.
Data Encryption Standard DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 486
Especificaciones del concurso
El nivel de seguridad computacional debe ser alto.
El algoritmo debe ser fcil de entender y deber estar
especificado en todos sus detalles.
La seguridad del sistema no debe verse afectada por la
publicacin y divulgacin del algoritmo.
Debe estar disponible para cualquier usuario.
Deber poder usarse en diferentes aplicaciones.
Fabricacin con dispositivos electrnicos de bajo costo.
Se debe poder usar como validacin.
Debe ser exportable.
Especificaciones del algoritmo DES
No se cumplen en 1973 pero s en 1974, aunque ...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 487
La NSA, National Security Administration, impone una
limitacin en la longitud de la clave:
De los 128 bits de Lucifer, NSA
deja la clave en 64 bits. La clave
efectiva slo son 56 bits puesto
que al ser datos de 8 bits, no
ASCII, se conoce el bit de paridad.
Luego, el espacio de claves ser
2
56
= 7.2 10
16
, tan slo setenta y
dos mil billones de valores, un
valor pequeo en criptografa.
El papel de la NSA en el DES
K = 72.057.594.037.927.936
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 488
Reduccin del tamao de la clave?
Hay distintas versiones sobre esta
reduccin del espacio de claves: una
habla de la dificultad de disear
chips capaces de operar de forma
eficiente con una clave de 128 bits
en esos aos 70; la otra sobre una
poltica de seguridad interna para
proteger informacin sensible ante
ataques externos y ser capaces, eso
s, de practicar criptoanlisis en un
tiempo razonable.
Es muy posible que
ambas razones tengan
su justificacin tcnica
y poltica. Ud. puede
pensar lo que quiera
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 489
Bloque a cifrar: 64 bits
Clave: 8 bytes (con paridad, no caracteres ASCII)
Normas ANSI:
X3.92: Descripcin del algoritmo.
X3.108: Descripcin de los modos de operacin
(ECB, CBC, OFB).
Fcil implementacin en un circuito integrado.
Especificaciones tcnicas finales del DES
Veremos su descripcin y modos de operacin. En la pgina
que se indica encontrar las especificaciones del DES.

http://www.itl.nist.gov/fipspubs/fip46-2.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 490
+ Cifrador de bloque
+ Tipo Feistel
+ Longitud de clave de 56 bits
+
+
Realiza
Realiza 16 vueltas.
+
+
La cifra del b
La cifra del bloque central usa
tcnicas de sustituciones y
permutaciones.
+ Para poder realizar las sumas or
exclusivo, usar permutaciones
con expansin y compresin para
igualar el nmero de bits.
En el descifrado se aplican claves y
desplazamientos en sentido inverso
Visin general del DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 491
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7

Tabla IP sobre bloque de texto
(no tiene inters criptogrfico)
El bit 1 se lleva a la posicin 40
El bit 1 se lleva a la posicin 40
Permutacin inicial del DES: tabla IP
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 492
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7

L
0
= 58 50 42 34 26 18 10 02 60 52 44 36
28 20 12 04 62 54 46 38 30 22 14 06
64 56 48 40 32 24 16 08
R
0
= 57 49 41 33 25 17 09 01 59 51 43 35
27 19 11 03 61 53 45 37 29 21 13 05
63 55 47 39 31 23 15 07
Observe la distribucin correlativa que existe entre los
bits del bloque izquierdo L
0
y del bloque derecho R
0
de
texto. Este tipo de distribucin de los bits en tablas, a
simple vista caprichosa , ser muy comn en el DES.
Bloques izquierdo y derecho de texto
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 493
Tabla IP
-1
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25

El bit 40 vuelve a la posicin 1
y todos los dems bits a su
posicin inicial antes de IP.
El bit 40 vuelve a la posicin 1
y todos los dems bits a su
posicin inicial antes de IP.
Permutacin final del DES: tabla IP
-1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 494
Se permuta la mitad derecha R
i
aplicando expansin a 48 bits
La clave de 56 bits se desplaza,
permuta y se seleccionan los 48
bits de K
i
de cada vuelta.
La nueva mitad derecha R
i
y la
clave K
i
se suman XOR
Se reducen los 48 bits de salida
a 32 bits mediante las Cajas-S
Se permuta el resultado
El resultado se suma XOR con
la mitad izquierda L
i
EN CADA CICLO:
En la prxima
vuelta, la mitad
derecha anterior
pasa ntegra como
mitad izquierda. La
mitad derecha de la
nueva vuelta ser el
ltimo resultado or
exclusivo del ciclo.
Operaciones en cada ciclo del DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 495
Esquema de la
funcin de cifra
f en cada ciclo
En las cajas S
se consigue la
fortaleza del
algoritmo. Es
una funcin
unidireccional
y no lineal.
En las cajas S
se consigue la
fortaleza del
algoritmo. Es
una funcin
unidireccional
y no lineal.
Mdulo de cifra en DES
16 bits repetidos
Columnas 1 y
2 repetidas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 496
1 6 7 12 13 18 19 24 25 30 31 36 37 42 43 48
1 4 5 8 9 12 13 16 17 20 21 24 25 28 29 32
Permutacin con expansin a 48 bits (Tabla E)
k
i
(48 bits)
Operacin Or Exclusivo con la subclave k
i
S
1
S
2
S
3
S
4
S
5
S
6
S
7
S
8
Sustitucin con compresin a 32 bits (Cajas S)
Permutacin de Salida del ciclo (Tabla P)
De cada 6 bits de entrada se obtienen 4 bits de salida
No lineal y unidireccional. Hay cuatro soluciones de entrada para cada salida
Operacin de las cajas S en el DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 497
Valores de las cajas S
1
y S
2
del DES
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
1
F
I
L
A
S
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
2
F
I
L
A
S
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 498
Valores de las cajas S
3
y S
4
del DES
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
3
F
I
L
A
S
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
4
F
I
L
A
S
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 499
Valores de las cajas S
5
y S
6
del DES
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
5
F
I
L
A
S
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
6
F
I
L
A
S
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 500
Valores de las cajas S
7
y S
8
del DES
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
7
F
I
L
A
S
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
8
F
I
L
A
S
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 501
Ejemplo:
Sean los bits 7 al 12 los siguientes: 101100
Los bits correspondern entonces a la entrada de la caja S
2
Para seleccionar la fila tomamos los bits extremos: 10
2
= 2
10
= 2
Para seleccionar la columna tomamos los bits centrales: 0110
2
= 6
10
= 6
La caja S
2
indica una salida igual a 13
10
= 1101
2
explicacin
Entrada: 101100 (6 bits)
Salida: 1101 (4 bits)
Ejemplo de operacin de cajas S del DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 502
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4

Se han eliminado los bits de paridad:
8, 16, 24, 32, 40, 48, 56, 64.
Tabla PC-1 (56 bits)
28 bits 28 bits
Clculo de subclaves en el DES (PC-1)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 503
4 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32

Tabla PC-2 (48 bits) k
1
, k
2
, ..., k
16
Se han eliminado los bits:
9, 18, 22, 25, 35, 38, 43, 54.
28 bits 28 bits
48 bits
48 bits
48 bits
Clculo de subclaves en el DES (PC-2)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 504
Vuelta i Bits Desp. Izda.
1 1
2 1
3 2
4 2
5 2
6 2
7 2
8 2
Vuelta i Bits Desp. Izda.
9 1
10 2
11 2
12 2
13 2
14 2
15 2
16 1
Se produce un desplazamiento total igual
a 28, todos los bits de cada bloque Ci y Di
28 bits 28 bits
Desplazamiento de subclaves en el DES
LF
1
, LF
2
, ..., LF
16

Jorge Rami Aguirre Madrid (Espaa) 2006


Captulo 12: Cifrado Simtrico en Bloque
Pgina 505
Se toman en sentido contrario:
k
16
, k
15
, k
14
, k
13
, k
12
, k
11
, k
10
,
k
9
, k
8
, k
7
, k
6
, k
5
, k
4
, k
3
, k
2
, k
1
Como se aplica un desplazamiento
de 28 bits en cada bloque de clave,
entonces D
16
= D
0
y C
16
= C
0
Los desplazamientos para el clculo de
las subclaves de descifrado son los
mismos de la tabla anterior pero ahora
se toman hacia la derecha, puesto que
los desplazamientos coinciden.
64 bits de criptograma
Operacin de descifrado en el DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 506
Claves dbiles en hexadecimal:
Una clave es dbil si se verifica que: E
k
[E
k
(M)] = M
Adems de 0000000000000000 y FFFFFFFFFFFFFFFF (que son obvias)
sern dbiles estas cuatro claves:
0101010101010101 FEFEFEFEFEFEFEFE
EOEOEOEOF1F1F1F1 1F1F1F1F0E0E0E0E
Claves semidbiles en hexadecimal:
Una clave es semidbil si se verifica que: E
k1
[E
k2
(M)] = M
Son claves k
1
,k
2
semidbiles las siguientes seis parejas:
(01FE01FE01FE01FE, FE01FE01FE01FE01)
(1FE01FE00EF10EF1, E01FE01FF10EF10E)
(01E001E001F101F1, E001E001F101F101)
(1FFE1FFE0EFE0EFE, FE1FFE1FFE0EFE0E)
(011F011F010E010E, 1F011F010E010E01)
(E0FEE0FEF1FEF1FE, FEE0FEE0FEF1FEF1)
Adems de stas, hay otras ecuaciones que verifican dichas claves.
Claves dbiles y semidbiles
Los bloques C y D de la
clave son todos 0s 1s.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 507
Ejemplo 1: a partir de las tablas PC-1 y PC-2, encuentre la secuencia de
bits de los registros C
1
y D
1
y la subclave k
1
.
Solucin:
i = 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
C
1
= 49 41 33 25 17 09 01 58 50 42 34 26 18 10 02 59 51 43 35 27 19 11 03 60 52 44 36 57
i = 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
D
1
= 55 47 39 31 23 15 07 62 54 46 38 30 22 14 06 61 53 45 37 29 21 13 05 28 20 12 04 63
k
1
= 10 51 34 60 49 17 33 57 02 09 19 42 03 35 26 25 44 58 59 01 36 27 18 41
22 28 39 54 37 04 47 30 05 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31
Ejemplo 2: si la clave es PRUEBALO, encuentre C
0
y D
0
y la subclave
k
1
. Para encontrar C
0
y D
0
escriba en ASCII la clave y elimine el ltimo
bit de cada byte como si fuese el de paridad.
Solucin:
C
0
= 0000 0000 1111 1111 0000 0000 0000
C
1
= 1001 0010 1100 1100 1100 0000 0111
k
1
= 101000 001001 001001 000010 101101 010100 100111 100100
Ejemplo de clculo de claves en DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 508
Debilidades:
Se podra reconstruir ese libro electrnico sin necesidad
de conocer la clave.
Aparece el problema denominado de comienzos y finales
fijos que permiten un tipo de ataque sencillo.
Se ataca a travs de la repeticin de bloques similares.
Modo de cifra ECB
Electronic CodeBook: cifra cada bloque con la clave k de
forma independiente. Por lo tanto, el resultado es como si se
codificase mediante un gran libro electrnico de cdigos.
Recuerde: codificar no es lo mismo que cifrar.
Recuerde que estos modos son vlidos para todos los cifradores en bloque
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 509
Cada bloque de 64 bits del texto en claro se
pasa por el cifrador, usando la misma clave de
64 bits.
Para bloques de texto en claro iguales, se
obtiene siempre el mismo criptograma.
Como a cada bloque de texto en claro le
corresponde un nico cdigo o texto cifrado de
salida y ste es constante, este modo de cifra
lleva por nombre Libro Electrnico de Cdigos.
Es como si tuvisemos un gran libro de cdigo
con un cdigo distinto para cada mensaje.
Caractersticas del modo ECB en DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 510
Se encadenan los
bloques de texto en
claro con el bloque del
criptograma anterior.
Usa un vector de
inicializacin IV de 64
bits que se guarda en
secreto.
Vector IV = I
0
Modo de cifra CBC en DES
Cipher Block Chaining:
cifra por encadenamiento
de bloques (el ms comn)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 511
Cifrado
El vector IV se suma
XOR a los 64 bits de
texto en claro.
Se cifra con la clave K
esa suma.
El resultado C
i
se usa
como vector IV para el
nuevo bloque.
Descifrado
Se descifra el primer bloque con
vector IV:
P
1
= D(C
1
) I
0
P
1
= D[E(P
1
I
0
)] I
0
Se guarda el bloque C
i-1
en un
registro. Se descifra el bloque C
i
y luego XOR entre esos bloques:
M
i
= D(C
i
) C
i-1
CARACTERSTICAS:
Evita el ataque por repeticin de bloque. Enmascara el mensaje lo
mismo que la cifra en flujo. El espacio de claves es igual a 64 bits.
La propagacin de un error afecta a dos bloques contiguos.
Operaciones de cifra modo CBC en DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 512
Se pueden cifrar
unidades de datos ms
pequeas que bloques,
por lo general un byte.
Se usa un registro de
desplazamiento RD de
64 bits como vector
inicial IV.
CIFRAR
CIFRAR
Modo de cifra CFB en DES
Cipher FeedBack: cifrado
por realimentacin de
bloques
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 513
Cifrado
Se suma XOR cada byte del
texto claro con bytes resultado
de la cifra de RD y la clave K.
El byte C
i
se enva al registro;
se desplazan a la izquierda 8
bits hasta formar otro RD y se
repite el proceso de cifra.
Descifrado
Se cifra el registro RD.
Se obtienen de esta forma
los elementos de C
i-d
.
Se suma XOR los C
i-d
con
los C
i
del criptograma para
obtener P
i
.
Se realimenta C
i
al registro
RD y se repite el proceso.
CARACTERSTICAS:
Evita el ataque por repeticin de bloque; enmascara el mensaje como
en cifra en flujo, el espacio de claves es igual a 64 bits; la propagacin
de un error se limita a un bloque.
Operaciones de cifra modo CFB en DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 514
El DES, la clave y el
Registro RD actan
como un generador de
secuencia cifrante.
Bits menos
significativos
Registro Desplazamiento (64 bits)
Byte
Mensaje
DES
K
C
i-1
B
i
C
i
Si la cifra se realiza bit a bit, OFB se convierte en cifrador de flujo.
Modo de cifra OFB en DES
La realimentacin de la
seal se realiza antes
de la operacin XOR.
Output FeedBack: cifrado
por realimentacin de
bloques de salida
El byte se va desplazando por el registro
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 515
- Evita el ataque por repeticin de bloque.
- Produce un enmascaramiento del mensaje similar al de
un cifrador de flujo.
- El espacio de claves es igual a 64 bits.
- La propagacin de un error afecta slo a un byte, el
que se realimenta en el registro de desplazamiento.
- Las operaciones de cifrado y descifrado son iguales.
Caractersticas del modo OFB en DES
A pesar de las propiedades interesantes de los
ltimos modos, el ms utilizado en los sistemas
de cifra de diversos protocolos es el CBC.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 516
Si un sistema forma un grupo, entonces cifrar un mensaje M
con una clave k
1
y luego el resultado con una clave k
2
, es lo
mismo que cifrar el mensaje con una nica clave k
3
.
Por ejemplo, el cifrador de Vigenre es un grupo como se
demuestra a continuacin. Sea k
1
= PACO y k
2
= CINE y el
mensaje a cifrar M= ESTO ES UN GRUPO.
M
1
= ESTO ESUN GRUP O
k
1
= PACO PACO PACO P
C
1
= TSVD TSWB VRWE E
Obtendremos lo mismo si ciframos el mensaje M
con la clave k
3
= k
1
+ k
2
= PACO + CINE = RIOS.
M
2
= TSVD TSWB VRWE E
k
2
= CINE CINE CINE C
C
2
= VAIH VAJF XZJI G
Cifrado mltiple en un grupo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 517
M
1
= ESTO ESUN GRUP O
k
1
= PACO PACO PACO P
C
1
= TSVD TSWB VRWE E
M
2
= TSVD TSWB VRWE E
k
2
= CINE CINE CINE C
C
2
= VAIH VAJF XZJI G
El DES no ser un grupo y, por lo tanto, permitir el cifrado
mltiple. Esto aumentar el tamao efectivo de la clave.
M
3
= ESTO ESUN GRUP O
k
3
= RIOS RIOS RIOS R
C
3
= VAIH VAJF XZJI G
Como ejercicio compruebe que a resultados similares llega si,
por ejemplo, usa ahora los siguientes pares de claves:
LAPALA y LANUCA; PASA y NADA; PAOS y TERMA.
Cules son las claves k
3
en cada caso?
El DES no es un grupo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 518
Se duplica la longitud de la clave?
En este modelo, cabe esperar que la longitud efectiva de la
clave sea 2
2n
donde n representa la longitud de bits de las
claves k
1
y k
2
. No obstante esto no es cierto.
En realidad el tamao de la clave resultante en este caso es
equivalente a 2
n+1
, un aumento insignificante (un solo bit)
para un valor de n grande (tpico) y por esta razn no se usa.
k
1
k
2
DES DES
M C
k
1
y k
2
son
claves n bits
C
Podramos usar un doble DES?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 519
k
1
y k
2
son
claves n bits
a) Se descripta el criptograma C por fuerza bruta usando las 2
n
claves
posibles y realizando entonces 2
n
clculos. Se obtiene as Y.
b) Con los textos intermedios Y se forma una tabla ordenada de textos
cifrados con sus correspondientes valores k
2
.
c) Se cifra el texto en claro M conocido con todas las claves k
1
y se
comparan los resultados con Y, realizando un mximo de 2
n
clculos.
d) Una de las claves ser la verdadera y se ha realizado un nmero
menor que 2
n
+ 2
n
= 2
n+1
clculos. Luego la clave real es igual a 2
n+1
.
Este ataque se conoce con el nombre de meet-in-the-middle.
Ataque por encuentro a medio camino
k
1
k
2
DES DES M C
Y
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 520
En este caso se logra un valor efectivo de longitud de
clave igual a 2
2n
bits, es decir 2
256
= 2
112
bits efectivos.
El modelo anterior con slo dos claves es compatible con
el DES de clave nica cuando k
1
= k
2
. Es ms eficiente y
equivalente al cifrado triple con claves k
1
, k
2
, k
3
.
Este modelo fue propuesto por Matyas y Meyer de IBM,
se conoce como EDE (Encrypt-Decrypt-Encrypt) y es
inmune a ataques por encuentro a medio camino.
k
1
k
2
E (DES)
M C
k
1
y k
2
son
claves n bits
k
1
D (DES) E (DES)
Triple DES tipo EDE
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 521
k
1
k
2
E (DES)
M C
k
1
y k
2
claves de
64 bits
k
1
D (DES) E (DES)
Aunque el algoritmo DES haya sufrido diversos ataques y no se haya vuelto
a certificar por el NIST como estndar de cifrado, el Triple DES s tiene una
gran seguridad debido al tamao de su clave de 112 bits efectivos y sigue
siendo vlido en el ao 2005. De hecho, era el algoritmo propuesto en el
protocolo SET y se encuentra, entre otras aplicaciones, en el programa PGP.
Usos de Triple DES

http://www.rsasecurity.com/rsalabs/node.asp?id=2231
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 522
Historia del IDEA
En 1990 Xuejia Lai y James Massey proponen el PES,
Proposed Encryption Standard.
En 1991 -debido a los avances de Biham y Shamir en el
criptoanlisis diferencial- los autores proponen el IPES,
Improved Proposed Encryption Standard.
En 1992 los autores proponen finalmente el algoritmo
IDEA, International Data Encryption Algorithm.
En 1999 el algoritmo IDEA, mucho ms seguro que el
DES y sus versiones, se comienza a usar ampliamente en
el sistema de correo electrnico seguro PGP.
International Data Encryption Algorithm IDEA

http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 523
Cifra bloques de 64 bits
en 8 vueltas
Hay una transformacin
final con 4 claves para
invertir operacin inicial
Divide la entrada M en
cuatro bloques de 16 bits
Se generan 52 subclaves
de 16 bits a partir de la
clave maestra de 128 bits
Usa 6 claves por vuelta
Todas sus operaciones
se realizan dentro de
un cuerpo finito
Estructura y esquema de IDEA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 524
Operaciones bsicas
XOR
Suma mdulo 2
16
(mod 65.536)
Multiplicacin mdulo 2
16
+1
(
(65.537)
Es primo y se
asegura el inverso
multiplicativo
Operaciones matemticas en IDEA
Todas las operaciones se realizan con bloques de 16 bits y el
truco est en que los bloques cuyo valor sea 0 (16 bits) se
cambiarn por la constante 2
16
...de 17 bits . Simplemente
representa la salida con n bits, no teniendo en cuenta el bit de
desbordamiento. Un ejemplo con nmeros pequeos:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 525
Ejemplo dentro de un grupo n pequeo
Como 2
n
+ 1 debe ser primo, sea n = 2 ya que 2
2
= 4 y 2
2
+ 1 = 5
X Y X + Y X Y X Y
0 00 0 00 0 00 1 01 0 00
0 00 1 01 1 01 0 00 1 01
0 00 2 10 2 10 3 11 2 10
0 00 3 11 3 11 2 10 3 11
1 01 0 00 1 01 0 00 1 01
1 01 1 01 2 10 1 01 0 00
1 01 2 10 3 11 2 10 3 11
1 01 3 11 0 00 3 11 2 10
2 10 0 00 2 10 3 11 2 10
2 10 1 01 3 11 2 10 3 11
2 10 2 10 0 00 0 00 0 00
2 10 3 11 1 01 1 01 1 01
3 11 0 00 3 11 2 10 3 11
3 11 1 01 0 00 3 11 2 10
3 11 2 10 1 01 1 01 1 01
3 11 3 11 2 10 0 00 0 00

Operaciones: + mod 2
n
(mod 4), mod 2
n
+1 (mod 5), XOR (mod 2)
n = 2
dos bits
Veremos cmo
se opera con la
multiplicacin.
La suma y el or
exclusivo son
operaciones
similares.
Operaciones +, y en grupo pequeo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 526
X Y X + Y X Y X Y
0 00 0 00 0 00 1 01 0 00
0 00 1 01 1 01 0 00 1 01
0 00 2 10 2 10 3 11 2 10
0 00 3 11 3 11 2 10 3 11
1 01 0 00 1 01 0 00 1 01
1 01 1 01 2 10 1 01 0 00
1 01 2 10 3 11 2 10 3 11
1 01 3 11 0 00 3 11 2 10
2 10 0 00 2 10 3 11 2 10
2 10 1 01 3 11 2 10 3 11
2 10 2 10 0 00 0 00 0 00
2 10 3 11 1 01 1 01 1 01
3 11 0 00 3 11 2 10 3 11
3 11 1 01 0 00 3 11 2 10
3 11 2 10 1 01 1 01 1 01
3 11 3 11 2 10 0 00 0 00

Operaciones: + mod 2
n
(mod 4), mod 2
n
+1 (mod 5), XOR (mod 2)
Ejemplo de operacin en IDEA
Recuerde que 0
es igual a 2
n
= 4
por lo que:
00 = 2
2
x 2
2
= 16 mod 5
= 1
Recuerde que 0
es igual a 2
n
= 4
por lo que:
00 = 2
2
x 2
2
= 16 mod 5
= 1
01 = 2
2
x 1 = 4
= 4 mod 5
= 4 = 0
(por definicin)
01 = 2
2
x 1 = 4
= 4 mod 5
= 4 = 0
(por definicin) 02 = 2
2
x 2 = 8
= 8 mod 5
= 3
02 = 2
2
x 2 = 8
= 8 mod 5
= 3
03 = 2
2
x 3 = 12
= 12 mod 5
= 2
03 = 2
2
x 3 = 12
= 12 mod 5
= 2
Los dems clculos con los diferentes valores de X e Y son todos similares
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 527
Operaciones inversas
al comienzo y al final
del algoritmo. Esto
permite usar el mismo
algoritmo para cifrar
que para descifrar.
Bloque principal
MA
Operacin cifrado
Detalles del algoritmo IDEA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 528
Estas tres operaciones provocan confusin y no
cumplen las leyes distributiva ni asociativa.
La estructura que crea la
difusin es un bloque bsico
denominado Estructura MA
Multiplication / Addition.
Usa slo dos claves por cada
vuelta y sus entradas F
1
, F
2
as como sus salidas G
1
, G
2
estn conectadas por XOR.
Bloque principal de IDEA

Jorge Rami Aguirre Madrid (Espaa) 2006


Captulo 12: Cifrado Simtrico en Bloque
Pgina 529
A partir de una entrada de
128 bits, se generan las 52
subclaves de cifrado.
Se produce un desplazamiento de 25
bits a la izquierda en cada una de las
7 fases de generacin de claves.
26
23 86
64 bits de ltimas claves
Con los
primeros
128 bits se
generan 8
subclaves
de 16 bits
cada una.
Los 64
ltimos
bits de
la fase 7
no se
usan.
Generacin de claves en IDEA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 530

Clave Principal k = 128 bits
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032
033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064
065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096
097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128

Primeros 16 bits de clave . Ultimos 16 bits de clave
1 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 . 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
2 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 . 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025
3 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 . 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050
4 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 . 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075
5 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 . 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100
6 126 127 128 001 002 003 004 005 006 007 008 009 010 011 012 103 . 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
7 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 . 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022


En cada operacin sobre la clave de 128 bits, se obtienen 8
claves de 16 bits de las que slo se usan 6 en cada vuelta.
Las claves restantes se guardan para la siguiente vuelta.
Desplazamientos de la clave en IDEA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 531
Primera vuelta: k
1
k
2
k
3
k
4
k
5
k
6
B[196]
Segunda vuelta: k
7
k
8
k
9
k
10
k
11
k
12
B[97128; 2689]
Tercera vuelta: k
13
k
14
k
15
k
16
k
17
k
18
B[90128; 125; 5182]
Cuarta vuelta: k
19
k
20
k
21
k
22
k
23
k
24
B[83128; 150]
Quinta vuelta: k
25
k
26
k
27
k
28
k
29
k
30
B[76128; 143]
Sexta vuelta: k
31
k
32
k
33
k
34
k
35
k
36
B[4475; 101128; 136]
Sptima vuelta: k
37
k
38
k
39
k
40
k
41
k
42
B[37100; 126128; 129]
Octava vuelta: k
43
k
44
k
45
k
46
k
47
k
48
B[30125]
Transformacin: k
49
k
50
k
51
k
52
B[2386]
Claves usadas por IDEA en cada en vuelta
La distribucin de bits de subclaves
en cada vuelta sigue una lgica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 532
K
1
: 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016
K
7
: 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112
K
13
: 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105
K
19
: 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098
K
25
: 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091
K
31
: 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059
k
37
: 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052
k
43
: 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045
Primeras claves en cada vuelta en IDEA
Las primeras claves de cada vuelta k
1
, k
7
, k
13
, k
19
, k
25
, k
31
, k
37
y
k
43
usan un conjunto diferente de bits. Excepto en las vueltas
primera y octava, los 96 bits de subclave usados en cada vuelta,
no son contiguos. Debido al desplazamiento en cada fase de 25
bits a la izquierda, se hace muy difcil el ataque a la clave.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 533
Ejemplo de clculo de claves en IDEA
Si la clave es IDEA es la clave de 16 caracteres (128 bits),
encuentre los 16 bits de la segunda clave de la cuarta vuelta.
Solucin:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1
115 116 117 118 119 120 121 122 123 124 125 126 127 128
1 1 0 1 1 0 0 1 1 0 0 1 0 1
Como en cada vuelta se usan 6 subclaves, la segunda clave de la
cuarta vuelta ser la nmero 36+2 = 20. Como la clave 19
termina en el bit 98, la clave 20 sern los 16 bits siguientes, es
decir del 99 al 114: k
20
= 10110001 10000101.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 534
INVERSOS
El algoritmo IDEA, al igual que el DES, permite cifrar y
descifrar con la misma estructura. Como las operaciones se
hacen dentro de un cuerpo finito, en este caso las claves se
toman como los inversos de las operaciones XOR, suma
mod 2
16
y producto mod 2
16
+1, dependiendo de las
operaciones realizadas en la fase de cifrado.
Inverso XOR: se aplica la misma funcin
Inverso aditivo: suma mod 2
16
Inverso multiplicativo: producto mod 2
16
+1
Descifrado con IDEA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 535

d
1
= k
49
-1
d
2
= -k
50
d
3
= -k
51
d
4
= k
52
-1
d
5
= k
47
d
6
= k
48

d
7
= k
43
-1
d
8
= -k
45
d
9
= -k
44
d
10
= k
46
-1
d
11
= k
41
d
12
= k
42

d
13
= k
37
-1
d
14
= -k
39
d
15
= -k
38
d
16
= k
40
-1
d
17
= k
35
d
18
= k
36

d
19
= k
31
-1
d
20
= -k
33
d
21
= -k
32
d
22
= k
34
-1
d
23
= k
29
d
24
= k
30

d
25
= k
25
-1
d
26
= -k
27
d
27
= -k
26
d
28
= k
28
-1
d
29
= k
23
d
30
= k
24

d
31
= k
19
-1
d
32
= -k
21
d
33
= -k
20
d
34
= k
22
-1
d
35
= k
17
d
36
= k
18

d
37
= k
13
-1
d
38
= -k
15
d
39
= -k
14
d
40
= k
16
-1
d
41
= k
11
d
42
= k
12

d
43
= k
7
-1
d
44
= -k
9
d
45
= -k
8
d
46
= k
10
-1
d
47
= k
5
d
48
= k
6

d
49
= k
1
-1
d
50
= -k
2
d
51
= -k
3
d
52
= k
4
-1


Inversos del producto
Inversos de la suma
Inversos del XOR
Claves de descifrado en IDEA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 536
Para descifrar, cada
bloque de criptograma
se dividir en cuatro
subbloques de 16 bits
Las operaciones
se hacen ahora
hacia arriba
Operacin de descifrado con IDEA
Mdulo IDEA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 537
d
1
= k
49
-1
d
2
= -k
50
d
3
= -k
51
d
4
= k
52
-1
d
5
= k
47
d
6
= k
48
d
7
= k
43
-1
d
8
= -k
45
d
9
= -k
44
d
10
= k
46
-1
d
11
= k
41
d
12
= k
42
d
13
= k
37
-1
d
14
= -k
39
d
15
= -k
38
d
16
= k
40
-1
d
17
= k
35
d
18
= k
36
d
19
= k
31
-1
d
20
= -k
33
d
21
= -k
32
d
22
= k
34
-1
d
23
= k
29
d
24
= k
30
d
25
= k
25
-1
d
26
= -k
27
d
27
= -k
26
d
28
= k
28
-1
d
29
= k
23
d
30
= k
24
d
31
= k
19
-1
d
32
= -k
21
d
33
= -k
20
d
34
= k
22
-1
d
35
= k
17
d
36
= k
18
d
37
= k
13
-1
d
38
= -k
15
d
39
= -k
14
d
40
= k
16
-1
d
41
= k
11
d
42
= k
12
d
43
= k
7
-1
d
44
= -k
9
d
45
= -k
8
d
46
= k
10
-1
d
47
= k
5
d
48
= k
6
d
49
= k
1
-1
d
50
= -k
2
d
51
= -k
3
d
52
= k
4
-1
Ultimas 6 claves
de descifrado
Uso de claves inversas en descifrado IDEA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 538
IDEA se muestra inmune ante un criptoanlisis diferencial. Sus
autores conocan esta debilidad del DES y lo hicieron resistente.
Joan Daemen descubre en 1992 una clase de claves dbiles. La
siguiente clave k = 0000,0000,0x00,0000,0000,000x,xxxx,x000 en
hexadecimal es dbil, en el sentido de que un criptoanalista podra
identificarla en un ataque con texto en claro elegido. Las posiciones
x pueden ser cualquier nmero en hexadecimal.
La probabilidad de que se use este tipo de claves es slo de uno en
2
96
y se puede, adems, eliminar por diseo.
No se conoce a la fecha ningn sistema o algoritmo de ataque que
haya criptoanalizado el IDEA.
Joan Daemen y Vincent Rijmen crearn en 1997 el RIJNDAEL,
nuevo estndar mundial del NIST desde finales de 2001.
Fortaleza del algoritmo IDEA

http://www.cosic.esat.kuleuven.ac.be/publications/article-140.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 539
Cifrador en bloque de clave variable propuesto por Ron Rivest.
El cdigo es secreto industrial de RSA Data Security Inc.
Tamao del bloque de texto: 64 bits.
Con una clave con tamao variable (de 8 a 1.024 bits) forma una
tabla de 128 bytes (1.024 bits) que depende de la clave inicial.
No usa cajas S y es casi tres veces ms rpido que DES.
Se usa en SMIME con longitudes de clave de 40, 64 y 128 bits.
Los algoritmos RC2 y RC4 (este ltimo cifrador de flujo) se
incluyen en productos para la exportacin, como navegadores.
Operaciones primitivas de cifra: suma en mdulo 2
32
, operacin
or exclusivo, complemento de bits, operacin AND y rotacin
circular a la izquierda.
Realiza 18 vueltas conocidas como mixing y mashing.
Otros algoritmos: RC2
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 540
RC5 es un cifrador en bloque de tamao variable de Ron Rivest.
Cifra bloques de texto de 32, 64 128 bits.
Tamao de clave hasta 2.048 bits, en funcin nmero de vueltas.
Nmero de vueltas de 0 a 255.
Versiones especficas: RC5 w/r/b donde w es el tamao de la
palabra (16, 32 64 bits) -RC5 cifra bloques de dos palabras-, r
es el nmero de vueltas y b es el tamao en octetos de la clave K.
El valor propuesto por Rivest como mnimo es RC5 32/12/16.
Rutina expansin de clave: se expande K para llenar una tabla.
Rutinas de cifrado y descifrado: usa primitivas de suma mdulo
2
w
, or exclusivo y rotacin circular a la izquierda.
Caractersticas: muy rpido, arquitectura simple, bajos requisitos
de memoria y alta seguridad. Las rotaciones dependientes de los
datos le fortalecen ante el criptoanlisis diferencial.
Otros algoritmos: RC5
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 541
SAFER: Secure and Fast Encryption Routine (James Massey).
Cifra bloques de texto de 64 bits. Cada bloque de texto a cifrar se
divide en 8 bytes.
Tamao de clave: 64 128 bits.
Nmero de vueltas de 0 a 10; mnimo recomendable 6.
Operaciones de cifrado y descifrado distintas basadas en bytes,
que orientan su uso en aplicaciones de tarjetas inteligentes.
En cada vuelta hay operaciones or y sumas normales, potencias y
logaritmos discretos en p = 257, usando 45 como raz primitiva.
Al final del algoritmo hay tres niveles de operaciones lineales
conocidas como Pseudo Transformaciones de Hadamard, PTH,
cuyo objetivo es aumentar la difusin de los bits.
Existen versiones SAFER SK-64 y SK-128 ms seguras ante
claves dbiles que sus antecesoras.
Otros algoritmos: SAFER 64 y 128
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 542
Cifrador tipo Feistel de clave variable (Bruce Schneier).
Cifra bloques de texto de 64 bits.
Tamao de clave: de 32 hasta 448 bits. Se generan 18 subclaves
de 32 bits y cuatro cajas S de 8x32 bits, en total 4.168 bytes.
Nmero de vueltas: 16, en cada una de ellas se realiza una
permutacin funcin de la clave y una sustitucin que es funcin
de la clave y los datos.
Operaciones bsicas: or exclusivo y suma mdulo 2
32
.
Cajas S: en cada vuelta hay cuatro con 256 entradas cada una.
Caractersticas: compacto porque necesita slo 5 K de memoria,
es muy rpido (5 veces ms veloz que DES), es conceptualmente
simple y su fortaleza puede variarse segn longitud de la clave.
Usa una funcin F con las cuatro cajas S y operaciones bsicas
de suma y or exclusivo que provocan un efecto de avalancha.
Otros algoritmos: Blowfish
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 543
Cifrador Feistel propuesto por C. Adams y S. Tavares (Canad).
Cifra bloques de texto de 64 bits con claves de 40 hasta 128 bits
en incrementos de octetos.
Cifra en 16 vueltas.
Usa ocho cajas S de 8 bits de entrada y 32 bits de salida con unas
funciones no lineales ptimas (funciones bent), cuatro cajas en
procesos de cifra y las otras cuatro para la generacin de claves.
Cada caja es un array de 32 columnas y 256 filas. Los 8 bits de
entrada seleccionan una fila y los 32 bits de sta es la salida.
Operaciones bsicas: suma y resta mdulo 2
32
, or exclusivo y
rotaciones circulares hacia la izquierda.
Caractersticas: inmune a ataques por criptoanlisis diferencial y
lineal; algoritmo estndar de cifra en ltimas versiones de PGP.
Otros algoritmos: CAST 128
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 544
Ha sido desarrollado por la NSA, National Security Agency, est
contenido en los chip Clipper y Capstone y su implementacin
slo est permitida en hardware.
Cifra bloques de 64 bits con una clave de 80 bits.
Los usuarios depositan sus claves secretas en diversas agencias
de gobierno.
Usa 32 vueltas en cada bloque de cifra.
Los detalles del algoritmo no son pblicos.
Caractersticas: imposicin de los EEUU para comunicaciones
con la administracin, tiene una puerta trasera que puede dejar
en claro la cifra, nadie puede asegurar que el algoritmo tenga la
suficiente fortaleza pero los Estados Unidos piensa usarlo en su
DMS, Defense Messaging System. Ha sido duramente criticado.
Otros algoritmos: Skipjack
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 545
: El DES se adopta como estndar en 1976.
: El NIST certifica al DES en 1987 y luego en 1993.
: Durante esos aos se estandariza como algoritmo de cifra en
todo el mundo. Su uso principal lo encontramos en el cifrado de
la informacin intercambiada en transacciones de dinero entre
un cajero automtico y el banco respectivo.
: En 1997 NIST no certifica al DES y llama a un concurso
internacional para buscar un nuevo estndar mundial de cifra
denominado AES Advanced Encryption Standard.
: Precisamente entre 1997 y 1999 el DES se enfrenta a tres
ataques o desafos conocidos como DES Challenge que impulsa
y promociona la compaa RSA.
El DES deja de ser un estndar

http://www.nist.gov/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 546
e 29 enero 1997: DES Challenge I. Se rompe la clave en 96
das con 80.000 de ordenadores en Internet que evalan
7.000 millones de clave por segundo. Para encontrar la
clave se debe recorrer el 25% del espacio de claves .
e 13 enero 1998: DES Challenge II-1. Se rompe la clave en
39 das con un ataque tipo distribuido por distributed.net
que llega a evaluar 34.000 millones de claves por segundo
y debe recorrer el 88% del espacio de claves .
e 13 julio de 1998: DES Challenge II-2. Electronic Frontier
Foundation EFF crea el DES Cracker con una inversin
de US $ 200.000 y en 56 horas (2 das) rompe la clave
evaluando 90.000 millones de claves por segundo.
DES Challenge I y II
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 547
e 18 enero 1999: DES Challenge III. Se unen la mquina
DES Cracker y distributed.net con 100.000 ordenadores
conectados en Internet para romper la clave en 22 horas,
menos de 1 da, evaluando 245.000 millones de claves
por segundo tras recorrer el 22% del espacio de claves.
Se trata del ltimo desafo propuesto por RSA que pone en
evidencia la capacidad de ataques distribuidos a travs de los
tiempos muertos de procesador de mquinas conectadas a
Internet que, con un programa cliente, van resolviendo un
pequeo trozo del espacio de claves, comunicndose para ello
con un servidor. Recuerde, el DES no ha sido criptoanalizado,
se ha roto la cifra slo por el pequeo tamao de su clave.
DES Challenge III

http://www.rsasecurity.com/rsalabs/node.asp?id=2108
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 548
Magnitudes de tiempo y criptoanlisis
Longitud de la clave Tiempo necesario para romper la clave
40 bits 2 segundos
48 bits 9 minutos
56 bits 40 horas
64 bits 14 meses
72 bits 305 aos
80 bits 78.250 (2
16
) aos
96 bits 5.127.160.311 (2
32
) aos
112 bits 336.013.578.167.538 (2
48
) aos
128 bits 22.020.985.858.787.784.059 (2
64
) aos
Referencia de tiempo con nmeros grandes
Edad planeta 10.000.000.000 (10
10
= 2
34
) aos
Edad universo 100.000.000.000 (10
11
= 2
37
) aos
La tabla muestra el tiempo
medio de criptoanlisis
necesario para romper una
clave de cifra simtrica
mediante fuerza bruta, en
este caso usando la potencia
de clculo alcanzada en el
DES Challenge III en 1999,
unos 250.000 millones de
claves por segundo con la
mquina DES Cracker y
unos 100.000 computadores
a travs de Internet. Segn
la ley de Moore, en el 2006
esta potencia de clculo se
multiplicara por 20 o ms.
La seguridad de 128 bits de una cifra simtrica es
equivalente a la de 1.024 bits de cifra asimtrica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 549
AES: Advanced Encryption Standard
El DES, estndar desde 1976, pasa la certificacin de la NBS
National Bureaux of Standards en 1987 y en 1993.
En 1997 el NIST National Institute of Standards and Technology
(antigua NBS) no certifica al DES y llama a concurso pblico
para un nuevo algoritmo estndar, el AES.
En octubre del ao 2000 el NIST elige el algoritmo belga
Rijndael como nuevo estndar para cifrado del siglo XXI.
El nuevo estndar en cifra AES

http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf

http://www.criptored.upm.es/guiateoria/gt_m480a.htm

http://www.iaik.tu-graz.ac.at/research/krypto/AES/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 550
Rijndael: autores Vincent Rijmen & Joan Daemen
No es de tipo Feistel.
Implementado para trabajar en los procesadores de 8 bits
usados en tarjetas inteligentes y en CPUs de 32 bits.
Tamao de clave variable: 128, 192 y 256 bits (estndar) o
bien mltiplo de 4 bytes.
Tamao del bloque de texto: 128 bits o mltiplo de 4 bytes.
Operaciones modulares a nivel de byte (representacin en
forma de polinomios) y de palabra de 4 bytes: 32 bits.
Nmero de etapas flexible segn necesidades del usuario.
Usa un conjunto de Cajas S similares a las del DES.
Caractersticas del algoritmo AES

http://www.iaik.tu-graz.ac.at/research/krypto/AES/old/%7Erijmen/rijndael/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 551
Unidad bsica de tratamiento: el byte
Suma y multiplicacin. Son clculos en Campos de Galois
GF(2
8
) con 8 bits. Para la reduccin de exponente se usar
un polinomio primitivo p(x) = x
8
+ x
4
+ x
3
+ x + 1.
Producto por x. Esta operacin conocida como xtime(a) al
igual que en el caso anterior usa la reduccin de exponente.
Puede implementarse fcilmente con desplazamientos y
operaciones or exclusivo.
Operaciones con bytes en AES
Ejemplos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 552
Vamos a sumar los valores hexadecimales 57 y 83:
A = 57
16
= 0101 0111
2
B = 83
16
= 1000 0011
2
que expresados en polinomios dentro de GF(2
8
) sern:
A = 0101 0111
2
= x
6
+ x
4
+ x
2
+ x + 1
B = 1000 0011
2
= x
7
+ x + 1
Sumando: A+B = (x
6
+ x
4
+ x
2
+ x + 1) + (x
7
+ x + 1) mod 2
A+B = (x
7
+ x
6
+ x
4
+ x
2
+ 2x + 2) mod 2
A+B = x
7
+ x
6
+ x
4
+ x
2
= 1101 0100
2
= d4
16
Y lo mismo se obtiene con la suma Or exclusivo:
0101 0111 1000 0011 = 1101 0100
2
= d4
16
Ejemplo de suma en GF(2
8
)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 553
Vamos a multiplicar los valores hexadecimales 57 y 83:
A = 57
16
= 0101 0111
2
B = 83
16
= 1000 0011
2
que expresados en polinomios dentro de GF(2
8
) sern:
A = 0101 0111
2
= x
6
+ x
4
+ x
2
+ x + 1
B = 1000 0011
2
= x
7
+ x + 1
AB = (x
6
+ x
4
+ x
2
+ x + 1)(x
7
+ x + 1) mod 2
AB = x
13
+ x
11
+ x
9
+ x
8
+ 2x
7
+ x
6
+ x
5
+ x
4
+ x
3
+ 2x
2
+ 2x +1
Reduciendo mod 2
AB = x
13
+ x
11
+ x
9
+ x
8
+ x
6
+ x
5
+ x
4
+ x
3
+ 1
Este resultado hay que reducirlo por p(x) = x
8
+ x
4
+ x
3
+ x + 1
Ejemplo de producto en GF(2
8
) (1)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 554
Como el polinomio irreducible es p(x) = x
8
+ x
4
+ x
3
+ x + 1
(x
13
+ x
11
+ x
9
+ x
8
+ x
6
+ x
5
+ x
4
+ x
3
+ 1) mod (x
8
+ x
4
+ x
3
+ x + 1)
Para dejar los valores dentro de GF(2
8
) vemos que un divisor ser x
5
+
x
3
puesto que x
5
x
8
= x
13
; x
5
x
4
= x
9
; x
5
x
3
= x
8
y x
3
x
8
= x
11
.
x
13
+ x
11
+ x
9
+ x
8
+ x
6
+ x
5
+ x
4
+ x
3
+ 1 x
8
+ x
4
+ x
3
+ x + 1
x
5
+ x
3
x
13
+ x
9
+ x
8
+ x
6
+ x
5
multiplicando p(x) por x
5
x
11
+ x
4
+ x
3
+ 1 reduciendo mod 2
x
11
+ x
7
+ x
6
+ x
4
+ x
3
multiplicando p(x) por x
3
x
7
+ x
6
+ 1 reduciendo mod 2
Resultado: AB = x
7
+ x
6
+ 1 = 1100 0001
2
= c1
16
Ejemplo de producto en GF(2
8
) (2)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 555
x
8
= x
4
+ x
3
+ x + 1
Estn fuera del cuerpo de 8 bits
El mismo resultado pero de otra forma
AB = x
13
+ x
11
+ x
9
+ x
8
+ x
6
+ x
5
+ x
4
+ x
3
+ 1
x
13
= x
5
x
8
= x
5
(x
4
+ x
3
+ x + 1) = x
9
+ x
8
+ x
6
+ x
5
x
13
= x (x
4
+ x
3
+ x + 1) + (x
4
+ x
3
+ x + 1) + x
6
+ x
5
x
13
= (x
5
+ x
4
+ x
2
+ x) + (x
4
+ x
3
+ x + 1) + x
6
+ x
5
x
13
= x
6
+ x
3
+ x
2
+ 1
Es mucho ms complejo, pero repitiendo el mismo desarrollo
para x
11
, x
9
y x
8
, reduciendo en cada caso mod 2, obtenemos:
AB = x
7
+ x
6
+ 1 = 1100 0001 = c1
16
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 556
Hay tres transformaciones distintas llamadas capas en las que se
tratan los bits. Estas constan de:
Capa de Mezcla Lineal: en ella se busca la difusin de los bits.
Capa No Lineal: se trata de una zona similar a las cajas S del
DES.
Capa Clave: operaciones con una funcin or exclusivo de la
subclave y la informacin de esta etapa intermedia.
Las transformaciones realizadas en cada paso del algoritmo se
denominan estados. Estos estados se representa por una matriz de 4
filas y Nb = 4 columnas para el texto en claro y 4 filas y Nk = 4, 6 u
8 columnas para las claves.
Transformaciones o capas del AES

http://www.quadibloc.com/crypto/co040401.htm
En la siguiente pgina web encontrar una extensa explicacin de las
operaciones en el algoritmo Rijndael con interesantes ilustraciones.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 557
Esquema general del AES
Funciones en cifrado:
- AddRoundKey
- ByteSub
- ShiftRow
- MixColumns
Funciones en descifrado:
- InvAddRoundKey
- InvByteSub
- InvShiftRow
- InvMixColumns
Se realizar adems una
expansin de la clave K para
generar desde K0 hasta Kr.

http://www.criptored.upm.es/guiateoria/gt_m117i.htm
Figura y tablas tomadas de:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 558
Estados de entrada y claves del AES
a
0
a
4
a
8
a
12
a
1
a
5
a
9
a
13
a
2
a
6
a
10
a
14
a
3
a
7
a
11
a
15
k
0
k
4
k
8
k
12
k
1
k
5
k
9
k
13
k
2
k
6
k
10
k
14
k
3
k
7
k
11
k
15
k
0
k
4
k
8
k
12
k
16
k
20
k
1
k
5
k
9
k
13
k
17
k
21
k
2
k
6
k
10
k
14
k
18
k
22
k
3
k
7
k
11
k
15
k
19
k
23
k
0
k
4
k
8
k
12
k
16
k
20
k
24
k
28
k
1
k
5
k
9
k
13
k
17
k
21
k
25
k
29
k
2
k
6
k
10
k
14
k
18
k
22
k
26
k
30
k
3
k
7
k
11
k
15
k
19
k
23
k
27
k
31
Bloque de texto 16 bytes (128 bits)
Nb = 128/32 = 4
Clave de 16 bytes (128 bits)
Nk = 128/32 = 4 (10 rondas)
Clave de 24 bytes (192 bits)
Nk = 192/32 = 6 (12 rondas)
Clave de 32 bytes (256 bits)
Nk = 256/32 = 8 (16 rondas)
Estados
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 559
Combinaciones de estados
Combinaciones
posibles de
estados en AES
Longitud del
bloque
(Nb palabras)
Longitud de la
clave
(Nk palabras)
Nmero de
Rondas
(Nr)
AES 128 4 4 10
AES 192 4 6 12
AES 256 4 8 14
Para las funciones de cifrado y descifrado se usarn 4 transformaciones
orientadas a bytes:
1. Sustitucin de un byte mediante una tabla S-box.
2. Desplazamiento de columnas de un estado.
3. Mezcla de datos dentro de cada columna de estado.
4. Aade una clave de vuelta al estado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 560
Funcin ByteSub
S
0,0
S
0,1
S
0,2
S
0,3
S
1,0
S
1,1
S
1,2
S
1,3
S
2,0
S
2,1
S
2,2
S
2,3
S
3,0
S
3,1
S
3,2
S
3,3
S
0,0
S
0,1
S
0,2
S
0,3
S
1,0
S
1,1
S
1,2
S
1,3
S
2,0
S
2,1
S
2,2
S
2,3
S
3,0
S
3,1
S
3,2
S
3,3
S-Box
Se trata de una funcin no lineal que se realiza a travs de una S-box.
La S-box se construye:
a) calculando el inverso en GF(2
8
), y
b) calculando la siguiente transformacin afn sobre GF(2):
b
i
= b
i
b
(i+4)mod8
b
(i+5)mod8
b
(i+6)mod8
b
(i+7)mod8
c
i
Donde 0 i < 8, b
i
es el isimo bit del byte y c
i
es el isimo bit del byte
c cuyo valor es {63}
16
o {011000011}
2
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 561
Tabla de inversos en mod 2
8
Lgicamente se
cumple que:
Si:
inv x = y
Entonces:
inv y = x
Por ejemplo:
inv c4 = da
inv da = c4
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 562
Representacin de la funcin ByteSub
b
0
b
1
b
2
b
3
b
4
b
5
b
6
b
7
1 0 0 0 1 1 1 1
1 1 0 0 0 1 1 1
1 1 1 0 0 0 1 1
1 1 1 1 0 0 0 1
1 1 1 1 1 0 0 0
0 1 1 1 1 1 0 0
0 0 1 1 1 1 1 0
0 0 0 1 1 1 1 1
b
0
b
1
b
2
b
3
b
4
b
5
b
6
b
7
1
1
0
0
0
1
1
0
= +
La transformacin afn anterior queda:
b
0
= b
0
b
4
b
5
b
6
b
7
c
0
b
4
= b
4
b
0
b
1
b
2
b
3
c
4
b
1
= b
1
b
5
b
6
b
7
b
0
c
1
b
5
= b
1
b
1
b
2
b
3
b
4
c
5
b
2
= b
2
b
5
b
7
b
0
b
1
c
2
b
6
= b
6
b
2
b
3
b
4
b
5
c
6
b
3
= b
3
b
7
b
0
b
1
b
2
c
3
b
7
= b
7
b
3
b
4
b
5
b
6
c
7
Representacin
matricial
Valor {63}
16
o
{011000011}
2
Es el inverso del
valor de entrada
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 563
Tabla ByteSub
Usando la siguiente
tabla, se llega a
igual resultado que
calculando el
inverso y luego
aplicando la
transformacin
matricial mostrada
en la diapositiva
anterior.
En la siguiente
diapositiva hay un
ejemplo para el
valor 5a mostrado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 564
Se pide calcular el ByteSub de 5a
Ejemplo de operacin ByteSub
5a = 01011010 = x
6
+ x
4
+ x
3
+ x + 1
inv (5A) = 22 = 00100010 (segn la tabla dada)
0
1
1
1
1
1
0
1
1 0 0 0 1 1 1 1
1 1 0 0 0 1 1 1
1 1 1 0 0 0 1 1
1 1 1 1 0 0 0 1
1 1 1 1 1 0 0 0
0 1 1 1 1 1 0 0
0 0 1 1 1 1 1 0
0 0 0 1 1 1 1 1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
=
+
Operando filas por columnas y sumando al resultado el valor
{011000011}
2
se obtiene: 1011 1110 = be.
Al mismo
valor se llega
si en la tabla
buscamos la
interseccin
entre la fila 5 y
la columna a:
el resultado es
el valor be.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 565
La funcin consiste en desplazar bloques de un byte hacia la
izquierda mdulo columna (en este caso 4) dentro de una fila.
As la fila 0 no desplaza, la fila 1 desplaza un byte, la fila 2
desplaza dos bytes y la fila 3 desplaza tres bytes como se muestra.
Funcin ShiftRow
S
0,0
S
0,1
S
0,2
S
0,3
S
1,0
S
1,1
S
1,2
S
1,3
S
2,0
S
2,1
S
2,2
S
2,3
S
3,0
S
3,1
S
3,2
S
3,3
S
0,0
S
0,1
S
0,2
S
0,3
S
1,1
S
1,2
S
1,3
S
1,0
S
2,2
S
2,3
S
2,0
S
2,1
S
3,3
S
3,0
S
3,1
S
3,2
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 566
Opera sobre columnas que son consideradas como un polinomio
sobre GF(2
8
) multiplicando las columnas mdulo x
4
+ 1 por este
polinomio fijo, en donde los valores {} estn en hexadecimal, que
es primo relativo con x
4
+ 1 y por tanto asegura el inverso.
a(x) = {03}x
3
+ {01}x
2
+ {01}x + {02}
Por tanto, recuerde que {03} = x + 1, {02} = x, {01} = 1.
Funcin MixColumns
S
0,C
S
1,C
S
2,C
S
3,C
02 03 01 01
01 02 03 01
01 01 02 03
03 01 01 02
S
0,C
S
1,C
S
2,C
S
3,C
=
Representacin
matricial de la
funcin
MixColumns
Luego, las operaciones sobre columnas se expresan como:
Para
0 C < Nb
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 567
S
0,C
= ({02} S
0,C
) ({03} S
1,C
) S
2,C
S
3,C
S
1,C
= S
0,C
({02} S
1,C
) ({03} S
2,C
) S
3,C
S
2,C
= S
0,C
S
1,C
({02} S
2,C
) ({03} S
3,C
)
S
3,C
= ({03} S
0,C
) S
1,C
S
2,C
({02} S
3,C
)
Ejemplo de operacin MixColumns
e1 a8 63 0d
fb 18 f4 c8
96 5b 73 11
7c a0 e6 fd
Si suponemos
que el estado
intermedio es
el indicado:
El primer byte de estado S
0,0
quedar:
S
0,0
= {02}S
0,0
{03}S
1,0
S
2,0
S
3,0
S
0,0
= {02}e1 {03}fb 96 7c
{02}e1 = x(x
7
+ x
6
+ x
5
+ 1)
{02}e1 = x
8
+ x
7
+ x
6
+ x
{02}e1 = (x
8
+ x
7
+ x
6
+ x) mod x
4
+ 1 = d2
{03}fb = (x + 1) (x
7
+ x
6
+ x
5
+ x
4
+ x
3
+ x + 1)
{03}fb = x
8
+ x
3
+ x
2
+ 1
{03}fb = (x
8
+ x
3
+ x
2
+ 1) mod x
4
+ 1 = 1d
S
0,0
= d2 1d 96 7c
Luego: S
0,0
= 25
Los bytes hasta S
4,4
se
calculan de forma similar.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 568
Funcin AddRoundKey
S
0,0
S
0,1
S
0,2
S
0,3
S
1,0
S
1,1
S
1,2
S
1,3
S
2,0
S
2,1
S
2,2
S
2,3
S
3,0
S
3,1
S
3,2
S
3,3
S
0,0
K
0
S
0,1
K
1
S
0,2
K
2
S
0,3
K
3
S
1,0
K
4
S
1,1
K
5
S
1,2
K
6
S
1,3
K
7
S
2,0
K
8
S
2,1
K
9
S
2,2
K
10
S
2,3
K
11
S
3,0
K
12
S
3,1
K
13
S
3,2
K
14
S
3,3
K
15
AddRoundKey
Se sumarn sumarn or
exclusivo el estado
intermedio con la clave de
cada ronda.
En la ronda 0 ser el or
exclusivo entre el texto de
entrada y la clave inicial; en
las rondas siguientes (p.e. 1
a 9) ser el or exclusivo de
las subclave de cada ronda
con la salida de la funcin
MixColumns y en la ltima
ronda (10) el or exclusivo
de la subclave de estado 10
y la salida de ShiftRows.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 569
AddRoundKey en la vuelta 0
Ronda Estado Inicio ByteSub ShifRows MixColums AddRoundKey
=
E
n
t
r
a
d
a
Si el bloque de entrada y la clave son de 128 bits, (Nb=4 y Nk =4) con valores
Entrada: 32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34
Clave: 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c entonces
1
2b 28 ab 09
7e ae f7 cf
16 a6 88 3c
15 d2 15 4f
32 88 31 e0
43 5a 31 37
a8 8d a2 34
f6 30 98 07
19 a0 9a e9
3d f4 c6 f8
be 2b 2a 08
e3 e2 8d 48
El primer valor del estado siguiente
S
0,0
ser 32 XOR 2b
0011 0010
0010 1011
= 0001 1001 = 19
La vuelta 10 y el
criptograma final se
muestran en la
prxima diapositiva
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 570
AddRoundKey en la vuelta 10
Ronda Estado Inicio ByteSub ShifRows MixColums AddRoundKey

=
S
a
l
i
d
a
10
d0 c9 e1 b6
14 ee 3f 63
a8 89 c8 a6
f9 25 0c 0c
eb 59 8b 1b
40 2e a1 c3
1e 84 e7 d2
f2 38 13 42
e9 cb 3d af
09 31 32 2e
72 5f 94 b5
89 07 7d 2c
e9 cb 3d af
31 32 2e 09
b5 72 5f 94
7d 2c 89 07
39 02 dc 19
25 dc 11 6a
1d fb 97 32
84 09 85 0b
9 ...

http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
Como se observa, en esta dcima y ltima vuelta
(para Nb = 4 y Nk = 4) slo se aplican las funciones
ByteSub, ShitfRows y AddRoundKey.
Ejemplo tomado del documento oficial del NIST:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 571
Expansin de la clave en AES
Bloque / Clave
Nk = 4
(128 bits)
Nk = 6
(192 bits)
Nk = 8
(256 bits)
Nb = 4
128 bits
Nr = 10
1.408 bits
Nr = 12
1.664 bits
Nr = 14
1.920 bits
Nb = 6
192 bits
Nr = 12
2.304 bits
Nr = 12
2.496 bits
Nr = 14
2.880 bits
Nb = 8
256 bits
Nr = 14
3.840 bits
Nr = 14
3.328 bits
Nr = 14
3.840 bits
Nmero de
bits de las
subclaves
para valores
estndar de
Nb y Nk.
- La expansin generar los bytes de las subclaves a partir de la clave K principal.
- Ser un array lineal W de palabras de 4 bytes y con longitud Nb(Nr+1).
W
0
W
1
W
2
W
3
W
4
W
5
W
6
W
6
W
7
W
8
W
9
W
10
W
11
W
12
W
13
...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 572
Expansin de la clave en funcin de Nk
- Las primeras Nk palabras se copiarn de la clave principal.
- Las restantes Nb(Nr + 1) - Nk palabras se generarn mediante un
algoritmo que ser diferente si Nk 6 o bien Nk > 6.
Si Nk 6
Si la posicin i dentro del array W(i) es mltiplo del valor Nk:
W(i) = W(i - Nk) xor [ByteSub (RotWord [W(i - 1)]) xor Rcon (i/Nk)]
Si la posicin i dentro del array W(i) no es mltiplo del valor Nk:
W(i) = W(i - Nk) xor W(i - 1)
Si Nk > 6
El valor de la variable i debe satisfacer la expresin i mod Nk = 4.
Las palabras de subclaves se calcularn:
W(i) = W(i - Nk) xor ByteSub [W(i - 1)]
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 573
Funciones RotWord y Rcon
+ RotWord rota una posicin a la izquierda los bytes de la
palabra. Si la palabra de 4 bytes es (a, b, c, d) Rotword
devolver (b, c, d, a).
+ Rcon genera la constante Rcon(j) = [R(j), {00}, {00}, {00}] de
32 bits y donde R(j) es el elemento GF(2
8
) correspondiente al
valor x
j-1
. Su clculo se ver en el siguiente ejemplo.
2b 28 ab 09
7e ae f7 cf
16 a6 88 3c
15 d2 15 4f
K =
RotWord
7e ae f7 cf
15 d2 15 4f
2b 28 ab 09
16 a6 88 3c
K: 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c
a
b
d
c
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 574
W(0) = 2b 7e 15 16
W(1) = 28 ae d2 a6
W(2) = ab f7 15 88
W(3) = 09 cf 4f 3c
Expansin W(4) para una clave de 128 bits
2b 28 ab 09
7e ae f7 cf
16 a6 88 3c
15 d2 15 4f
Sea K: 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c (Nk = 4)

Clculo de W(4) con i = 4, mltiplo de Nk


temp = W(3) = 09 cf 4f 3c
RotWord (temp) = cf 4c 3c 09 temp
ByteSub (temp) = 8a 84 eb 01 temp
Rcon(4/4) = Rcon(1); j = 1 x
j-1
= x
0
= 01
Rcon(1) = [01, 00, 00, 00]
Rcon(1) xor temp = 8b 84 eb 01 temp
W(4) = W(0) xor temp
2b 7e 15 16
8b 84 eb 01
a0 fa fe 17
a0 88 23 2a
fa 54 a3 6c
17 b1 39 05
fe 2c 39 76
W(0) W(1) W(2) W(3)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 575
W(0) = 2b 7e 15 16
W(1) = 28 ae d2 a6
W(2) = ab f7 15 88
W(3) = 09 cf 4f 3c
Expansin W(5) para una clave de 128 bits
2b 28 ab 09
7e ae f7 cf
16 a6 88 3c
15 d2 15 4f

Clculo de W(5) con i = 5, no mltiplo de Nk


W(i) = W(i - Nk) xor W(i - 1)
W(5) = W(5 4) xor W(5 1)
W(5) = W(1) xor W(4)
Como W(4) = a0 fa fe 17 (valor ya
calculado en el paso anterior)
a0 88 23 2a
fa 54 a3 6c
17 b1 39 05
fe 2c 39 76
W(0) W(1) W(2) W(3)
Sea K: 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c (Nk = 4)
28 ae d2 a6
a0 fa fe 17
88 54 2c b1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 576
Si K es de 128 bits, Nk = 4. Supondremos un bloque de texto de 128
bits (Nb = 4).
La longitud del array W ser (4*[10+1]) = 44 palabras de 4 bytes.
En las cuatro primeras posiciones (0 a 3) se copia la clave principal K.
Las restantes 40 palabras de las posiciones 4 a 43 (4 i 43) se
calcularn segn las expresiones de la diapositiva anterior.
Para W(i) con valores de i mltiplo de Nk (4, 8, 12, 16, 20, 24, 28, 32,
36, 40), la palabra de 4 bytes se calcular tomando una palabra que
est cuatro posiciones antes que ella, y realizando luego una operacin
xor con una funcin de transformacin (ByteSub - RotWord - Rcon)
de la palabra que se encuentra una posicin antes que la actual.
Para el resto de valores de i (5, 6, 7, 9, ..., 41, 42, 43) la palabra de 4
bytes se calcular realizando una operacin xor entre la palabra que se
encuentra cuatro posiciones antes en el array y la palabra que se
encuentra una posicin antes que la actual.
Expansin genrica para clave de 128 bits
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 577
Descifrado en AES: InvAddRoundKey
Vuelta Final
InvAddRoundKey
InvShiftRow
InvByteSub
Vuelta estndar
InvAddRoundKey
InvMixColumn
InvShiftRow
InvByteSub
Salida
InvAddRoundKey
Se invierte el orden de
las transformaciones y
se toman las funciones
inversas.
Segn el esquema
general ya visto, se tiene
el cuadro siguiente.
InvAddRoundKey
Como se ha usado una operacin xor en esta transformacin, el
inverso es el mismo valor. Por lo tanto aplicaremos las mismas
claves de cifrado, pero de forma inversa, desde Kr a K0.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 578
InvShiftRows
En este caso se desplazan bloques de un byte hacia la derecha
mdulo columna (en este caso 4) dentro de una fila.
As la fila 0 no desplaza, la fila 1 desplaza un byte, la fila 2
desplaza dos bytes y la fila 3 desplaza tres bytes como se muestra.
S
0,0
S
0,1
S
0,2
S
0,3
S
1,0
S
1,1
S
1,2
S
1,3
S
2,0
S
2,1
S
2,2
S
2,3
S
3,0
S
3,1
S
3,2
S
3,3
S
0,0
S
0,1
S
0,2
S
0,3
S
1,3
S
1,0
S
1,1
S
1,2
S
2,2
S
2,3
S
2,0
S
2,1
S
3,1
S
3,2
S
3,3
S
3,0
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 579
Tabla InvByteSub
El inverso
consistir en
devolver los
valores a su
posicin original
en la tabla
ByteSub.
Recordando el
valor mostrado en
la tabla ByteSub,
se muestra que el
InvByteSub de be
es igual a 5a.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 580
InvMixColumns
Como la transformacin MixColumns multiplicaba por un
polinomio fijo a(x) = {03}x
3
+ {01}x
2
+ {01}x + {02}, primo
relativo con x
4
+ 1, su inverso ser.
b(x) = {0B}x
3
+ {0D}x
2
+ {09}x + {0E}
S
0,C
S
1,C
S
2,C
S
3,C
0e 0b 0d 09
09 0e 0b 0d
0d 09 0e 0b
0b 0d 09 0e
S
0,C
S
1,C
S
2,C
S
3,C
=
Representacin
matricial de la
funcin
InvMixColumns
Para
0 C < Nb
Como ejercicio, recupere el valor encontrado en el ejercicio de
la funcin MixColumns mostrado en una diapositiva anterior.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 581
Pros y contras de los Sistemas de Clave Secreta
El emisor y el receptor comparten una misma clave.
La seguridad depende slo del secreto de la clave.
La velocidad de cifra es muy alta y los sistemas con un
espacio de clave con cientos de bits son muy seguros.
Permitirn autenticar los mensajes con MACs.
Es imposible establecer un sistema de distribucin y
gestin de claves eficiente entre emisor y receptor.
Carecen de una firma digital, al menos en un sentido
amplio y sencillo.
`

... pero
Resumen de los sistemas de clave secreta
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 582
Cuestiones y ejercicios (1 de 3)
1. Qu particularidad tiene el cifrado tipo Feistel?
2. Qu importante diferencia tiene el algoritmo Skipjack con respecto
a todos los dems? Razone si eso es bueno o malo en criptografa.
3. Cul es la razn principal de la debilidad del algoritmo DES?
4. Con cul de las dos versiones respecto a la reduccin de clave
aplicada al DES por la NSA se queda Ud.? Razone las dos
respuestas posibles.
5. Qu tamao de bloque de mensaje cifra el DES, con qu longitud
de clave y con cuntas vueltas?
6. Tiene algn inters criptogrfico la tabla de permutacin inicial IP
que se repite en sentido contrario al final en el DES? Por qu?
7. Qu distribucin especial observa en los dos bloques de texto a
cifrar L
0
y R
0
en DES? Qu separacin en bits hay entre ellos?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 583
Cuestiones y ejercicios (2 de 3)
8. Cmo se las arregla DES para realizar operaciones suma mdulo
dos con sub-bloques de texto de 32 bits y sub-claves de 56 bits?
9. Qu dos importantes funciones cumplen las cajas S en el DES?
10. En la caja S
3
del DES entra la secuencia de bits 101101, qu sale?
11. Si la clave DES en ASCII (no nmeros) es HOLAPACO, cules
sern la primera y segunda sub-claves de cifrado?
12. Por qu no debe usarse nunca el modo de cifra ECB?
13. Podemos usar el DES como un generador de secuencia cifrante?
14. Por qu decimos que el DES no es un grupo? Qu significa eso?
15. En qu consiste un ataque por encuentro a medio camino?
16. Por qu se usa en el triple DES un cifrado con slo dos claves tipo
EDE y no con tres como su nombre indica?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 584
Cuestiones y ejercicios (3 de 3)
17. Por qu en IDEA se usa una palabra de 16 bits y no de 32 bits? Se
podra usar una palabra de 8 bits 24 bits? Justifique su respuesta.
18. Encuentre los resultados de las tres operaciones bsicas para un
sistema simulado IDEA que trabaja con 4 bits.
19. Qu tamao de bloque cifra IDEA, con qu longitud de clave y con
cuntas vueltas?
20. Cmo se generan las sub-claves en IDEA?
21. Cules son las claves Z
9
y Z
10
en un sistema IDEA en el que la
clave maestra en ASCII es K = UnaClaveDePrueba.
22. Encuentre las claves de descifrado de las siguientes claves de cifra
en IDEA: k
12
= 3.256; k
13
= 34.517; k
14
= 45.592.
23. Sume y multiplique 31 y 18 en GF(2
8
) segn algoritmo Rijndael.
24. Invente Ud. mismo diversos ejercicios sobre el algoritmo AES.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 585
Prcticas del tema 12 (1/6)
Software safeDES:

http://www.criptored.upm.es/software/sw_m001j.htm
1. Con la clave ASCII K = 123Clave cifre el mensaje 8 bytes M = Hola Ana.
Usando el portapapeles, descifre el criptograma y observe si hay relleno.
Repita la cifra del mensaje usando ahora K = A9A83CFA8B16CF0D una
clave hexadecimal y compruebe nuevamente si hay relleno.
2. Con esas dos claves cifre el mensaje de 15 bytes M = No me respondes,
descfrelo y compruebe que ahora hay un relleno de un byte para formar
un segundo bloque de texto en hexadecimal de 64 bits.
3. Repita el apartado 2 para el mensaje M = Ya no te saludo ms Luca.
4. Cifre el mensaje M = No sale lo mismo, con K = 1111111111111111 en
hexadecimal y compruebe que al descifrar ya no puede usar el portapapeles
tomando el criptograma como texto ASCII.
5. Repita el descifrado copiando la entrada del criptograma en hexadecimal y
pegndolo en ese formato como entrada a descifrar. Saque conclusiones.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 586
Prcticas del tema 12 (2/6)
6. Con la clave ASCII K = BCBCBCBC cifre el mensaje M = Sale lo mismo.
Descfrelo con esa clave y con la clave K = BCCCCCCB. Explique y
justifique lo que ha sucedido.
7. Repita la cifra ahora con las claves hexadecimal K = 1111112222111111 y
K = 2222221111222222. Explique y justifique lo que ha sucedido.
8. Cifre el mensaje M = Cifra con clave dbil, con la clave K = .
Vuelva a cifrar el criptograma con la misma clave y compruebe que se
cumple la relacin E
k
[E
k
(M)] = M. No olvide copiar el texto cifrado en
hexadecimal para volver a cifrar. Justifique lo que ha pasado.
9. Repita la cifra del apartado 8 con las seis claves dbiles del DES, en este
caso representadas en hexadecimal.
10. Cifre el mensaje M = Ahora son claves semidbiles, con las seis parejas de
claves semidbiles E
k1
|E
k2
del DES en hexadecimal y compruebe que se
cumple la relacin E
k1
[E
k2
(M)] = M.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 587
Prcticas del tema 12 (3/6)
11. Cifre el mensaje M = Probaremos un ataque por fuerza bruta, con la clave
K = AAABBAAA. Abra una nueva ventana y descfrelo usando el
portapapeles y tomando como entrada el criptograma en hexadecimal. Con
ambos textos (claro y criptograma) en hexadecimal proceda a un ataque
monousuario con clave inicial AAABA000 y clave final AAABBDDD.
12. Qu puede decir con respecto al tiempo de criptoanlisis real y el tiempo
que se requerira para recorrer todo el espacio de claves dado?
13. Comente y justifique el nmero de claves vlidas encontradas.
14. Repita el ataque con clave inicial AAABB777 y final AAABFFFF.
Comente lo que ha sucedido con respecto al espacio de claves elegido.
15. Repita el ejemplo 11 usando un ataque de simulacin multiusuario con la
clave inicial AAABB000 y la clave final AAABBDDD. Elija el nmero de
procesos desde 1 hasta 10 y observe lo que sucede con el tiempo de ataque
a la clave. Justifique lo que ha visto.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 588
Prcticas del tema 12 (4/6)
16. Repita el ejemplo anterior usando un ataque de simulacin multiusuario
con la misma clave inicial AAABB000 pero una clave final AAABBFFF.
17. Cifre el mensaje M = Ahora atacaremos claves en hexadecimal, con la
clave K = 1111222233334444. La clave inicial es 111122223327BF6F y la
clave final 11112222333B72EE. Proceda al ataque monousuario.
18. Con la calculadora de Windows en hexadecimal reste la clave inicial de la
clave final y encuentre luego su valor en decimal. Por qu no coincide
este valor con el nmero de claves distintas que indica el programa?
19. Si tiene entorno de red, realice este ataque multiusuario con un ordenador
trabajando como servidor (Inicio Ejecutar command Enter ipconfig) y los
dems como clientes. Elija un rango de claves 10 20 veces mayor.
20. Cunto tiempo tardara su computador en romper una clave real de DES?
Cuntos computadores trabajando en paralelo necesitaramos para romper
una clave DES en 24 horas usando este programa safeDES?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 589
Prcticas del tema 12 (5/6)
Software CryptoIDEA:

http://www.criptored.upm.es/software/sw_m001f.htm
1. Cree un archivo txt con el siguiente texto Una clave con letras C Cree
una clave K = CCCCCCCCCCCCCCCC de nombre ClaveTodasC. Cifre
el archivo y haga un seguimiento de las subclaves de cifra generadas. Por
qu aparecen bloques de 8 subclaves con valores iguales y cuatro al final?
2. Compruebe con la calculadora de Windows las subclaves Z
1
y Z
9
.
3. Cifre nuevamente ese archivo con una clave de nombre UnaClaveMejor y
valor K = EstaClaveEsBuena. Vuelva a hacer el seguimiento de subclaves,
observe lo que sucede y justifquelo.
4. Compruebe con la calculadora de Windows las subclaves Z
1
y Z
2
5. Con esta nueva clave cifre el archivo con texto De64bits y vea el archivo
cifrado con cuatro bloques de 16 bits. Cifre ahora el archivo con texto
mayor Ms de 64 bits y vuelva a ver la cifra. Saque conclusiones.
6. Descifre esta ltima cifra y observe las subclaves dc descifrado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 590
Prcticas del tema 12 (6/6)
7. Con las herramientas del programa compruebe que las claves de descifrado
son las inversas multiplicativas, aditivas o del or exclusivo en funcin de la
zona del algoritmo donde se han usado las claves de cifrado, por ejemplo:
d
47
= k
5
d
48
= k
6
d
49
= inv (k
1
, 65537) multiplicativo
d
50
= inv (k
2
, 65536) aditivo (el complemento a n)
d
51
= inv (k
3
, 65536) aditivo (el complemento a n)
d
52
= inv (k
4
, 65537) multiplicativo
8. Qu sucede con las claves de cifrado y descifrado si la clave K tiene slo
cuatro caracteres ABCD?
9. Observe los bloques de cifrado de 16 bits, en funcin del tamao del
archivo de entrada. Si M 8 bytes hay 4 bloques, si 8 < M 16 bytes hay
8 bloques, etc.
Software de laboratorio del AES: prximamente en pgina web de la asignatura.
Captulo 13
Cifrado Asimtrico con Mochilas
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 30 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 592
El problema de la mochila
El problema matemtico de la mochila,
referido ahora a nmeros y no a los
elementos fsicos que puedan entrar en
ella, se plantea como sigue:
Dada la siguiente secuencia de m nmeros enteros
positivos S = {S
1
, S
2
, S
3
, ..., S
m-2
, S
m-1
, S
m
} y un valor
u objetivo T, se pide encontrar un subconjunto de S
S
S
= {S
a
, S
b
, ..., S
j
} que cumpla con ese objetivo T:
T = S
S
= S
a
+ S
b
+ ... + S
j
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 593
Solucin al problema de la mochila
Si los elementos de la mochila son nmeros grandes, no
estn ordenados y no siguen una distribucin supercreciente
-en este tipo de distribucin el elemento isimo S
i
de la
mochila es mayor que la suma de todos sus antecesores-, la
resolucin de este problema es de tipo no polinomial.
Se trata de encontrar los vectores V
i
de 0s y 1s de
forma que:
S
i
V
i
= T
i
Si se cumple esta relacin, la mochila tiene solucin.
En caso contrario, no existir solucin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 594
Un ejemplo del problema de la mochila
Tenemos la mochila S = {20, 5, 7, 36, 13, 2} con m = 6 y el
valor T = 35. Se pide encontrar una solucin, si es que sta
existe, en una nica vuelta. En este momento no importa
que los valores de la mochila no estn ordenados.
SOLUCIN: Sin hacer ningn clculo mental, podemos
recorrer todos los valores (se puede descartar el elemento S
4
pues es mayor que el objetivo T) de la mochila S, bien de
izquierda a derecha o al revs (da igual el sentido elegido) y
restaremos el elemento isimo si es menor que el objetivo T
en esa etapa del algoritmo, como se indica:
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 595
Solucin al ejemplo de la mochila
S = {S
1
, S
2
, S
3
, S
4
, S
5
, S
6
} = {20, 5, 7, 36, 13, 2} T = 35
S
1
= 20 Es menor que objetivo T = 35? S T = 35-20 = 15
S
2
= 5 Es menor que objetivo T = 15? S T = 15-5 = 10
S
3
= 7 Es menor que objetivo T = 10? S T = 10-7 = 3
S
4
= 36 Es menor que objetivo T = 3? No T = 3
S
5
= 13 Es menor que objetivo T = 3? No T = 3
S
6
= 2 Es menor que objetivo T = 3? S T = 3-2 = 1 0
Se ha recorrido toda la mochila y no se ha encontrado solucin.
En cambio s existe una solucin:
S
S
= {S
1
+S
5
+S
6
} = 20+13+2 = 35
V
i
= [1,0,0,0,1,1]
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 596
Puede haber soluciones mltiples?
Si para la misma mochila S = {20, 5, 7, 36, 13, 2} buscamos
ahora el valor T = 27, encontramos tres soluciones vlidas:
S
S1
= {S
1
+S
3
} = 20+7 S
S2
= {S
1
+S
2
+S
6
} = 20+5+2
S
S3
= {S
2
+S
3
+S
5
+S
6
} = 5+7+13+2
Esto sera inadmisible en un sistema de cifra puesto que el
resultado de una operacin de descifrado debe ser nica ya
que proviene de un nico mensaje. La solucin ser el uso
de las denominadas mochilas simples en que la solucin al
problema de la mochila, si existe, es nica.
$
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 597
Mochila simple o supercreciente
Una mochila es simple o
supercreciente si el elemento S
k
es mayor que la suma de los
elementos que le anteceden:
k-1
S
k
> S
j
j = 1
k-1
S
k
> S
j
j = 1
Por ejemplo, la mochila S = {2, 3, 7, 13, 28, 55, 110, 221}
con m = 8 elementos es supercreciente y la solucin para un
objetivo T = 148 es nica: V
i
= [S
2
+S
3
+S
5
+S
7
].
Para resolver cualquier valor T vlido para esta mochila,
sta se recorre de derecha a izquierda (desde el valor mayor
al menor) una sola vez con el algoritmo ya visto.
Compruebe que para T = 289, 196 y 353 los vectores son
V
1
= 00010101; V
2
= 01001110; V
3
= 10110011.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 598
Operacin de cifra con mochila simple
Se representa la informacin en binario y se pasan los bits
por la mochila. Los bits 1s incluyen en la suma el elemento
al que apuntan y los bits 0s no.
Con la mochila S = {2, 4, 10, 19, 40} de m = 5 elementos
cifraremos el mensaje M = ADIOS.
SOLUCIN: Usando cdigo ASCII/ANSI: A = 01000001;
D = 01000100; I = 01001001; O = 01001111; S = 01010011
M = 01000 00101 00010 00100 10010 10011 11010 10011
C = (4), (10+40), (19), (10), (2+19), (2+19+40), (2+4+19), (2+19+40)
C = 4, 50, 19, 10, 21, 61, 25, 61
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 599
Descifrado con mochila simple
C = 4, 50, 19, 10, 21, 61, 25, 61 S = {2, 4, 10, 19, 40}
La operacin de descifrado es elemental: pasamos por la
mochila los valores de C, encontramos el vector V
i
y por
ltimo agrupamos el resultado en grupos de 8 bits. En este
caso 4 V
i
= 01000, 50 V
i
= 00101, etc.
PROBLEMA: Es muy fcil cifrar y descifrar
pero tambin criptoanalizar el sistema de cifra
porque se usa una mochila simple.
Una posible solucin es usar mochilas de Merkle y Hellman.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 600
Mochila de Merkle y Hellman MH
En 1978 Ralph Merkle y Martin Hellman proponen un sistema
de cifra de clave pblica denominado Mochila con Trampa.
El algoritmo se basa en crear una mochila difcil a partir de una
mochila simple de forma que el cifrado se haga con la mochila
difcil y el descifrado con la mochila simple o fcil. Se puede
pasar fcilmente de la mochila simple a la difcil o viceversa
usando una trampa.
La trampa ser nuestra clave secreta.
La mochila difcil ser nuestra clave pblica.

http://www-fs.informatik.uni-tuebingen.de/~reinhard/krypto/English/4.5.3.e.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 601
Diseo mochila de Merkle y Hellman (1)
1. Se selecciona una mochila supercreciente de m elementos
S = {S
1
, S
2
, ..., S
m
}.
2. Se elige un entero (mdulo de
trabajo) mayor que la suma de
los elementos de la mochila.
ms fcil:
2S
m

m
> S
i

i = 1
mcd (,) = 1
Se asegura
el inverso
3. Se elige un entero primo
relativo con .
Se recomienda que no tenga factores con los elementos de S
S
i
= S
i
mod
4. Se multiplica S por mod .
Obteniendo una mochila difcil S = {S
1
, S
2
, ..., S
m
}
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 602
Diseo mochila de Merkle y Hellman (2)

-1
= inv (,) 5. Se calcula el inverso de en el cuerpo .
Clave privada: ,
-1
Clave privada: ,
-1
Clave pblica: mochila S
Clave pblica: mochila S
DESCIFRADO:
M =
-1
C mod
Entonces obtenemos:
S M
Esto se interpreta como
encontrar los vectores que
cumplan con un valor de T.
CIFRADO:
C = S M
como S = S mod
C = S M mod
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 603
Cifrado mochila de Merkle y Hellman (1)
Se pide cifrar el mensaje codificado en ASCII M = Sol usando
la mochila simple y supercreciente S = {3, 5, 12, 21}.
1. Eleccin de : 2S
4
221 = 49
2. Eleccin de : mcd (, ) = 1 = 32
-1
= 23
3. Mochila S: S = S mod
S
1
= 32 3 mod 49 = 96 mod 49 = 47
S
2
= 32 5 mod 49 = 160 mod 49 = 13
S
3
= 32 12 mod 49 = 384 mod 49 = 41
S
4
= 32 21 mod 49 = 672 mod 49 = 35
Clave pblica: S = {47,13,41,35}
Clave pblica: S = {47,13,41,35}
Clave privada: = 49,
-1
= 23
Clave privada: = 49,
-1
= 23
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 604
Cifrado mochila de Merkle y Hellman (2)
Cifrado: M = Sol = 0101 0011 0110 1111 0110 1100
Clave pblica: S = {47,13,41,35}
Como m = 4, cifraremos bloques de 4 bits,
convirtiendo el mensaje a su equivalente
en binario del cdigo ASCII.
Clave pblica: S = {47,13,41,35}
Clave privada: = 49,
-1
= 23
Clave privada: = 49,
-1
= 23
C = (13+35), (41+35), (13+41), (47+13+41+35), (13+41), (47+13)
Observe que se repite el valor 54 puesto
que m = 4 sera una muy mala eleccin.
C = 48, 76, 54, 136, 54, 60
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 605
Descifrado mochila de Merkle y Hellman
Clave pblica: S = {47,13,41,35}
Clave pblica: S = {47,13,41,35}
Clave privada: = 49,
-1
= 23
Clave privada: = 49,
-1
= 23
Cifrado: M = Sol = 0101 0011 0110 1111 0110 1100
C = 48, 76, 54, 136, 54, 60
Descifrado:
2348 mod 49 = 1.104 mod 49 = 26 23136 mod 49 = 3.128 mod 49 = 41
2376 mod 49 = 1.748 mod 49 = 33 2354 mod 49 = 1.242 mod 49 = 17
2354 mod 49 = 1.242 mod 49 = 17 2360 mod 49 = 1.380 mod 49 = 8
Como S = {3,5,12,21}
M = 0101 0011 0110 1111 0110 1100 = Sol
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 606
Valores de diseo de mochilas M-H (1)
Merkle y Hellman proponen los siguientes parmetros:
a) Tamao de la mochila m 100
b) Mdulo uniforme en el siguiente intervalo:
Intervalo : [2
2m+1
+1, 2
2m+2
-1] 2m+2 bits
Si m = 100: todos los elementos de S son de 202 bits.
c) Valores de S
i
elegidos uniformemente en el intervalo:
Intervalo S
i
: [(2
i-1
-1)2
m
+1, 2
i-1
2
m
]
Si m = 100: 1 S
1
2
100
S
2
2
101
S
3
2
102
...
d) Elegir un valor x en el intervalo [2, -2]. El factor se
calcula como: = mcd (, x)
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 607
Mochila con parmetros proporcionales (1)
a) Mochila con m = 6
b) Intervalo : [2
2m+1
+1, 2
2m+2
-1] = [2
26+1
+1, 2
26 +2
-1]
[2
13
+1, 2
14
+1] = [8.193, 16.385] Sea = 13.515
Todos estos elementos sern de (2m+2) = 14 bits
c) Eleccin de los valores S
i
:
i=1 : [(2
1-1
-1)2
6
+1, (2
1-1
) 2
6
] 1 S
1
64
i=2 : [(2
2-1
-1)2
6
+1, (2
2-1
) 2
6
] 65 S
2
128
i=3 : [(2
3-1
-1)2
6
+1, (2
3-1
) 2
6
] 193 S
3
256
i=4 : [(2
4-1
-1)2
6
+1, (2
4-1
) 2
6
] 449 S
4
512
i=5 : [(2
5-1
-1)2
6
+1, (2
5-1
) 2
6
] 961 S
5
1.024
i=6 : [(2
6-1
-1)2
6
+1, (2
6-1
) 2
6
] 1.985 S
6
2.048
UNA ELECCIN
S
1
= 39
S
2
= 72
S
3
= 216
S
4
= 463
S
5
= 1.001
S
6
= 1.996
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 608
Mochila con parmetros proporcionales (2)
d) Clculo del factor . Buscamos un valor x en el intervalo
[2, -2] = [2, 13.513], por ejemplo x = 9.805.
Como el mximo comn divisor entre = 13.515 y x = 9.805
es 265, luego = 9.805/265 = 37.
Vamos a elegir:
= 37 de forma que
-1
= 4.018 inv (37, 13.515) = 4.018
Luego, la mochila simple y la clave privada sern:
Mochila simple: S = {39, 72, 216, 463, 1.001, 1.996}
Clave Privada: = 13.515
-1
= 4.018
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 609
Mochila con parmetros proporcionales (3)
Mochila simple:
S = {39, 72, 216, 463, 1.001, 1.996} Mdulo: = 13.515
Factor multiplicador: = 37;
-1
= 4.018 Clave privada
S
1
= 3937 mod 13.515 = 1.443
S
2
= 7237 mod 13.515 = 2.664
S
3
= 21637 mod 13.515 = 7.992
S
4
= 46337 mod 13.515 = 3.616
S
5
= 1.00137 mod 13.515 = 10.007
S
6
= 1.99637 mod 13.515 = 6.277
Mochila difcil:
S = {1.443, 2.664, 7.992, 3.616, 10.007, 6.277} Clave pblica
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 610
Fortaleza de las mochilas M-H
En el ao 1982 Adi Shamir y Richard Zippel encuentran
debilidades a las mochilas de Merkle-Hellman:
Si se conoce el mdulo (o bien ste puede deducirse) ...
Y si los dos primeros elementos (S
1
y S
2
) de la mochila
difcil se corresponden con los dos primeros elementos
(S
1
y S
2
) de la mochila simple y son primos con ...
Entonces podemos generar la mochila simple a partir de la
difcil ya que encontraremos la clave secreta
-1
... 0
Esta debilidad no hace recomendable el uso de mochilas
de M-H para el cifrado de la informacin ... /

http://www.behdad.org/download/Presentations/knapsack/knapsack.ppt
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 611
Criptoanlisis de Shamir y Zippel
Este ataque exige fuertes restricciones. Para una mochila
con 100 elementos, los autores suponen:
a) Que los dos primeros elementos de S de 100 y 101 bits
son mucho ms pequeos que el mdulo de 202 bits.
b) Que podemos identificar los elementos S
1
y S
2
en la
mochila difcil y hacerlos corresponder con S
1
y S
2
.
c) Que conocemos el mdulo o podemos deducirlo.
Con estos datos se trata de encontrar los valores de
S
1
y S
2
adems del factor de multiplicacin .
Con estos valores generamos la mochila fcil S.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 612
Pasos del ataque de Shamir y Zippel (1)
1. Se calcula q = (S
1
/S
2
) mod
Como S
i
= S
i
mod entonces:
q = (S
1
/S
2
) mod = [S
1
inv (S
2
, )] mod
Esto implica una condicin fuerte: mcd (S
2
, ) = 1
2. Se calculan todos los mltiplos modulares del valor q con
multiplicadores en el rango [1, 2
m+1
] = [1, 2
101
]
CM = {1q mod , 2q mod , ..., 2
m+1
q mod }
3. El candidato para S
1
ser el valor ms pequeo de CM
puesto que ese elemento podra ser el ms pequeo de la
mochila fcil S.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 613
Pasos del ataque de Shamir y Zippel (2)
4. Encontrado el candidato para S
1
se calcula:
= (S
1
/S
1
) mod = [S
1
inv (S
1
, )] mod
Esto implica otra condicin fuerte: mcd (S
1
, ) = 1
5. Conocido encontramos
-1
= inv (, ) y as calculamos
todos los elementos de la mochila S
i
= S
i

-1
mod que
debera ser de tipo supercreciente o fcil.
6. Si no se genera una mochila supercreciente, se elige el
siguiente valor ms pequeo del conjunto CM y as hasta
recorrer todos sus valores. Si con este conjunto CM no se
obtiene una mochila simple, se repite el punto 2 tomando
ahora valores en el rango 2
m+i
con i = 2, 3, etc. Por lo
general el ataque prospera con el primer conjunto CM.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 614
Ejemplo de ataque de Shamir y Zippel (1)
La clave pblica de un sistema de mochila Merkle-Hellman es:
S = {S
1
, S
2
, S
3
, S
4
, S
5
} = {3.241, 572, 2.163, 1.256, 3.531}
Si de alguna forma hemos conseguido conocer que el mdulo = 4.089,
se pide encontrar la mochila fcil S = {S
1
, S
2
, S
3
, S
4
, S
5
}.
Solucin:
q = S
1
/S
2
mod = S
1
inv (S
2
, ) mod . Calculamos ahora inv (S
2
, )
es decir inv (572, 4,089) = 309, luego q = 3.241309 mod 4.089 = 599.
Mltiplos CM = {1q mod , 2q mod , 3q mod , ..., 64q mod }
puesto que la mochila tiene m = 5 elementos y el intervalo ser [1, 2
5+1
].
Luego CM = [599, 1.198, 1.797, 2.396, 2.995, 3.594, 104, 703, 1.302,
1.901, 2.500, 3.099, 3.698, 208, 807, 1.406, 2.005, 2.604, 3.203, 3.802,
312, 911, 1.510, 2.109, 2.708, 3.307, 3.906, 416, 1.015, 1.614, 2.213,
2.812, 3.411, 4.010, 520, 1.119, 1.718, 2.317, 2.916, 3.515, 25, 624,
1.223, 1.822, 2.421, 3.020, 3.619, 129, 728, 1.327, 1.926, 2.525, 3.124,
3.723, 233, 832, 1.431, 2.030, 2.629, 3.228, 3.827, 337, 936, 1.535].
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 615
Ejemplo de ataque de Shamir y Zippel (2)
Suponemos que el nmero ms pequeo de CM es candidato a S
1
= 25.
El factor de multiplicacin sera = (S
1
/S
1
) = S
1
inv (S
1
, ) mod .
Como inv (S
1
, ) = inv (25, 4,089) = 2.617, el factor de multiplicacin
= 3.2412.617 mod 4.089 = 1.111.
Por lo tanto su valor inverso ser
-1
= inv (, ) = inv (1.111, 4.089).
Luego
-1
= 622.
Multiplicamos ahora los valores S de la mochila difcil por
-1
a ver si
obtenemos una mochila supercreciente S (S
i
= S
i

-1
mod ):
S
1
= 25 (valor elegido como candidato del conjunto CM)
S
2
= S
2

-1
mod = 572 622 mod 4.089 = 41 &
S
3
= S
3

-1
mod = 2.163 622 mod 4.089 = 105 &
S
4
= S
4

-1
mod = 1.256 622 mod 4.089 = 233 &
S
5
= S
5

-1
mod = 3.531 622 mod 4.089 = 489 &
Como la mochila S = {25, 41, 105, 233, 489} es supercreciente, el
ataque ha prosperado y hemos encontrado la clave privada. /
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 616
Uso de los criptosistemas de mochilas
Existen varios algoritmos propuestos como sistemas de cifra
usando el problema de la mochila: el de Graham-Shamir,
Chor-Rivest, etc., pero su estudio aqu no tiene sentido.
No obstante todos han sucumbido a los criptoanlisis y en la
actualidad en el nico entorno que se usan es en la proteccin
de diversos programas de aplicacin, en forma de hardware
que se conecta en la salida paralela del computador para
descifrar el cdigo ejecutable de esa aplicacin dejando, sin
embargo, activa la salida a impresora. De esta manera slo en
aquel sistema con la mochila instalada se puede ejecutar el
programa. No se usa en comunicaciones.

http://www.derf.net/knapsack/
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 617
Cuestiones y ejercicios (1 de 2)
1. Recorra de izquierda a derecha y de derecha a izquierda la mochila
S = {13, 6, 1, 3, 4, 9, 10} para T = 24. Tiene solucin rpida?
2. Para la mochila de la pregunta anterior, hay una o ms soluciones?
3. Interesa usar en criptografa el problema de la mochila con una
solucin no nica? Por qu s o no?
4. Qu significa que una mochila sea supercreciente? Es la mochila
S = {3, 4, 9, 18, 32, 73} supercreciente? Por qu?
5. A partir de la mochila S = {3, 5, 10, 21, 43} obtenga la mochila
M-H difcil S. Para y use los valores mnimos posibles.
6. Si la mochila fcil es S = {1, 2, 4, 8, 16, 32, 64, 128} con = 257 y
= 21, cifre con una mochila de M-H el mensaje en ASCII de 10
caracteres M = Hola amigo (recuerde que el espacio se cifra).
7. Descifre el criptograma obtenido en la pregunta anterior.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 618
Cuestiones y ejercicios (2 de 2)
8. Qu valores mnimos de diseo propusieron Merkle y Hellman
para su sistema de cifrado con mochila? Por qu?
9. Disee una mochila de MH con parmetros proporcionales si m = 5.
10. No es un buen criterio elegir m = 4, m = 8 o m = 16. Por qu?
11. En qu consiste el ataque de Shamir y Zippel a la mochila de M-H?
12. En el ejemplo de los apuntes, cuntas operaciones ha tenido que
hacer nuestro algoritmo para romper la clave privada?
13. Es posible que una mochila difcil provenga de ms de una mochila
fcil? Por qu?
14. Qu suceder en el caso anterior para mochilas equivalentes con
los valores del factor de multiplicacin w?
15. Usara un sistema de mochila para cifrar informacin en un entorno
como Internet? Y en una intranet para respuestas a un examen?
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 619
Prcticas del tema 13 (1/2)
Software mochilas:

http://www.criptored.upm.es/software/sw_m001b.htm
1. Cifre el mensaje M = ABCabc, usando una mochila de cuatro elementos de
creacin manual y valores S = {3, 5, 11, 23}, M = 47 y W = 23. Observe
la repeticin de valores y justifique lo que sucede.
2. Vuelva a cifrar ese mensaje pero con una mochila de cinco elementos de
creacin manual y valores S = {3, 5, 11, 23, 44}, M = 89 y W = 21. Qu
sucede ahora con el criptograma? Descifre el criptograma.
3. Ataque la mochila difcil, primero por criptoanlisis rpido y luego por
criptoanlisis exhaustivo. En ambos casos vea y analice los detalles.
4. Para el mensaje M = Una prueba, cree una mochila manual S = {28, 62,
126, 254, 510}, con M = 4051 y W = 4004. Ataque ahora la mochila por
criptoanlisis rpido y luego exhaustivo y finalmente analice los detalles.
5. Cree varias mochilas automticas con parmetros proporcionales a MH de
tamaos 6, 7 y 8. Active la opcin garantizar criptoanlisis y atquelas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 620
Prcticas del tema 13 (2/2)
6. Repita el ejercicio anterior y opcin garantizar criptoanlisis desactivada.
7. Para el mensaje M = Otra prueba, cree la mochila manual S = {122, 250,
506, 1018, 2042, 4090, 8186}, con = 59369 y = 59361. Realice un
ataque rpido y luego exhaustivo. Observe lo que sucede y explique lo
observado. Repita el ataque para la mochila fcil S = {1016, 1964, 4088,
8108, 16376, 32684, 65528, 130988, 262136, 524204}, con = 4186947 y
= 1393196. Comente lo observado.
8. Repita el ejemplo anterior pero S = {59, 123, 251, 507, 1019, 2043, 4091,
8187, 16379}, = 1044529 y = 1044193. Ataque ahora la mochila con
S = {115, 371, 883, 1907, 3955, 8051, 16243, 32627, 65395, 130931},
siendo = 4193897 y = 2562721. Qu ha sucedido en estos casos?
9. Cree una mochila automtica de MH de tamao 10 y la opcin garantizar
criptoanlisis activada. Proceda a atacarla y si pasados 45 segundos no
logra romperla, detenga el ataque y observe los detalles.
10. Cree una mochila MH de tamao 100 y observe las mochilas completas
Captulo 14
Cifrado Asimtrico Exponencial
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 89 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 622
Aqu ciframos nmeros, no mensajes
La operacin caracterstica de la cifra asimtrica es mediante un
cifrado exponencial. La operacin a realizar ser C = A
B
mod n, en
donde n es el cuerpo de cifra del orden de 1.024 bits, B es una clave
pblica 17 bits para el intercambio de clave y cerca de 1.024 bits de la
clave privada para firma digital. A ser siempre un nmero N (nunca
un mensaje M) y por lo general del orden de las centenas de bits.
Esto es as porque este tipo de cifra es muy lenta y sera muy costoso
en tiempo cifrar, por ejemplo, mensajes de cientos o miles de bytes.
Por lo tanto, cuando se cifre con la clave pblica de destino para
hacer un intercambio de clave, se tratar de un nmero N del orden de
los 128 bits (la clave de sesin), y cuando se cifre con la clave
privada de emisin para una firma digital, se tratar de un nmero N
de 160 bits, por ejemplo un hash SHA-1 sobre el mensaje M.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 623
Otros casos de cifra exponencial
La cifra con la clave privada de recepcin cuando desciframos
un nmero o dato que se nos ha enviado confidencialmente, o
bien la cifra con la clave pblica del emisor para comprobar
as su firma digital, sern casos de descifrado.
En el primero de ellos, puesto que se recibe un nmero muy
grande dentro del cuerpo de cifra con n bits y la clave privada
ser tambin de esa magnitud, en el caso de RSA se realizar
el descifrado usando el Teorema del Resto Chino.
Si deseamos cifrar mensajes Mcon estos algoritmos, se puede
hacer formando bloques de cifra, al igual que se hace con los
sistemas simtricos, pero recuerde que esto tiene sentido slo
para prcticas de laboratorio y nunca en sistemas reales.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 624
Cifrado exponencial con clave del receptor
Al cifrar el nmero N y en el descifrado del criptograma
C se usar una exponenciacin: E
e
(N) = C y E
d
(C) = N.
En la operacin de cifrado, el subndice e significar el
uso de la clave pblica del receptor (R) en el extremo
emisor y el subndice d el uso de la clave privada del
receptor (R) en el extremo receptor.
C = E
eR
(N) = N
eR
mod n
R
N = E
dR
(C) = C
dR
mod n
R
N deber ser un elemento del CCR de n
R
.
Esta operacin se usar para realizar el intercambio de
una clave de sesin entre un emisor y un receptor.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 625
Cifrado exponencial con clave del emisor
En la operacin de cifrado el subndice d significa el uso
de la clave privada del emisor (E) en el extremo emisor,
y el subndice e el uso de la clave pblica del emisor (E)
en el extremo receptor.
C = E
dE
(N) = N
dE
mod n
E
N = E
eE
(C) = C
eE
mod n
E
N deber ser un elemento del CCR de n
E
.
Esta operacin se usar para autenticar la identidad de un
usuario mediante una firma digital, al mismo tiempo que
se demuestra la integridad del mensaje mediante un hash.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 626
Cifrado exponencial genrico tipo RSA
Sea el grupo de trabajo n = pq (n) = (p-1)(q-1)
Se eligen una clave pblica e y una privada d de forma que:
ed mod (n) = 1 ed = k(p-1)(q-1) + 1.
Por el Teorema del Resto
Chino se tiene que:
N
ed
= N mod n
ssi N
ed
= N mod p
N
ed
= N mod q
Por el Teorema de Euler
se tiene que:
N
k(n)
mod n = 1
para todo N primo con n
Si ed = k(n) + 1
y ...
Luego, el sistema de cifra ser
vlido para cualquier valor de N
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 627
Operacin de descifrado exponencial
Al cifrar el nmero N con una clave pblica e (en este caso
para realizar un intercambio de clave, aunque es igual de
vlido con una clave d en caso de firma digital) tenemos:
Cifrado: C = N
e
mod n
Descifrado: C
d
mod n = (N
e
)
d
mod n = N
ed
mod n
C
d
mod n = N
k(n)+1
mod n = NN
k(n)
mod n
C
d
mod n = N1 mod n = N mod n
Por lo tanto, la operacin C
d
mod n recuperar el nmero N.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 628
Comprobacin de la recuperacin de N
Sea n = pq = 511 = 55 (n) = (5-1)(11-1) = 40
Sea el nmero N = 50 = 25
2
(debe ser un elemento de n = 55)
Se elige e = 3 d = inv[e, (n)] = inv (3, 40) = 27
ed mod (n) = 327 mod 40 = 81 mod 40 = 1
C = N
e
mod n = 50
3
mod 55 = (25
2
)
3
mod 55
C = [(2)
3
mod 55 (5
2
)
3
mod 55] mod 55 - por reducibilidad +-
N = C
d
mod n = {[(2)
3
mod 55 (5
2
)
3
mod 55] mod 55}
27
mod 55
N = [(2)
327
mod 55 (5
2
)
327
mod 55] mod 55
N = [2
2(n)+1
5
2(n)+1
5
2(n)+1
] mod 55
= 2 5 5 mod 55 = 50
Por el Teorema de Euler y del Resto Chino
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 629
Intercambio de clave de Diffie y Hellman
El comienzo de los sistemas de clave pblica se debe al estudio
hecho por Whitfield Diffie y Martin Hellman (1976).
Protocolo de Intercambio de Claves de Diffie y Hellman
A y B seleccionan un grupo multiplicativo (con inverso) p
y un generador de dicho primo, ambos valores pblicos.
A genera un nmero aleatorio a y enva a B
a
mod p
B genera un nmero aleatorio b y enva a A
b
mod p
B calcula (
a
)
b
mod p =
ab
mod p y luego destruye b
A calcula (
b
)
a
mod p =
ba
mod p y luego destruye a
El secreto compartido por A y B es el valor
ab
mod p
http://www.cs.purdue.edu/homes/ninghui/courses/Fall04/lectures/diffie-hellman.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 630
Ejemplo de intercambio de clave de DH
Adela (A) y Benito (B) van a intercambiar una clave de
sesin dentro del cuerpo primo p = 1.999, con = 33. El
usuario A elegir a = 47 y el usuario B elegir b = 117.
Algoritmo:
A calcula
a
mod p = 33
47
mod 1.999 = 1.343 y se lo enva a B.
B calcula
b
mod p = 33
117
mod 1.999 = 1.991 y se lo enva a A.
B recibe 1.343 y calcula 1.343
117
mod 1.999 = 1.506.
A recibe 1.991 y calcula 1.991
47
mod 1.999 = 1.506.
La clave secreta compartida por (A) y (B) ser K = 1.506
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 631
Puede un intruso atacar la clave DH?
Un intruso que conozca las claves pblicas p y e
intercepte el valor
a
mod p que ha enviado A y el
valor
b
mod p que ha enviado B no podr descubrir
los valores de a, de b y ni menos
ab
mod p ...
Salvo que se enfrente al Problema del Logaritmo
Discreto (PLD) que, como ya hemos visto, se
vuelve computacionalmente intratable para valores
del primo p grandes.

http://en.wikipedia.org/wiki/Discrete_logarithm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 632
Seguridad del intercambio de clave de DH
La seguridad del intercambio de clave de Diffie y Hellman radica
en la imposibilidad computacional a la que se enfrentar el
criptoanalista al tener que resolver el problema del logaritmo
discreto para encontrar la clave privada que se encuentra en el
exponente de la expresin
i
mod p = C.
Como p y sern pblicos, al capturar el valor C el atacante
deber resolver i = log

C mod p, un problema no polinomial


(debido a la operacin final dentro del mdulo p) que para valores
grandes de p (del orden o superior a los 1.000 bits) resulta
computacionalmente imposible encontrar su solucin.
El algoritmo propuesto inicialmente es vulnerable ante un ataque
del tipo man in the middle como veremos a continuacin. No
obstante, esta vulnerabilidad puede evitarse.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 633
Es vulnerable el protocolo de DH?
A elige un nmero a con 1 < a < p-1 y enva a B
a
mod p
C intercepta este valor, elige un nmero c con 1 < c < p-1 y
enva a B
c
mod p
B elige un nmero b con 1 < b < p-1 y enva a A
b
mod p
C intercepta este valor y enva a A
c
mod p (valor anterior)
A y B calculan sus claves k
A
= (
c
)
a
mod p, k
B
= (
c
)
b
mod p
C calcula tambin las claves:
k
CA
= (
a
)
c
mod p
k
CB
= (
b
)
c
mod p
Por lo tanto, a partir de ahora C tiene luz verde y puede
interceptar todos los mensajes que se intercambian A y B.
Qu hacer?
Una solucin a
este problema
es el sellado
de tiempo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 634
Intercambio de clave DH entre n usuarios
El protocolo DH se puede generalizar para n usuarios: sea n = 3.
A, B y C seleccionan un grupo p y un generador
A genera un nmero aleatorio a y enva
a
mod p a B
B genera un nmero aleatorio b y enva
b
mod p a C
C genera un nmero aleatorio c y enva
c
mod p a A
A recibe
c
mod p y calcula (
c
)
a
mod p y se lo enva a B
B recibe
a
mod p y calcula (
a
)
b
mod p y se lo enva a C
C recibe
b
mod p y calcula (
b
)
c
mod p y se lo enva a A
A recibe
bc
mod p y calcula (
bc
)
a
mod p =
bca
mod p
B recibe
ca
mod p y calcula (
ca
)
b
mod p =
cab
mod p
C recibe
ab
mod p y calcula (
ab
)
c
mod p =
abc
mod p
El secreto compartido por A, B y C es el valor
abc
mod p
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 635
Condiciones del intercambio de clave D-H
CONDICIONES DEL PROTOCOLO:
El mdulo p debe ser un primo grande, al menos de 1.024 bits.
Interesa que el Indicador de Euler (p) = p-1, adems del valor
2, tenga factores primos grandes.
El generador debe ser una raz primitiva del mdulo p.
Si el mdulo es un primo pequeo, se puede hacer un ataque por
fuerza bruta dentro de un tiempo razonable.
Si el generador no es una raz primitiva del grupo p, entonces la
operacin
i
mod p (1 i p-1) no genera todos los restos del
grupo y esto facilita el ataque por fuerza bruta.
Veamos un ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 636
Raz incorrecta (falsa)
MALA ELECCIN DE LOS PARMETROS:
Sean el grupo de trabajo p = 13 y un valor = 3 ... entonces
3
1
mod 13 = 3 3
2
mod 13 = 9 3
3
mod 13 = 1 1 vamos mal
3
4
mod 13 = 3 3
5
mod 13 = 9 3
6
mod 13 = 1
3
7
mod 13 = 3 3
8
mod 13 = 9 3
9
mod 13 = 1
3
10
mod 13 = 3 3
11
mod 13 = 9 3
12
mod 13 = 1 (
p-1
mod p = 1)
Slo debera
darse unidad
en este caso.
Se repiten los restos 3, 9 y 1 porque 3 no es un generador de Z
13
.
Observe que 3
4
mod 13 = (3
3
)(3)
1
mod 13 = 1(3)
1
mod 13 = 3.
Un ataque por fuerza bruta deber buscar slo en una tercera parte
del espacio de claves y, lo que es peor, la probabilidad de xito de
encontrar un valor verdadero b en
b
mod p aumenta de 1/12 a 1/3.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 637
Raz correcta
Primero intente calcularlo... y luego para comprobar sus resultados, avance.
Y si ahora = 2 ?
Y si ahora = 2 ?
2
1
mod 13 = 2 2
2
mod 13 = 4 2
3
mod 13 = 8
2
4
mod 13 = 3 2
5
mod 13 = 6 2
6
mod 13 = 12
2
7
mod 13 = 11 2
8
mod 13 = 9 2
9
mod 13 = 5
2
10
mod 13 = 10 2
11
mod 13 = 7 2
12
mod 13 = 1 -
Ahora s estn todos los restos multiplicativos del cuerpo Z
13
porque
el resto 2 es un generador dentro de este cuerpo.
Observe que el valor unidad slo se obtiene para
p-1
mod p.
Como vimos en el captulo de Teora de Nmeros, en
p = 13 sern generadores los valores g = 2, 6, 7, 11.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 638
Algoritmo de cifra asimtrica RSA
En febrero de 1978 Ron Rivest, Adi Shamir y Leonard Adleman
proponen un algoritmo de cifra de clave pblica: RSA
Pasos del algoritmo
1. Cada usuario elige un grupo n = pq (pueden y de hecho son distintos).
2. Los valores p y q no se hacen pblicos.
3. Cada usuario calcula (n) = (p-1)(q-1).
4. Cada usuario elige una clave pblica e de forma que 1 < e < (n) y que
cumpla con la condicin: mcd [e, (n)] = 1.
5. Cada usuario calcula la clave privada d = inv [e,(n)].
6. Se hace pblico el grupo n y la clave e.
7. Se guarda en secreto la clave d. Tambin guardar p y q puesto que en
la operacin de descifrado usar el Teorema del Resto Chino.
Cifra: C = N
eR
mod n
R
Firma: C = h(M)
dE
mod n
E

http://www.di-mgt.com.au/rsa_alg.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 639
Intercambio de clave RSA (B A)
Adela Benito
En el protocolo intercambiaremos una clave K
Sea K = DA9F (16 bits)
Claves Benito
n
B
= 65.669
e
B
= 35, d
B
= 53.771
Claves Adela
n
A
= 66.331
e
A
= 25, d
A
= 18.377
K = DA9F
16
= 55.967
10
C = K
eA
mod n
A
C = 55.967
25
mod 66.331 = 16.667
Benito enva a Adela C = 16.667
Cifra
2
16
< 66.331 < 2
17
Forzaremos cifrar un
bloque de 16 bits
En la prctica no habr que
forzar este tamao ya que la
cifra asimtrica se hace en
un cuerpo (ms de mil bits)
mucho mayor que el nmero
que se cifra (cientos de bits).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 640
Recuperacin de la clave K por A
Claves Benito
n
B
= 65.669
e
B
= 35, d
B
= 53.771
Claves Adela
n
A
= 66.331
e
A
= 25, d
A
= 18.377
Adela calcula:
C
dA
mod n
A
= 16.667
18.377
mod 66.331 = 55.967.
El intercambio de clave se ha realizado con
confidencialidad porque slo Adela ha podido
realizar ese clculo con su clave privada d
A
.
Tenamos que: K = DA9F
16
= 55.967
10
C = K
eA
mod n
A
C = 55.967
25
mod 66.331 = 16.667
Benito haba enviado a Adela C = 16.667
Benito Adela
Los primos que ha
usado Benito son
(97, 677) y los de
Adela (113, 587)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 641
Descifrado con nmeros grandes
Grupo n = 91 = 713; (n) = (713) = (7-1)(13-1) = 72 N = 48
Elegimos e = 5 pues mcd (5,72) = 1 d = inv(5,72) = 29
CIFRADO:
C = N
e
mod n = 48
5
mod 91 = 5245.803.968 mod 91 = 55
DESCIFRADO:
N = C
d
mod n = 55
29
mod 91 = 48 ... 55
29
ya es nmero grande
55
29
es un nmero con 51 dgitos...
55
29
= 295473131755644748809642476009391248226165771484375
Cmo podemos acelerar esta operacin?

1 opcin: usar reducibilidad 2 opcin: algoritmo exp. rpida


`
Opcin ptima: usar el Teorema del Resto Chino
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 642
Uso del Teorema del Resto Chino en RSA
Normalmente la clave pblica e de RSA es un valor bastante bajo,
por ejemplo 2
16
+ 1 (un valor tpico). Luego, en el proceso de cifra
(no en la firma) no tendremos problemas con la velocidad de cifra
porque el exponente e ser relativamente bajo, en este caso 17 bits.
Como el cuerpo de trabajo n = pq es mucho mayor, del orden de
2
1.024
si hablamos de claves de 1.024 bits, entonces la clave privada
d ser por lo general mucho mayor que el valor de e y caer muy
cerca de ese valor de 1.024 bits. Por lo tanto, podra ser costoso para
el receptor descifrar algo con su clave privada o firmar digitalmente
un documento con dicha clave privada.
La solucin est en aplicar el Teorema del Resto Chino: en vez de
trabajar en n, lo haremos en p y q por lo que las exponenciaciones
modulares se harn en p y q, mucho ms rpido que hacerlo en n.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 643
Descifrado RSA aplicando el TRC
N = C
d
mod n Aplicando el Teorema del Resto Chino:
N = {A
p
[C
p
dp
(mod p)] + A
q
[C
q
dq
(mod q)]} mod n
con: A
p
= q [inv (q,p)] = q
p-1
mod n
A
q
= p [inv (p,q)] = p
q-1
mod n
d
p
= d mod (p-1) d
q
= d mod (q-1)
C
p
= C mod p C
q
= C mod q
Se hacen ms operaciones pero el tiempo de clculo total es menor dado
que los valores d
p
, d
q
, A
p
y A
q
estn precalculados. Las operaciones C
p
y
C
q
son sencillas y muy rpidas. El nico clculo que consume tiempo ser
C
p
dp
y C
q
dq
pero ambos se hacen en cuerpos mucho menores que n.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 644
Ejemplo de descifrado RSA usando el TRC
Sea: p = 89, q = 31, n = pq = 8931 = 2.759, (n) = 8830 = 2.640
Elegimos e = 29 d = inv [e, (n)] = inv [29, 2.640] = 2.549
Si el nmero a cifrar es N = 1.995, entonces:
C = N
e
mod n = 1.995
29
mod 2.759 = 141
N = C
d
mod n = 141
2.549
mod 2.759 = 1.995
A
p
= q
p-1
mod n = 31
88
mod 2.759 = 713 A
q
= p
q-1
mod n = 89
30
mod 2.759 = 2.047
d
p
= d mod (p-1) = 2.549 mod 88 = 85 d
q
= d mod (q-1) = 2.549 mod 30 = 29
C
p
= C mod p = 141 mod 89 = 52 C
q
= C mod q = 141 mod 31 = 17
Reemplazando en: N = {A
p
[C
p
dp
(mod p)] + A
q
[C
q
dq
(mod q)]} mod n
N = {713[52
85
mod 89] + 2.047[17
29
mod 31]} mod 2.759
N = {71337 + 2.04711} mod 2.759 = (26.381 + 22.517) mod 2.759 = 1.995
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 645
Ataque a la clave por factorizacin de n
Qu fortaleza tendr este algoritmo ante ataques?
El intruso que desee conocer la clave secreta d a partir de los
valores n y e se enfrentar al Problema de la Factorizacin de
Nmeros Grandes (PFNG), puesto que la solucin para conocer
esa clave privada es conocer primero el valor del Indicador de
Euler (n) = (p-1)(q-1) para as poder encontrar d = inv [e, (n)],
pero para ello deber saber los valores de los primos p y q.
La complejidad asociada al PFNG para un nmero n viene dada
por la ecuacin e
ln(n) ln ln(n)
, donde ln es logaritmo natural.
Le recomiendo se descargue de este sitio el programa factor.exe
en entorno MS-DOS. No obstante, existirn otros ataques a RSA
que no requieren factorizar un nmero grande.
http://home.netcom.com/~jrhowell/math/factor.htm

Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 646
Tiempo necesario para afrontar el PFNG
N de bits (n) N de dgitos Das Aos
60 18 1,7 x 10
-8
-
120 36 1,5 x 10
-5
-
256 77 1,0 -
363 109 9,0 x 10
2
2,5
442 133 9,4 x 10
4
2,5 x 10
2
665 200 3,8 x 10
8
1,0 x 10
6
Para un procesador de 2x10
8
instrucciones por segundo (aos noventa).
Fuente: Criptografa Digital, Jos Pastor. Prensas Univ. de Zaragoza, 1998.
Desafo RSA640 (193 dgitos) roto en noviembre de 2005 en la Universidad de
Bonn. Lo que en 1998 se valoraba en un milln de aos, hoy se ha roto en un
tiempo equivalente a 30 aos con un PC a 2,2 GHz. Y se resolvern nuevos
desafos de nmeros mayores. Por lo tanto, ... deberemos ser siempre muy cautos.

http://www.rsasecurity.com/rsalabs/node.asp?id=2964
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 647
Tamao de los parmetros en RSA
Toda la seguridad de RSA est basada en sus parmetros: los
primos p y q y los valores de sus claves pblica e y privada d.
El cuerpo de trabajo debe ser al menos de 1.024 bits con primos
p y q de al menos 500 bits y que difieran unos cuantos dgitos.
Aunque la clave pblica debe ser pequea para facilitar as las
operaciones, su valor no puede ser excesivamente bajo. Se usar
el nmero 4 de Fermat F
4
= 2
2
4
+ 1 = 2
16
+ 1 = 65.537.
Como ed mod (n) = 1, esto hace que la clave privada d sea un
nmero superior a los 1.000 bits, por lo general cerca de 1.024.
Habr que prestar tambin especial atencin en la generacin de
dichos primos y la posterior comprobacin de su primalidad.

http://www.criptored.upm.es/guiateoria/gt_m117f.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 648
El problema en la eleccin del valor de n
Si p y q son muy cercanos, puede ser fcil factorizar n
Si p q y suponemos que p > q, entonces (p-q)/2 es un
entero muy pequeo y por otra parte (p+q)/2 ser un
entero ligeramente superior a n.
Adems se cumplir que: n = (p+q)/4 - (p-q)/4. Esto
lo podemos escribir como n = x - y y = x - n
Elegimos enteros x > n hasta que (x - n) sea cuadrado
perfecto. En este caso x = (p+q)/2; y = (p-q)/2. Por lo
tanto rompemos el valor n: p = (x+y); q = (x-y).
`
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 649
Ejemplo de mala eleccin del valor de n
Sea p = 181; q = 251 n = 181251 = 45.431
Como 45.431 = 213,14 buscaremos valores enteros
de x mayores que 213 de forma que (x - 45.431) sea
un cuadrado perfecto +
1. x = 214 x 45.431 = 365 365 = 19,10
2. x = 215 x 45.431 = 794 794 = 28,17
3. x = 216 x 45.431 = 1.225 1.225 = 35
Entonces: p = x y = 216 35 = 181
q = x + y = 216 + 35 = 251
`
Para evitar otros problemas, es recomendable
usar los denominados primos seguros.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 650
Eleccin de los nmeros primos
Los valores primos deben elegirse apropiadamente:
Sistema RSA
a) p y q deben diferir en unos pocos dgitos.
Recuerde que la relacin bit/dgito es 3,3.
b) p y q no deben ser primos muy cercanos.
c) Longitud mnima de p y q: 500 bits.
d) Valores de (p-1) y (q-1) del Indicador de
Euler con factores primos grandes.
e) El mcd entre (p-1) y (q-1) debe ser pequeo.
Cmo?
Esto se cumple con los denominados primos seguros
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 651
Clculo de nmeros primos p y q seguros
Se elige r un primo grande de modo que: 2r + 1 = p
Se elige un r primo algo mayor que r de modo que: 2r + 1 = q
EJEMPLO: Sean r = 1.019 y r = 3.863
p = 21.019 + 1 = 2.039 (11 bits) Es primo `
q = 23.863 + 1 = 7.727 (13 bits) Es primo `
n = pq = 15.755.353
Luego: p-1 = 2.038; q-1 = 7.726
p-1 = 21.019; q-1 = 23.863 mcd (p-1, q-1) = 2
Los primos p y q cumplen la condicin de primos seguros
Nota: es posible que encuentre algn documento donde proponga elegir un valor r
primo y comprobar luego si p = 2r+1 y q = 2p+1 son primos. En este caso p y q
seguirn siendo primos seguros pero slo de forma independiente. Aqu ser muy
fcil atacar el valor n factorizndolo a travs de una ecuacin de segundo grado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 652
Par de primos seguros pero independientes
Elegimos r primo. Comprobamos primero que p = 2r+1 es primo y
luego que q = 2p+1 tambin es primo.
Los valores de p y q sern primos seguros pero en el sistema RSA
basado en n = pq no servirn como pareja segura dado que:
n = pq = [2r +1][2p +1] = [2r + 1][2(2r + 1) + 1] = [2r +1][4r + 3]
n = 8r
2
+ 10r + 3 8r
2
+ 10r + (3 - n) = 0
Luego: r = [- 10 100 - 32(3-n)]/16 = [- 10 4 + 32n]/16
r = [- 10 + 4 + 32n]/16
Conocido el valor de r podemos calcular p y q .
Ejemplo: r = 41, p = 2r+1 = 83 `, q = 2p+1 = 167 `, n = 13.861.
r = [- 10 + 4 + 3213.861]/16 = [- 10 + 666]/16 = 41.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 653
Claves privadas parejas en RSA
Una clave privada pareja CPP d
P
, permite descifrar el criptograma
C resultado de una cifra con la clave pblica e sin que d
P
sea el
inverso de la clave pblica e. En el sistema RSA habr como
mnimo una clave d
P
pareja de la clave privada d.
Esto se debe a que las claves inversas e y d lo sern en (n) y en
cambio la cifra se hace en el cuerpo n.
Ejemplo:
Si p = 13; q = 19; n = 247, (n) = 216 y elegimos e = 41, entonces
d = inv (41, 216) = 137, que es nico. Si ciframos con la clave
pblica el nmero N = 87 obtenemos C = 87
41
mod 247 = 159.
Luego sabemos que N = C
d
mod n = 159
137
mod 247 = 87
Pero tambin lo desciframos con d
P
= 29, 65, 101, 173, 209 y 245.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 654
Nmero de claves privadas parejas
Si = mcm [(p-1),(q-1)] y sea d

= e
-1
mod = inv (e, )
La clave pblica e tendr claves parejas d
i
de la forma:
d
i
= d

+ i 1 < d
i
< n
i = 0, 1, ... = (n - d

)/
En el ejemplo anterior tenemos que:
= mcm [(p-1),(q-1)] = mcm (12, 18) = 36
Luego: d

= inv (41, 36) = 29, as d


i
= d

+ i = 29 + i36
Es decir d
i
= 29, 65, 101, 137, 173, 209, 245. Observe que
en aparece (137) la clave privada d y comprobamos que:
= (n - d

)/ = (247 29)/36) = 6,05 = 6


Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 655
Casos extraos de claves privadas parejas
Sea p = 751, q = 1.009; e = 13
Clave privada: d = 407.077
N de claves privadas parejas: 5
29.077, 155.077, 281.077,
533.077, 659.077.
Sea p = 751, q = 1.009; e = 101
Clave privada: 553.901
N de claves privadas parejas: 5
49.901, 175.901, 301.901,
427.901, 679.901.
Para otros valores de e, siempre
existe una separacin entre todas
las claves privadas igual a 126.000.
Sea p = 379, q = 1.783; e = 71
Clave privada: d = 531.287
N de claves privadas parejas: 53
7.379, 19.853, 32.327, 44.801,
57.275, 69.749, 82.223, 94.697,
107.171, 119.645, 132.119,
144.593, 157.067, 169.541, ...
... 506.339, 518.813, 543.761,
556.235, 568.709, 581.183,
593.657, 606.131, 618.605,
631.079, 643.553, 656.027,
668.501. ... Y separadas 12.474.
Sea p = 379, q = 1.783; e = 131
Ahora las CPP aumentan a 54.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 656
Minimizando las claves privadas parejas
Para que sea lo ms pequeo posible ( = 1) un primer
paso es elegir los primos p y q como primos seguros.
Ejemplo:
Sean r = 5; r = 23 p = 25 + 1 = 11 (es primo `)
q = 223 + 1 = 47 (es primo `)
En estas condiciones con n = 517 y (n) = 460, sea e = 17
Luego = mcm (10, 46) = 230 y d

= inv (17, 230) = 203


Entonces = (n - d

)/ = (517 203)/230 = 1,36 = 1


As: d
i
= d

+ i = 203 + i230 = 203, 433 = 1


En efecto, d = inv [e, (n)] = inv (17, 460) = 433 y lo
cifrado con e = 17 tambin se descifra con d
P
= 203.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 657
Minimizando no slo con primos seguros
Para que sea igual a la unidad, habr que elegir adems
un valor adecuado de clave pblica:
Tomando el mismo ejemplo anterior:
p = 11; q = 47; n = 517 y (n) = 460
Segn el valor que elijamos de clave pblica e, podramos
obtener ms de una clave privada pareja:
- Sea: e = 7, d = 263 = 230 y d

= inv (7, 230) = 33


d
i
= d

+ i = 33 + i230 = 33, 263, 493 = 2


- Sea: e = 77, d = 233 = 230 y d

= inv (77, 230) = 3


d
i
= d

+ i = 3 + i230 = 3, 233, 463 = 2


Con primos seguros, el nmero de claves parejas ser siempre bajo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 658
Preocupado por claves privadas parejas?
Si bien al generar claves RSA con libreras actuales como Crypto++
de Wei Dei (OpenSSL) aparecen claves que no pueden considerarse
como ptimas ya que no se controla este hecho, hay que tener en
mente que las claves privadas parejas tendrn siempre valores muy
cercanos al cuerpo de (n) es decir un tamao del orden de 2
n
bits.
Por lo tanto, independientemente de la distribucin, se tratara de una
bsqueda en un cuerpo cercano a 2
n
bits, en la actualidad en 2
1024
bits,
es decir un valor inmenso para la capacidad de cmputo actual,
incluso suponiendo un ataque similar al del DES Challengue III y un
clculo de claves por segundo varios rdenes de magnitud superior.
No obstante, en todos estos temas siempre hay que estar en alerta pues
en cualquier momento puede aparecer algn mtodo ptimo de ataque.

http://www.openssl.org
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 659
Claves parejas de la clave pblica en RSA
Al trabajar en un cuerpo finito y con iguales opciones de
cifra con la clave pblica e y la clave privada d, tenemos
que las ecuaciones vistas en las diapositivas anteriores son
vlidas en este entorno, cambiando d por e.
Tiene alguna importancia esto?
No es un problema puesto que todo el mundo conoce la
clave pblica y el sistema sigue siendo igual de seguro.
Se cumple que los valores de dichas claves parejas
son similares y equivalentes en ambos entornos, el
de las claves pblicas y el de las claves privadas.

Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 660
Ejemplo de firma y claves parejas de e
Retomamos el primer ejemplo de claves privadas parejas con:
p = 13; q = 19; n = 247, (n) = 216, e = 41, d = 137
Si firmamos N = 24, obtenemos C = 24
137
mod 247 = 215
Luego sabemos que N = C
e
mod n = 215
41
mod 247 = 24
Como e

= inv (d, ) = inv (137, 36) = 5, entonces:


= (n - e

)/ = (247 5)/36) = 6,72 = 6


e
i
= e

+ i = 5 + i36 = 5, 41, 77, 113, 149, 185, 221


Y se podr comprobar el criptograma C de la firma con
cualquiera de estas claves, parejas de la clave pblica e.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 661
Comprobacin de una firma digital
Problemas con la firma digital y las claves pblicas parejas?
- Un usuario firma un hash de un mensaje con su clave privada, lo que
enva al destino junto con el mensaje original. En destino se descifra
con la clave pblica del emisor y se comparan los dos hash, el de
emisin y el recuperado en recepcin, para dar validez a dicha firma.
- En este escenario, esto significa que se podra dar por vlida una
firma al descifrar el hash recibido con una clave pblica pareja e
distinta a la inversa de la usada en emisin y dar validez a dicha
firma; es decir usando alguna de las claves pblicas parejas.
- Esto en s no es un ataque por lo que, al menos en este contexto y en
principio, no debera considerarse como una vulnerabilidad. Esto es
as porque, adems, como se ha dicho es tpico que la clave pblica
sea el mismo nmero primo para todos, el valor e = 65.537 = 2
16
+ 1.
Como es obvio, lo que ser distinto para cada par de claves son p y q.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 662
Nmeros no cifrables en RSA
+ Si N
e
mod n = N se dice que N es un nmero no cifrable, NNC.
Aunque la clave e sea vlida, el nmero N se enviar en claro .
+ En RSA habr como mnimo 9 nmeros no cifrables.
+ En el caso ms crtico, todos los nmeros del cuerpo n pueden ser
no cifrables como veremos ms adelante.
+ Para conocer estos valores no cifrables, habr que hacer un ataque
de cifrado por fuerza bruta en p y q, es decir deberemos comprobar
que X
e
mod p = X y X
e
mod q = X con 1 < X < n-1 .
Ejemplo:
Sea el cuerpo n = 35 (p = 5, q = 7), con (n) = 24 y e = 11.
Dentro de los nmeros posibles {0, 34} sern no cifrables: {6, 14,
15, 20, 21, 29, 34} adems de los obvios {0, 1}. El valor n-1 (en
este caso 34) ser tambin siempre no cifrable.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 663
Cantidad de nmeros no cifrables
La cantidad de nmeros no cifrables dentro de un cuerpo n ser:

n
= [1 + mcd (e-1, p-1)][1 + mcd (e-1, q-1)]
Los nmeros no cifrables sern:
N = [q{inv (q, p)}N
p
+ p{inv (p, q)}N
q
] mod n
con: N
p
las soluciones de N
e
mod p = N
N
q
las soluciones de N
e
mod q = N
Esto ltimo debido al TRC puesto que N
e
mod n = N
En el ejemplo anterior se da el caso mnimo:

n
= [1 + mcd (10, 4)][1 + mcd (10, 6)] = (1+2)(1+2) = 9
N
11
mod 5 = N N
5
= {0, 1, 4} N
11
mod 7 = N N
7
= {0, 1, 6}
N = [7{inv (7, 5)}N
p
+ 5 {inv (5,7)}N
q
] mod 35
N = [73 N
p
+ 53 N
q
] mod 35 = [21{0, 1, 4} + 15{0, 1, 6}] mod 35
N = {(0, 21, 84) + (0, 15, 90)} mod 35 sumando todos los trminos...
N = {0, 15, 90, 21, 36, 111, 84, 99, 175} mod 35 ordenando...
N = {0, 1, 6, 14, 15, 20, 21, 29, 34}
Valores para un mnimo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 664
Ejemplo de nmeros no cifrables (1)
Sea p = 13; q = 17; n = pq = 221
Elegimos e = 7 por lo que d = inv (7, 192) = 55, luego:

n
= [1 + mcd (e-1, p-1)][1 + mcd (e-1, q-1)]

221
= [1 + mcd (6, 12)][1 + mcd (6, 16)] = (1+6)(1+2) = 21
Soluciones de N
7
mod 13 = N N
p
= {0, 1, 3, 4, 9, 10, 12}
Soluciones de N
7
mod 17 = N N
q
= {0, 1, 16}
Los nmeros no cifrables sern:
N = [q{inv (q, p)}N
p
+ p{inv (p, q)}N
q
] mod n
N = [17{inv (17, 13)}N
p
+ 13{inv (13, 17)}N
q
] mod 221
N = [{1710}N
p
+ {134}N
q
] mod 221
N = [170N
p
+ 52N
q
] mod 221
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 665
Ejemplo de nmeros no cifrables (2)
Tenamos N
p
= {0, 1, 3, 4, 9, 10, 12}
N
q
= {0, 1, 16}
N = [170N
p
+ 52N
q
] mod 221 luego:
N = [170{0, 1, 3, 4, 9, 10, 12} + 52{0, 1, 16}] mod 221
N = [{0, 170, 510, 680, 1.530, 1.700, 2.040} +{0, 52, 832}] mod 221
N = [0+0, 0+52, 0+832, 170+0, 170+52, 170+832, ...] mod 221
N = [0, 52, 832, 170, 222, 1.002, 510, 562, 1.342, 680, 732, 1.512, 1.530,
1.582, 2.362, 1.700, 1.752, 2.531, 2.040, 2.092, 2.872] mod 221
N = [0, 52, 169, 170, 1, 118, 68, 120, 16, 17, 69, 186, 204, 35, 152,
153, 205, 101, 51, 103, 220] ordenando...
N = [0, 1, 16, 17, 35, 51, 52, 68, 69, 101, 103, 118, 120, 152, 153,
169, 170, 186, 204, 205, 220] estos son los 21 mensajes de
221
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 666
Distribucin de nmeros no cifrables
Dado que N = {0, 1, 16, 17, 35, 51, 52, 68, 69, 101, 103, 118, 120,
152, 153, 169, 170, 186, 204, 205, 220}, observe que excepto el
valor 0, los valores de los extremos siempre sumarn el valor
del mdulo: 1+220 = 16+205 = 17+204 = 35+186 ... = 221 = n.
No obstante, esto no es una debilidad porque el siguiente valor
no cifrable posterior al 1 es aleatorio y tambin la distribucin
entre los dems. Es ms, en la mayora de las claves no se
aprecia una secuencia de valores muy clara, aunque s se
observa un comportamiento y distribucin bastante curiosos.
Si no fuera as, el sistema sera muy dbil porque podramos
conocer de antemano qu valores muy pequeos seran no
cifrables (adems del 0 y el 1) y con esa informacin poder
deducir si un valor x de centenas de bits (clave) es o no cifrable.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 667
Dos casos de nmeros no cifrables
Sean p = 409, q = 499
Con e = 31, d = 19.663
Total nmeros no cifrables: 49
0, 1, 1.636, 1.637, 23.313, 23.314,
24.949, 24.950, 26.586, 48.263,
49.899, 56.388, 58.024, 72.855,
74.491, 79.701, 81.337, 81.338,
82.973, 82.974, 96.168, 97.804,
97.805, 99.440, 99.441, 104.650,
104.651, 106.286, 106.287, 107.923,
121.117, 121.118, 122.753, 122.754,
124.390, 129.600, 131.236, 146.067,
147.703, 154.192, 155.828, 177.505,
179.141, 179.142, 180.777, 180.778,
202.454, 202.455, 204.090.
Sean p = 241, q = 251
Con e = 61, d = 26.281
Total nmeros no cifrables: 671
0, 1, 231, 250, 251, 364, 400, 482, 522,
604, 640, 733, 866, 1.004, 1.024,
1.287, 1.486, 1.506, 1.777, 1.870,
1.988, 2.009, 2.028, 2.227, 2.259,
2.260, 2.291, 2.510, ....
... 57.981, 58.200, 58.231, 58.232,
58.264, 58.463, 58.482, 58.503,
58.621, 58.714, 58.985, 59.005,
59.204, 59.467, 59.487, 59.625,
59.758, 59.851, 59.887, 59.969,
60.009, 60.091, 60.127, 60.240,
60.241, 60.260, 60.490.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 668
Cantidad mnima de nmeros no cifrables
Para que la cantidad de nmeros no cifrables sea la mnima posible,
es decir 9, deberemos elegir la clave pblica e de forma que:
mcd (e-1, p-1) = 2 y mcd (e-1, q-1) = 2
Entonces:
n
= [1 + 2][1 + 2] = 9
Esto se logra usando primos seguros:
p = 2r + 1 y q = 2r + 1 con r, r, p y q primos grandes
ya que: mcd (e-1, p-1) = mcd (e-1, (2r +1)-1) mcd = 2 o bien r
mcd (e-1, q-1) = mcd (e-1, (2r +1)-1) mcd = 2 o bien r
Luego:
n
= {9, 3(r+1), 3(r+1), (r+1)(r+1)}
Hay que comprobar en diseo que no se den valores del mcd igual a
r o r pues tendramos un nmero muy alto de este tipo de mensajes.
Adems, observe que si e = p
n
= 3p y si e = q
n
= 3q.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 669
Cantidad mxima de nmeros no cifrables
En el peor de los casos, mcd (e-1, p-1) = p-1 y mcd (e-1, q-1) = q-1
Entonces:
n
= [1 + mcd(e-1, p-1)][1 + mcd(e-1, q-1)]

n
= pq = n ... todas las cifras irn en claro!
Si en el ejemplo anterior con p = 13, q = 17, hubisemos elegido
como clave e = 49, con d = inv (49, 192) = 145, observamos que:
mcd (e-1, p-1) = mcd (48, 12) = 12
mcd (e-1, q-1) = mcd (48, 16) = 16

n
= [1 + 12][1 + 16] = 1317 = 221 = pq = n
Por lo tanto, cualquier nmero en el cuerpo n = 221 ser no cifrable
para la clave pblica e = 49. Compruebe que en este caso esto se
cumple si e = (n)/k +1 (k = 2 y 4), es decir e = 97 y 49.
Nunca podr usarse e = (n)/2 + 1 ya que la clave de descifrado ser
igual a 1 y por lo tanto no ser cifrable ningn nmero de n.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 670
NNC por mala eleccin de la clave e
Sea p = 101, q = 761, n = 76.861. Luego (n) = 100760 = 76.000
Algunos valores de e vlidos como clave pero relacionados con (n):
e = (n)/2 + 1 = 38.001 76.861 NNC (100 %)
e = (n)/4 + 1 = 19.001 76.861 NNC (100 %)
e = (n)/5 + 1 = 15.201 76.861 NNC (100 %)
e = (n)/8 + 1 = 9.501 38.481 NNC (50 % aprox.)
e = (n)/10 + 1 = 7.601 76.861 NNC (100 %)
e = (n)/16 + 1 = 4.751 9.741 NNC (12,5 % aprox.)
e = (n)/19 + 1 = 4.001 4.141 NNC (5 % aprox.)
e = (n)/20 + 1 = 3.801 76.861 NNC (100 %)
e = (n)/50 + 1 = 1.521 15.981 NNC (20 % aprox.)
e = (n)/100 + 1 = 761 15.981 NNC (20 % aprox.)
e = (n)/1.000 + 1 = 77 385 NNC (0,5 % aprox.)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 671
Confidencialidad en intercambio de clave
A diferencia del nmero de claves privadas parejas, por lo general
un nmero relativamente bajo y distribucin generalmente en torno
a 2
n
bits, la cantidad de nmeros no cifrables es mucho mayor y en
ciertos casos puede llegar a ser todo el cuerpo de cifra.
No obstante en este nuevo escenario debemos ser menos paranoicos:
la utilizacin actual de este tipo de cifra con clave pblica de destino
est en el intercambio de una clave de sesin de corta duracin, por
lo que la confidencialidad de dicha clave no est en compromiso en
tanto es computacionalmente imposible un ataque por fuerza bruta a
ella durante el corto tiempo de validez de la misma.
El nico problema es que sera fcilmente detectable pues si la cifra
de K
e
mod n se enva en claro, el resultado ser un nmero K de 128
bits en un cuerpo de cifra de 1.024 bits... habr centenas de ceros .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 672
Firmas digitales no cifrables
Hay algn problema con la firma digital no cifrable?
- Si la cantidad de nmeros no cifrables con la clave pblica (tema
confidencialidad) es alto, tambin lo ser en igual proporcin el de
nmeros no cifrables con la clave privada (tema autenticidad).
- En este caso, significa que el hash de la firma del mensaje dentro del
cuerpo de cifra n ira en claro. Aunque el hash sea de 128 bits (MD5)
160 bits (SHA1) y se cifre con la clave privada del emisor y luego
se reduzca al cuerpo de cifra de 1.024 bits, la cifra ir en claro por lo
que se podra apreciar claramente al tener esa cifra tener slo una
centena de bits significativos... y muchos ceros a la izquierda.
- Como mucho esto puede dar pistas al criptoanalista en cuanto a que
la clave del emisor podra no ser ptima y, por lo tanto, animarle a
intentar otros tipos de ataques por la cifra de otros nmeros en claro.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 673
Ataque al secreto de N por cifrado cclico
Un nuevo problema: se puede encontrar el nmero en claro N
sin necesidad de conocer d, la clave privada del receptor.
Como C = N
e
mod n, realizaremos cifrados sucesivos de los
criptogramas C
i
resultantes con la misma clave pblica hasta
obtener nuevamente el cifrado C original.
C
i
= C
e
i-1
mod n (i = 1, 2, ...) con C
0
= C
Si en el cifrado isimo se encuentra el criptograma C inicial,
entonces es obvio que el cifrado anterior (i-1) ser el nmero
buscado. Esto se debe a que RSA es un grupo mutiplicativo.
Para evitarlo hay que usar primos seguros de forma que los
subgrupos de trabajo sean lo suficientemente altos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 674
Ejemplo de ataque por cifrado cclico
Sea p = 13, q = 19, n = 247, (n) = 216, e = 29 (d = 149, no conocido)
El nmero a cifrar ser M = 123 C = 123
29
mod 247 = 119
i C
i
i = 0 C
0
= 119
i = 1 C
1
= 119
29
mod 247 = 6
i = 2 C
2
= 6
29
mod 247 = 93
i = 3 C
3
= 93
29
mod 247 = 175
i = 4 C
4
= 175
29
mod 247 = 54
i = 5 C
5
= 54
29
mod 247 = 123 en este paso an no lo sabemos
i = 6 C
6
= 123
29
mod 247 = 119
El ataque ha prosperado muy rpidamente: como hemos obtenido otra
vez el criptograma C = 119, es obvio que el paso anterior con C = 123
se corresponda con el texto en claro. Y si usamos primos seguros?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 675
Ataque por cifrado cclico y primos seguros
Sea p = 11 y q = 23, aunque esto no sea recomendable. Luego n = 253,
(n) = 220, y si e = 17, la clave privada es d = 134, no conocida.
Sea el nmero confidencial N = 123 C = 123
17
mod 253 = 128.
i C
i
i C
i
i = 0 C
0
= 128 i = 12 C
12
= 167
17
mod 253 = 150
i = 1 C
1
= 128
17
mod 253 = 6 i = 13 C
13
= 150
17
mod 253 = 193
i = 2 C
2
= 6
17
mod 253 = 173 i = 14 C
14
= 193
17
mod 253 = 118
i = 3 C
3
= 173
17
mod 253 = 101 i = 15 C
15
= 118
17
mod 253 = 200
i = 4 C
4
= 101
17
mod 253 = 95 i = 16 C
16
= 200
17
mod 253 = 73
i = 5 C
5
= 95
17
mod 253 = 39 i = 17 C
17
= 73
17
mod 253 = 94
i = 6 C
6
= 39
17
mod 253 = 96 i = 18 C
18
= 94
17
mod 253 = 41
i = 7 C
7
= 96
17
mod 253 = 2 i = 19 C
19
= 41
17
mod 253 = 123 -
i = 8 C
8
= 2
17
mod 253 = 18 i = 20 C
20
= 123
17
mod 253 = 128
i = 9 C
9
= 18
17
mod 253 = 215
i = 10 C
10
= 215
17
mod 253 = 151
i = 11 C
11
= 151
17
mod 253 = 167
Para n = 253, hemos tenido que recorrer un
espacio mucho mayor dentro de un cuerpo
de cifra muy similar al anterior (n = 247).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 676
La paradoja del cumpleaos
El prximo ataque a la clave privada estar basado en este problema.
Pregunta: Cul ser la confianza (probabilidad > 50%) de que en un
aula con 365 personas -no se tiene en cuenta el da 29/02 de los aos
bisiestos- dos de ellas al azar estn de cumpleaos en la misma fecha?
Solucin: Se escribe en la pizarra los 365 das del ao y las personas
entran al aula de uno en uno, borrando el da de su cumpleaos de la
pizarra. Para alcanzar esa confianza del 50%, basta que entren slo 23
personas al aula. Este es un valor muy bajo, en principio inimaginable y
de all el nombre de paradoja, aunque matemticamente no lo sea.
Explicacin: El primero en entrar tendr una probabilidad de que su
nmero no est borrado igual a n/n = 1, el segundo de (n-1)/n, etc. De
esta manera, la probabilidad de no coincidencia ser p
NC
= n!/(n-k)!n
k
.
Para k = 23 se tiene p
NC
= 0,493 y as la probabilidad de coincidencia ser
igual a p
C
= (1- p
NC
) = 0,507, que es mayor que 0,5.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 677
Ataque a la clave por paradoja cumpleaos
Algoritmo propuesto por Merkle y Hellman en 1981:
El atacante elige dos nmeros aleatorios distintos i, j dentro del
cuerpo de cifra n. Lo interesante es que elige, adems, un mensaje o
nmero N cualquiera.
Para i = i+1 y para j = j+1 calcula N
i
mod n y N
j
mod n.
Cuando encuentra una coincidencia de igual resultado de cifra para
una pareja (i, j), ser capaz de encontrar d.
Un ejemplo para resolver en siguientes diapositivas: sea p = 7; q = 13,
n = 91, e = 11, d = 59. El atacante slo conoce n = 91 y e = 11. Partir
con el nmero N = 20 y elegir los valores i = 10 y j = 50.
Puede encontrar varios tipos de ataques a RSA en la siguiente pgina:

http://crypto.stanford.edu/~dabo/papers/RSA-survey.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 678
Ejemplo de ataque paradoja cumpleaos
i C
i
j C
i
i = 10 C
10
= 20
10
mod 91 = 43 j = 50 C
50
= 20
50
mod 91 = 36
i = 11 C
11
= 20
11
mod 91 = 41 j = 51 C
51
= 20
51
mod 91 = 83
i = 12 C
12
= 20
12
mod 91 = 1 j = 52 C
52
= 20
52
mod 91 = 22
i = 13 C
13
= 20
13
mod 91 = 20 j = 53 C
53
= 20
53
mod 91 = 76
i = 14 C
14
= 20
14
mod 91 = 36 j = 54 C
54
= 20
54
mod 91 = 64
i = 15 C
15
= 20
15
mod 91 = 83 j = 55 C
55
= 20
55
mod 91 = 6
i = 16 C
16
= 20
16
mod 91 = 22 j = 56 C
56
= 20
56
mod 91 = 29
i = 17 C
17
= 20
17
mod 91 = 76 j = 57 C
57
= 20
57
mod 91 = 34
Hay una colisin en el paso quinto al coincidir el valor C = 36 en contador i
que ya haba aparecido en contador j. Observe los valores repetidos.
Con los valores de i, j y el desplazamiento observado en uno de ellos cuando se
detecta la colisin (i = 14), se establece un conjunto de ecuaciones y, si el ataque
prospera, obtenemos la clave privada, una clave privada pareja, o bien un valor
de clave privada particular que slo sirve para descifrar el nmero elegido (aqu
el 20) y no un nmero genrico. En este caso se hablar de un falso positivo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 679
Resultado del ataque paradoja cumpleaos
La primera coincidencia se encuentra para i = 14; j = 50. As, el atacante
conociendo la clave pblica e = 11, calcula:
w = (14-50) / mcd (11, |14-50|) = -36 / mcd (11, 36) = - 36.
Entonces debern existir valores s, t de forma que se cumpla lo siguiente:
ws + et = 1 -36s + 11t = 1
Las posibles soluciones a la ecuacin son: ws mod e = 1; et mod w = 1
-36s = 1 mod 11 s = inv (-36, 11) = inv (8, 11) = 7
11t = 1 mod 36 t = inv (11, 36) = 23
El valor t = 23 ser una clave privada pareja de d = 59. Compruebe que se
verifica ws + et = 1 y que las claves parejas son 11, 23, 35, 47, 71 y 83.
Nota: como este algoritmo parte con valores aleatorios de los contadores i, j (i
deber ser el menor posible y j la mitad del cuerpo de cifra) y del nmero N (en el
ejemplo 20) no siempre prospera el ataque, es decir ser no determinista. En ese
caso, es posible que cambiando el valor de N s se logre el objetivo buscado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 680
Ataque que entrega alguna clave pareja
Normalmente el ataque rompe la clave privada o una clave
privada pareja; sin embargo, se darn situaciones especiales.
Sea p = 11, q = 31, e = 13. Entonces d = 277 y las claves
privadas parejas son: 7, 37, 67, 97, 127, 157, 187, 217, 247,
307, 337.
Observe la diferencia constante igual a (n)/10 = 30.
Se realiza el ataque con el software genRSA tomando valores
de N desde 2 hasta 50, partiendo el contador i en 3 y j en n/2.
Para N = 2 encuentra d = 157; para N = 3 encuentra d = 97;
para N = 4 encuentra d = 127; para N = 5 encuentra d = 127;
para N = 6 encuentra d = 97; ... etc.
Para N = 32 encuentra d = 13, una solucin falsa.
Para d = 13 el programa realiza 2 iteraciones, para d = 127
realiza 3, para d = 157 realiza 4 y para d = 97 realiza 14.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 681
Ataque que entrega la clave privada
En funcin de los parmetros de la clave, a veces se encuentra
para muchos valores de N casi siempre la clave privada d.
Sea p = 191, q = 211, e = 31. Entonces d = 12.871 y hay 9
claves privadas parejas.
Se realiza el ataque con el software genRSA tomando valores
de N desde 2 hasta 50, partiendo el contador i en 3 y j en n/2.
Para casi todos los valores de N encuentra la clave privada d.
Para N = 7, 39, 49 encuentra d = 1.951, para N = 14 encuentra
d = 13.668 y para N = 23 encuentra d = 18.191, todas falsas.
Sea ahora p = 241, q = 251, e = 11. Entonces d = 49.091 y hay
9 claves privadas parejas.
Aunque aqu casi siempre encuentra el valor d = 19.091 como
clave privada pareja vlida, si usamos N = 36 el programa nos
da como solucin el valor d = 0, obviamente un falso positivo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 682
Podra darse un ataque distribuido?
El ataque basado en la paradoja del cumpleaos no sera factible
realizarlo en un solo PC por la alta complejidad computacional.
... pero bien podra pensarse en un algoritmo distribuido, de forma
que un computador hiciera las veces de servidor y todos los dems
(... tal vez varios cientos de miles) actuaran como clientes.
El servidor tendra como funcin distribuir trozos de cifra entre
los clientes en diferentes intervalos de valores i, j como los del
ejemplo anterior y, adems, recibir los resultados de los clientes
para detectar colisiones. Esta ltima funcin ser la ms crtica.
Supuestamente este ataque llevara un tiempo menor que el de
factorizar el valor de n, para as encontrar la clave privada.
Si bien no est demostrado la factibilidad real en tiempo de
cmputo de esta opcin, el hecho de que un certificado digital, y
por ende la clave privada, tenga una validez de un ao podra ser
un motivo de preocupacin ... siempre sin caer en paranoias .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 683
La otra historia del algoritmo RSA
Rivest, Shamir y Adleman son los autores de RSA pero un algoritmo
de cifra asimtrico basado en la dificultad de factorizar nmeros
grandes como funcin unidireccional fue descubierto mucho antes...
En el ao 1969 el Government Communications Headquarters
(GCHQ) en Gran Bretaa comienza a trabajar en la idea de poder
distribuir claves a travs de una cifra no simtrica. En 1973, el
matemtico Clifford Cocks llegar a la misma conclusin que los
creadores de RSA.
Desgraciadamente este trabajo fue considerado como alto secreto por
el gobierno britnico por lo que su contenido no se hace pblico ni se
patenta como invento, algo que s hacen Diffie y Hellman en 1976
con su intercambio de claves y en 1978 otro tanto los creadores del
algoritmo RSA.

http://livinginternet.com/i/is_crypt_pkc_inv.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 684
Cifrado Pohlig y Hellman con clave secreta
Stephen Pohlig y Martin Hellman proponen en enero de 1978 un
algoritmo de cifra de clave secreta y que basa su seguridad en el
problema del logaritmo discreto. Hablamos de slo un mes antes
que el algoritmo RSA... algo que tambin llama la atencin.
+ Se elige un grupo multiplicativo Z
p
*, p es un primo grande.
+ Cada usuario elige una clave e, que sea primo relativo con el
grupo (p) = p-1 y calcula d = inv [(e, (p)].
+ La clave secreta sern los valores e y d.
+ Se cifrar C = M
e
mod p y se descifrar M = C
d
mod p.
Dado que el sistema carece de firma digital en el sentido amplio al ser de
clave secreta, estar slo orientado a la cifra de mensajes o nmeros para la
confidencialidad. No puede competir en velocidad con la cifra simtrica.

http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=1055817
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 685
Adela cifrar un mensaje M que desea enviar a Bernardo:
p = 263 (p) = 262; e = 15 d = inv(15, 262) = 35
Sea M = Adis = 65 100 105 243 115
Como se usa el cdigo ANSI, podremos cifrar en bloques
de un carcter pues el mdulo p es algo mayor que 256.
Ejemplo de cifrado Pohlig y Hellman
C = M
e
mod p = 65
15
mod 263, 100
15
mod 263,
105
15
mod 263, 243
15
mod 263, 115
15
mod 263
C = 245, 143, 179, 86, 101
Operacin Cifrado:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 686
Ejemplo de descifrado Pohlig y Hellman
B descifra el criptograma C enviado por A:
p = 263; d = inv (15, 262) = 35
C = 245, 143, 179, 86, 101
Operacin Descifrado:
M = C
d
mod p = 245
35
mod 263, 143
35
mod 263,
179
35
mod 263, 86
35
mod 263, 101
35
mod 263
M = 065, 100, 105, 243, 115
Convirtindolo al cdigo ANSI: M = Adis
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 687
Algoritmo de cifra asimtrica de ElGamal
Taher ElGamal propone en 1985 un algoritmo de cifra
que hace uso del problema del logaritmo discreto PLD.
Se elige un grupo multiplicativo Z
p
*, donde p es un primo grande
Del grupo p se elige una raz , generador del grupo
Cada usuario elige un nmero aleatorio dentro de p
El valor ser la clave privada
Cada usuario calcula

mod p
Los valores (

mod p) y p sern la clave pblica


Seguridad del sistema
Para descubrir la clave privada, el atacante deber enfrentarse
al problema del logaritmo discreto para p grande

http://web.usna.navy.mil/~wdj/book/node48.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 688
Operacin de cifra con ElGamal
Operacin Cifrado: A cifra un nmero N que enva a B
El usuario B ha elegido su clave privada b dentro del
cuerpo del nmero primo p que es pblico.
El usuario B ha hecho pblica su clave
b
mod p.
El emisor A genera un nmero aleatorio de sesin y
calcula

mod p.
Con la clave pblica de B (
b
) el emisor A calcula:
(
b
)

mod p y N(
b
)

mod p
A enva a B el par: C = [

mod p, N(
b
)

mod p]
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 689
Operacin de descifrado con ElGamal
Operacin Descifrado: B descifra el criptograma C que enva A
El usuario B recibe C = [

mod p, N(
b
)

mod p].
B toma el valor

mod p y calcula (

)
b
mod p.
B descifra el criptograma C haciendo la siguiente divisin:
[N(
b
)

mod p ] / [(

)
b
mod p] ... porque (
b
)

= (

)
b
El paso anterior es posible hacerlo porque existir el
inverso de (

)
b
en el grupo p al ser p un primo. Luego:
[N(
b
)

{inv (

)
b
, p}] mod p = N
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 690
Ejemplo de cifrado con ElGamal
Adela (A) enviar a Benito (B) el nmero N = 10 cifrado
dentro del cuerpo p = 13 que usa Benito.
CIFRADO
Claves pblicas de Benito: p = 13, = 6, (
b
) mod p = 2
Adela (A) elige por ejemplo = 4 y calcula:
(

) mod p = 6
4
mod 13 = 9
(
b
)
v
mod p = 2
4
mod 13 = 3
N(
b
)
v
mod p = 103 mod 13 = 4
Y enva a (B): (

) mod p, N(
b
)
v
mod p = [9, 4]
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 691
Ejemplo de descifrado con ElGamal
DESCIFRADO
La clave privada de Benito (B) es b = 5
Benito recibe: [(

) mod p, N(
b
)
v
mod p] = [9, 4]
Benito calcula:
(

)
b
mod p = 9
5
mod 13 = 3
[N(
b
)
v
] inv[(

)
b
, p] = 4 inv (3, 13) = 4 9
N = 4 9 mod 13 = 10 (se recupera el valor)
Recuerde que debe ser una raz de p. Como ya hemos
visto, si no es una raz, aunque s puede hacerse la cifra,
se facilitara el ataque al problema del logaritmo discreto.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 692
Consideraciones sobre el bloque de cifra
Si queremos cifrar mensajes en vez de nmeros y ese
mensaje fuese mayor que el mdulo de trabajo del
sistema (n = pq para RSA y p para ElGamal)...
cmo se generaran los bloques del mensaje a cifrar?
El mensaje M puede transformarse en
nmeros y stos se dividen en bloques
de g-1 dgitos, siendo g el nmero de
dgitos del mdulo de trabajo: el valor
n = np para RSA y p para ElGamal.
Ya se ha dicho que la prctica esto no ocurrir puesto
que el cuerpo de cifra es como mnimo de 1.024 bits y
el mensaje a cifrar tendr slo una centena de bits.
Ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 693
Ejemplo de eleccin del bloque con RSA
Se representar el mensaje en su valor ANSI decimal.
n = pq = 89127 = 11.303 bloques de cuatro dgitos
(n) = 11.088; e = 25; d = inv (25, 11.088) = 10.201
M = Ol = 079 108 233 M = 0791 0823 3
Se recupera el mensaje agrupando en
bloques de 4 dgitos excepto el ltimo
CIFRADO DESCIFRADO
C
1
= 791
25
mod 11.303 = 7.853
C
2
= 823
25
mod 11.303 = 2.460
C
3
= 3
25
mod 11.303 = 6.970
M
1
= 7.853
10201
mod 11.303 = 0791
M
2
= 2.460
10201
mod 11.303 = 0823
M
3
= 6.970
10201
mod 11.303 = 3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 694
Fortaleza de la cifra exponencial
El problema del Logaritmo Discreto PLD ser similar al de la
Factorizacin de Nmeros Grandes PFNG ya que ambos van
a suponer un tiempo de ejecucin de tipo no polinomial.
Recuerde que el nmero de pasos para resolver el PFNG era
de e
{ln(n)ln[ln(n)]}
.
Si suponemos un sistema que consuma 1 seg por paso:
n = 60 dgitos 2,710
11
pasos
n = 100 dgitos 2,310
15
pasos
n = 200 dgitos 1,210
23
pasos
3 das
74 aos
3,810
9
aos
El PLD es matemticamente similar pues el nmero de pasos
ser ahora aproximadamente igual a e
{ln(p)ln[ln(p)]}
.

http://en.wikipedia.org/wiki/Discrete_logarithm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 695
Resumen de los sistemas de clave pblica
Pros y contras de los Sistemas de Clave Pblica
Emisor y receptor generan un par de claves, pblica y
privada, relacionadas por una funcin con trampa.
Emisor y receptor de un mensaje usan claves diferentes
para las operaciones de cifrado, descifrado y firma.
La seguridad del sistema va asociada a la resolucin de un
problema matemtico de difcil solucin en el tiempo.
Firma digital completa: autentican al mensaje y al emisor.
`
... pero
Es necesario contar con mecanismos de certificacin
para asegurar la veracidad de las claves pblicas.
Son sistemas de cifra muy lentos.

Fin del captulo


Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 696
Cuestiones y ejercicios (1 de 4)
1. A partir de la ecuacin ed = k(n) + 1, compruebe que las claves
RSA e = 133 y d = 38.797 son inversas en el cuerpo n = 40.501.
2. En el ejemplo de intercambio de clave DH del libro con p = 1.999,
podran haber elegido Adela y Benito = 34, 35, 36 37?
3. Carmela (C) intercepta la clave de sesin DH que se intercambian
Adela (A) y Benito (B) dentro del cuerpo p = 127. Si se usa como
generador = 19 y a = 3, b = 12 y c = 7, desarrolle el algoritmo que
permite a C interceptar la comunicacin y engaar a A y B.
4. Los usuarios A, B, C y D desean intercambiar una clave usando el
mtodo DH. Proponga un protocolo genrico que solucione este
problema y presente un ejemplo en el cuerpo p = 23 y elija .
5. Disee un sistema RSA en el que p = 53, q = 113. Elija como clave
pblica el mnimo valor posible de 2 dgitos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 697
Cuestiones y ejercicios (2 de 4)
6. Para los datos de diseo del ejercicio 5, cifre el nmero M = 121 y
luego descfrelo. Use el algoritmo de exponenciacin rpida.
7. Vuelva a descifrar el criptograma usando ahora el Teorema del
Resto Chino. Aunque en este caso haya hecho ms clculos por
qu es interesante usar aqu el Teorema del Resto Chino?
8. Si p = 353 y q = 1.103, cifre el mensaje ASCII de cuatro caracteres
M = HOLA en bloques de tamao eficiente (mnimo) para e = 17.
9. Para los datos del ejercicio anterior, encuentre la clave privada d
usando el algoritmo extendido de Euclides.
10. Por qu se usa una clave pblica e de un valor relativamente bajo
y, por contrapartida, la clave privada d es alta? Qu utilidad tiene?
11. Cmo atacara un sistema RSA mal diseado con primos cercanos
y cuyo mdulo es n = 205.027? Encuentre los valores de p y q.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 698
Cuestiones y ejercicios (3 de 4)
12. En el sistema RSA con p = 11 y q = 19, se elige como clave pblica
e = 31. Cuntas y cules son las claves privadas parejas?
13. Para los mismos datos del ejercicio anterior, cuntos y cules son
los mensajes no cifrables? Qu sucede si ahora e = 33?
14. Cmo puede minimizarse el nmero de claves privadas parejas y el
de mensajes no cifrables? D un ejemplo con primos de dos dgitos.
15. Atacamos un sistema RSA con un cifrado cclico. Qu es lo que
vulneramos, el secreto de la clave privada o secreto del mensaje?
16. Se ataca por cifrado cclico el sistema RSA: p = 23, q = 41 y e = 17.
Cuntos cifrados hay que hacer para romper N = 200 y N = 185?
17. Cifre M = La Puerta de Alcal (de 19 caracteres ANSI) con un
sistema de Pohlig y Hellman. Use el primer primo que le permita
cifrar bloques de 2 bytes. Descifre ahora el criptograma C.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 699
Cuestiones y ejercicios (4 de 4)
18. Vamos a cifrar con ElGamal el mensaje en ASCII decimal de la
letra A. Cules son los valores mnimos del cuerpo de cifra, del
generador , de la clave pblica y del valor local v?
19. Descifre el criptograma obtenido en el ejercicio anterior.
20. Se va a cifrar con RSA el mensaje M = Hola. Si p = 53 y q = 97, de
cuntos dgitos ser el bloque ptimo de cifra?
21. En un sistema real, tiene sentido hablar de bloques con un nmero
de dgitos ptimos? Por qu? Justifique su respuesta.
22. Cuntos pasos debe realizar una factorizacin de un nmero n de
120 dgitos? Si tenemos un sistema que consume 1 seg por paso,
cuntos aos tardaramos ms o menos en factorizar ese nmero?
23. El valor encontrado en el ejercicio anterior, es siempre fijo o es
slo una aproximacin? Justifique su respuesta.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 700
Prcticas del tema 14 (1/10)
Software genRSA:

http://www.criptored.upm.es/software/sw_m001d.htm
1. Genere una clave de forma manual con p = 5, q = 13 y e = 11. Observe el
nmero de claves parejas y el de mensajes no cifrables.
2. Cules son las claves privadas parejas para p = 13, q = 19, e = 41?
3. Compruebe las claves parejas del ejemplo de los apuntes usando primos
seguros: p = 11, q = 47, e = 17. Repita el ejemplo con e = 7, e = 77.
4. Genere al menos una docena de claves de forma automtica para un valor n
de 24 bits, con p y q diferentes, y observe el nmero de claves parejas y de
mensajes no cifrables. Repita el ejemplo con p y q de igual tamao y luego
repita todo el ejercicio para claves de 30 y 32 bits.
5. Para la clave (p, q, e) que se indica (7187, 107791, 6293) observe cmo se
distribuyen las claves privadas parejas en incrementos de tamao 107790.
6. Cambie las unidades a hexadecimal y repita el ejercicio 4 para claves de
512, 1024 y 2048 bits. En cada caso compruebe la primalidad de p y q.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 701
Prcticas del tema 14 (2/10)
7. Observe las claves parejas para la clave de 1.024 bits con valores p; q; e:
02E68E02BE7400FE11E8A45B60017F988251AEED1CF5A9820A6BC9
DE01A408A2725A0977B1A4584556C8F2A6E450089AA860007CE446
BD342D5320AF12E9CE8D41;
3560B5461224C1DD6332CA632A13C9C13D9072AB1297092332E0773
FEACF9D2D449DE87436B3267C185698515B8948A4792F9C1328712C
AAD35FD1A94ADAFE9D; 10001. Le llama algo la atencin?
8. Repita el ejercicio anterior con e = 41B3, e = 41B7, e = 41BD, e = 41BF.
9. Observe las claves parejas para la clave de 512 bits con valores p; q; e:
D2BF44D863DC579E5192EDF83744EBFF5A72E2D5E8DE9FE330EDF
D65114FFF0F;
D4C1CE77FE15374D8C7E0CE2CEF52E283D237521262E3D4E51D321
6BE1B50665; 10001. Analice la distribucin de estas claves parejas.
10. Si aunque alto, el porcentaje de claves dbiles en el caso anterior sigue
siendo insignificante, estara Ud. seguro del secreto de su clave privada?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 702
Prcticas del tema 14 (3/10)
11. Genere manualmente las claves que se indican (p, q, e) de 16, 17, 18, 19 y
20 bits y genere el log de los mensajes no cifrables: (199, 251, 26803);
(211, 463, 21727); (419, 499, 30713); (409, 907, 2995); (769, 929, 8413).
Guarde los archivos como 16b_mnc, 17b_mnc, 18b_mnc, 19b_mnc,
20b_mnc y en cada caso anote el tiempo empleado en hacer todos los
cifrados. En este ltimo su computador podra tardar cerca de 3 minutos.
12. De acuerdo a los tiempos observados en el ejercicio anterior, encuentre la
tasa media de cifrados del programa genRSA en este entorno. Imagine y
comente cmo funcionara un hipottico ataque multiusuario en red.
13. Con la clave (p, q, e) del ejemplo de los apuntes (89, 31, 29) cifre el
mensaje numrico N = 1995. Compruebe los pasos del descifrado usando
el Teorema del Resto Chino.
14. Cree la clave (p, q, e) de 24 bits (8123, 1523, 25219) y cifre a continuacin
el nmero N = 3571. Descfrelo primero de forma normal y luego con el
Teorema del Resto Chino.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 703
Prcticas del tema 14 (4/10)
15. Para la clave (p, q, e) de 24 bits (8123, 1523, 25219) cifre y descifre el
valor decimal N = 65, la letra A. Repita la cifra para el mensaje M = A,
indicando que es texto. Observe la representacin hexadecimal del ANSI.
Compare los valores de ambos criptogramas en una sola base.
16. Con esa clave, cifre M = ABC, observe el criptograma y el descifrado.
Repita la cifra para M = ABCD, luego M = abc1234. Compruebe que, dada
la longitud de la clave, en este caso se cifra por bloques de 24 bits, 3 bytes.
17. Para la clave de 20 bits con primos de igual tamao (p, q, e) = (853, 983,
3671) ataque el mdulo n = 838499 por factorizacin de primos cercanos
con 300 vueltas. En cuntas vueltas se factoriza? Qu puede comentar?
18. Repita ahora para una clave similar de 20 bits n = 863407 pero con primos
de un tamao distinto (443, 1949, 25881). Qu sucede ahora?
19. Para la clave (p, q, e) de 48 bits (C7812B, EA6935, 566B) con primos de
igual tamao, factorice solicitando en este caso 50.000 vueltas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 704
Prcticas del tema 14 (5/10)
20. Para la clave (p, q, e) de los apuntes (13, 19, 29) haga un ataque por
cifrado cclico del nmero N = 123. Compruebe los valores que aparecen
en los apuntes.
21. Para la clave (p, q, e) de los apuntes con primos seguros (11, 23, 17) haga
un ataque por cifrado cclico del nmero N = 123; compruebe los valores
que aparecen en los apuntes. Qu pasa si N = 45? Y si N = 46? Limpie la
pantalla, genere otros valores de N y repita el ataque.
22. Para la clave (p, q, e) de 24 bits (15217, 907, 635) realice un ataque por
cifrado cclico para los valores N = 7978282 y N = 11537541, con 1000
vueltas. Limpie la pantalla, genere otros valores de N y repita el ataque.
23. Para la clave (p, q, e) de 32 bits (110581, 30851, 20999) realice un ataque
por cifrado cclico para el valor N = 1820641683, con 750 vueltas. Limpie
la pantalla, genere otros valores de N y repita el ataque.
24. Para la clave (p, q, e) de 40 bits (0E22A9, 0E65F1, 6B65) realice un
ataque por cifrado cclico para N = C799A8A19F, con 10000 vueltas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 705
Prcticas del tema 14 (6/10)
25. Para la clave (p, q, e) de los apuntes (7, 13, 11) haga un ataque a la clave
por paradoja del cumpleaos. Compruebe que obtiene alguna de las claves
parejas si N = 33, N = 9, y otros valores.
26. Nota: en algunos casos es posible que se encuentre una clave pareja no
genrica y que slo sirve para descifrar ese criptograma. Compruebe que
para el mensaje N = 83, se obtiene una clave d = 3 que no es pareja pero
que s descifra el criptograma 51, resultado de la cifra 83
11
mod 91. Va a
suceder lo mismo para N = 8, N = 21, N = 34.
27. Para la clave (p, q, e) de 16 bits (239, 191, 25499) realice un ataque por
paradoja del cumpleaos para N = 40872. Limpie la pantalla, genere otros
valores de N y repita el ataque.
28. Para la clave (p, q, e) de 20 bits (977, 997, 17405) realice un ataque por
paradoja del cumpleaos para N = 516055. Esta operacin puede tardar
algunos minutos. Active la opcin obtener todos los valores. Observe que
aqu s se obtiene la clave privada. Abra y vea el archivo html generado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 706
Prcticas del tema 14 (7/10)
Software ExpoCrip:

http://www.criptored.upm.es/software/sw_m001l.htm
1. Para la clave (p, q, e) que se indica (7, 13, 5) observe las claves privadas
parejas. Observe otra vez las claves parejas para e = 7, 11, 13, 17.
2. En el caso anterior, qu sucede con los mensajes no cifrables si e = 37?
3. Para la clave (p, q, e) que se indica (127, 557, 337) obtenga los mensajes
no cifrables en un archivo de nombre 215mnc.txt. Ordnelos con algn
procesador de texto (Word) y observe cmo se distribuyen los valores.
4. Cifre N = 1001. Descfrelo con la clave privada d y la clave pareja 47293.
Reptalo con el nmero hexadecimal N = AB3.
5. Para esta clave, cifre el mensaje M = 123 ABC. Use el portapapeles sobre
el criptograma en ASCII y descfrelo. Usando la clave pareja d
P
= 47293,
descifre nuevamente el criptograma. Y si ahora usa d
P
= 47294?
6. Si (p, q, e) = (61, 103, 41) cifre y descifre el mensaje M = Vamos a ver
cmo funciona ahora esto. Vea la ayuda del programa para cifra en bloque.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 707
Prcticas del tema 14 (8/10)
7. Para cada una de las claves (p, q, e) dadas (59141, 51593, 29571); (59141,
51593, 381393861); (59141, 51593, 1525575441), observe el nmero de
mensajes no cifrables y la relacin el valor de e y la funcin (n). Observe
la situacin del ltimo caso en el que una de las claves privadas es 1.
8. Para la clave (p, q, e) dada (41, 137, 19) realizar un ataque cclico
introduciendo el mensaje M = A. Reptalo con M = b, M = X.
9. Conociendo slo n = 29740913, e = 101, realice un ataque por cifrado
cclico al criptograma en ASCII C = ?. Observe el texto en claro en el
cifrado n-1. Con el programa factorice n y genere la clave RSA. Para
obtener el texto en claro, descifre ahora el criptograma C = ?.
10. Factorice el mdulo n = 29740913. Duplicando el nmero de dgitos de p y
q, obtenemos el mdulo de 16 dgitos n = 1479905711715731. Factorice
este valor y observe que ahora tardar casi un minuto.
11. Para la clave (p, q, e) dada (41, 137, 19) realizar un ataque por paradoja de
cumpleaos introduciendo el mensaje M = Vale. Reptalo varias veces.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 708
Prcticas del tema 14 (9/10)
12. Genere un sistema de ElGamal con p = 43, = 5, x = 13, k = 18. Qu
sucede si introduce como generador = 6 y da al tabulador?
13. Con la misma aplicacin, observe todos los generadores del cuerpo 43.
14. Con la clave anterior, cifre el nmero N = 25. Ahora con la ayuda del
portapapeles, descifre el criptograma obtenido. Compruebe con la
calculadora de Windows todos los valores encontrados.
15. Con la misma clave cifre el mensaje M = Hola qu tal! Con la ayuda del
portapapeles, descifre el criptograma. Modifique en el criptograma el
octavo carcter B por una C y observe lo que sucede con el descifrado.
16. Observe que en el cifrado hexadecimal, al igual que con nmeros, se cifra
slo dentro del cuerpo de cifra, en este caso p = 43 que corresponde a un
CCR = {0, 1, ... 42} es decir desde el valor 00 al valor 2A. Si ciframos 2B
y los siguientes valores, volvemos a obtener el mismo cifrado mdulo 43.
17. Con la clave p = 564387560286133, = 128, x = 3217, k = 8752, cifre
distintos valores numricos y observe el criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 709
Prcticas del tema 14 (10/10)
Software OpenSSL:

http://www.slproweb.com/products/Win32OpenSSL.html
1. Una vez instalado Win32OpenSSL para Windows en el disco duro, en la
carpeta C:\OpenSSL\bin> y desde el smbolo del sistema MSDOS genere
una clave RSA de 1.024 bits mediante el comando: openssl genrsa 1024.
Observe que una vez creada la clave nos indica e is 65537 (0x10001).
2. Cree una nueva clave RSA guardando la clave en un archivo de nombre
rsakey con el comando: openssl genrsa -out rsakey 1024.
3. Recupere ahora esa clave y gurdela en un archivo en formato hexadecimal
de nombre claveRSA1: openssl rsa -in rsakey -text -out claveRSA1. Si no
desea incluir en el archivo la clave privada, agregue la opcin -noout.
4. Edite claveRSA1 con Word o WordPad, elimine todos los : y elimine
luego los cuatro espacios en blanco de forma que los valores de p y de q
en hexadecimal estn cada uno en una sola cadena. Pegue esos valores de p
y de q en el programa genRSA, con e = 10001, genere y observe la clave.
5. Repita los puntos 2, 3 y 4 hasta encontrar una clave de baja calidad.
Captulo 15
Funciones Hash en Criptografa
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 34 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 711
Uso de las funciones hash en criptografa
Una de las aplicaciones ms interesantes de la actual
criptografa es la posibilidad real de aadir en un
mensaje una firma digital: la autenticacin completa.
Todo esto comienza en el ao 1976 cuando Diffie y
Hellman presentan un modelo de cifrado asimtrico con
clave pblica. Con los antiguos sistemas de cifra de clave
simtrica esto era inviable o bien muy complejo.
No obstante, dado que los sistemas de clave pblica son
muy lentos, en vez de firmar digitalmente el mensaje
completo, en un sistema criptogrfico se incluir como
firma digital una operacin de cifra con la clave privada
del emisor sobre un resumen o hash de dicho mensaje,
representado por slo una centena de bits.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 712
Funciones hash
Mensaje = M Funcin Resumen = h(M)
Firma (rbrica): r = E
dE
{h(M)}
Cmo se comprueba la identidad en destino?
Se descifra la rbrica r con la clave pblica del
emisor e
E
. Al mensaje en claro recibido M (si
viniese cifrado, se descifra) se le aplica la misma
funcin hash que en emisin. Si los valores son
iguales, la firma es autntica y el mensaje ntegro:
Calcula: E
eE
(r) = h(M)
Compara: h(M) = h(M)?
d
E
es la clave privada del emisor que firmar h(M)
Qu seguridad nos da
un resumen de k bits?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 713
Seguridad asociada a una funcin hash
Suponga que hemos creado una funcin hash de forma que el resumen es
slo de 4 bits, independientemente del tamao del mensaje de entrada.
La pregunta es: cul es la probabilidad de que dos mensajes distintos
tengan igual funcin hash? Si esta probabilidad fuese muy baja (en este
caso 1/16: hash desde 0000 hasta 1111) podra darse el siguiente caso:
alguien modifica nuestro mensaje firmado, y enva ese mensaje falso con
la firma del primero ya que en ambos casos son los mismos 4 bits...
Mensaje 1: Rechazamos el contrato por no interesarnos nada hash: 1101
Mensaje 2: Firma todo lo que te pongan porque nos interesa hash: 1101
Observe que ambos mensajes tienen 47 caracteres. As, podramos crear
una gran cantidad de mensajes diferentes que digan cosas distintas incluso
con igual nmero de caracteres... hasta que los dos hash coincidan!
Por este motivo, para que las funciones hash sean interesantes en
criptografa deben cumplir un conjunto de propiedades.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 714
Propiedades de las funciones hash
h(M) ser segura si tiene las siguientes caractersticas:
1. Unidireccionalidad: conocido un resumen h(M), debe ser
computacionalmente imposible encontrar M a partir de
dicho resumen.
2. Compresin: a partir de un mensaje de cualquier longitud,
el resumen h(M) debe tener una longitud fija. Lo normal
es que la longitud de h(M) sea menor que el mensaje M.
3. Facilidad de clculo: debe ser fcil calcular h(M) a partir
de un mensaje M.
4. Difusin: el resumen h(M) debe ser una funcin compleja
de todos los bits del mensaje M: si se modifica un solo bit
del mensaje M, el hash h(M) debera cambiar la mitad de
sus bits aproximadamente.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 715
Colisiones: resistencia dbil y fuerte
5. Colisin simple: ser computacionalmente imposible
conocido M, encontrar otro M tal que h(M) = h(M). Esto
se conoce como resistencia dbil a las colisiones.
6. Colisin fuerte: ser computacionalmente difcil encontrar
un par (M, M) de forma que h(M) = h(M). Esto se
conoce como resistencia fuerte a las colisiones.
Ataque por la paradoja del cumpleaos
Para tener confianza en encontrar dos mensajes con el mismo
resumen h(M) -probabilidad 50%- no habr que buscar en
2
n
(p.e. 2
128
), bastar una bsqueda en el espacio 2
n/2
(2
64
).
La complejidad algortmica se reduce de forma drstica!
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 716
Repaso de la paradoja del cumpleaos
En el captulo de criptosistemas asimtricos ya se presentaba este
problema matemtico, consistente en que exista confianza, es decir una
probabilidad mayor que el 50%, de que en un aula con 365 personas, dos
de ellas al azar cumplan aos en la misma fecha.
En realidad no se trata de una paradoja, pero parece serlo dado que ese
nmero que buscamos es slo de 23 personas.
Explicacin: si stos entran en el aula de uno en uno y van borrando de
una pizarra su cumpleaos, el primero tendr una probabilidad de que su
nmero no est borrado igual a n/n = 1, el segundo de (n-1)/n, etc. La
probabilidad de no coincidencia es p
NC
= n!/(n-k)!n
k
. Si k = 23, se tiene
p
NC
= 0,493 y la probabilidad de coincidencia es p
C
= 0,507.
)En un hash, esto sera equivalente a sacar dos mensajes de dos conjuntos
disjuntos y comparar sus valores; si los hash son distintos sacamos un nuevo
mensaje y lo comparamos con los anteriores,... hasta que haya una colisin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 717
Algoritmos de resumen en criptografa
MD5: Ron Rivest 1992. Mejoras al MD4 y MD2 (1990), es ms lento
pero con mayor nivel de seguridad. Resumen de 128 bits.
SHA-1: Del NIST, National Institute of Standards and Technology,
1994. Similar a MD5 pero con resumen de 160 bits. Existen otras
propuestas conocidas como SHA-256 y SHA-512, posibles estndares.
RIPEMD: Comunidad Europea, RACE, 1992. Resumen de 160 bits.
N-Hash: Nippon Telephone and Telegraph, 1990. Resumen: 128 bits.
Snefru: Ralph Merkle, 1990. Resmenes entre 128 y 256 bits. Ha sido
criptoanalizado y es lento.
Tiger: Ross Anderson, Eli Biham, 1996. Resmenes de hasta 192 bits.
Optimizado para mquinas de 64 bits (Alpha).
Panama: John Daemen, Craig Clapp, 1998. Resmenes de 256 bits de
longitud. Trabaja en modo funcin hash o como cifrador de flujo.
Haval: Yuliang Zheng, Josef Pieprzyk y Jennifer Seberry, 1992.
Admite 15 configuraciones diferentes. Hasta 256 bits.
L
o
s

m

s

u
s
a
d
o
s

a
c
t
u
a
l
m
e
n
t
e
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 718
Funcin resumen MD5
Esta funcin ya est obsoleta desde mediados de 2005. No obstante, es
interesante su estudio dada la sencillez del algoritmo y su generalidad.
Algoritmo bsico de Message Digest 5
a) Un mensaje M se convierte en un bloque mltiplo de 512 bits,
aadiendo bits si es necesario al final del mismo.
b) Con los 128 bits de cuatro vectores iniciales ABCD de 32 bits cada uno
y el primer bloque del mensaje de 512 bits, se realizan diversas
operaciones lgicas entre ambos bloques.
c) La salida de esta operacin (128 bits) se convierte en el nuevo conjunto
de 4 vectores ABCD y se realiza la misma funcin con el segundo
bloque de 512 bits del mensaje, y as hasta el ltimo bloque del
mensaje. Al terminar, el algoritmo entrega un resumen que corresponde
a los ltimos 128 bits de estas operaciones.

http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 719
Etapas de MD5
Bloques funcionales de MD5
a) Aadir bits para congruencia mdulo 512, reservando los
ltimos 64 bits para un indicador de longitud.
b) Aadir indicacin de la longitud del mensaje en los 64 bits
reservados para ello.
c) Inicializar el vector ABCD de claves con un valor que no
es secreto.
d) Procesar bloques de 512 bits, entregando una salida de 128
bits que formarn nuevamente el vector ABCD.
e) Obtener el resumen de los ltimos 128 bits.

http://www.faqs.org/rfcs/rfc1321.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 720
Esquema de la funcin MD5
MENSAJE
1000... K
Mensaje de K bits
Relleno de 1 a 448 bits
K mod 2
64
(64 bits)
L512 bits = N 32 bits
N palabras de 32 bits
512 bits
A
16
= 01234567
B
16
= 89ABCDEF
C
16
= FEDCBA98
D
16
= 76543210
A
16
= 01234567
B
16
= 89ABCDEF
C
16
= FEDCBA98
D
16
= 76543210
Y
q
H
MD5
Y
1
Y
2
ABCD
H
MD5
H
MD5
Y
L-1
H
MD5
RESUMEN
de 128 bits
Primer resumen
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 721
Bloque principal de MD5
Bloque principal
1
er
bloque de 512
bits del mensaje M
Vuelta
1
Funciones
F y FF
Vuelta
2
Funciones
G y GG
Vuelta
3
Funciones
H y HH
Vuelta
4
Funciones
I e II
A
B
C
D
A
+
+
+
+
Vector
inicial
Nuevo Vector ABCD
de 128 bits para el
prximo bloque...
Qu hacen las funciones F y FF...?
B
C
D
SUMA MDULO 2
32
+
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 722
Esquema funciones F, G, H, I en MD5
a b c d
funcin no lineal
Vector inicial ABCD
b c d
128 bits
A
16
= 01234567
B
16
= 89ABCDEF
C
16
= FEDCBA98
D
16
= 76543210
A
16
= 01234567
B
16
= 89ABCDEF
C
16
= FEDCBA98
D
16
= 76543210
x, y, z b, c, d
F (x, y, z)
(x AND y) OR (NOT x AND z)
G (x, y, z)
(x AND z) OR (y AND NOT z)
H (x, y, z)
x XOR y XOR z
I (x, y, z)
y XOR (x OR NOT z)
F (x, y, z)
(x AND y) OR (NOT x AND z)
G (x, y, z)
(x AND z) OR (y AND NOT z)
H (x, y, z)
x XOR y XOR z
I (x, y, z)
y XOR (x OR NOT z)
F (b, c, d)
(b AND c) OR (NOT b AND d)
G (b, c, d)
(b AND d) OR (c AND NOT d)
H (b, c, d)
b XOR c XOR d
I (b, c, d)
c XOR (b OR NOT d)
F (b, c, d)
(b AND c) OR (NOT b AND d)
G (b, c, d)
(b AND d) OR (c AND NOT d)
H (b, c, d)
b XOR c XOR d
I (b, c, d)
c XOR (b OR NOT d)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 723
Algoritmo de las funciones en MD5
a b c d
Desplazamiento del registro
funcin no lineal
+
+
+
<<< s
j
+
M
j
t
j
+
Suma
mod 2
32
b c a d
32 bits
32 bits
s
j
bits a la
izquierda
Se repite el proceso para
M
j+1
hasta 16 bloques del
texto. En las vueltas 2, 3 y 4
se repite el proceso ahora
con funciones G, H e I.
El algoritmo realiza
416 = 64 vueltas
para cada uno de los
bloques de 512 bits
Situacin luego del desplazamiento
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 724
Funciones no lineales en MD5
a b c d
Vector de 128 bits
Funciones no lineales
en cada vuelta
1 Vuelta:
FF(a,b,c,d,M
j
,t
j
,s) a = b + ((a + F(b,c,d) + M
j
+ t
j
) <<< s)
2 Vuelta:
GG(a,b,c,d,M
j
,t
j
,s) a = b + ((a + G(b,c,d) + M
j
+ t
j
) <<< s)
3 Vuelta:
HH(a,b,c,d,M
j
,t
j
,s) a = b + ((a + H(b,c,d) + M
j
+ t
j
) <<< s)
4 Vuelta:
II(a,b,c,d,M
j
,t
j
,s) a = b + ((a + I(b,c,d) + M
j
+ t
j
) <<< s)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 725
Algoritmo y desplazamiento en MD5
Vector de 128 bits
a b c d
Sea f la funcin F, G, H o I segn la vuelta.
El algoritmo ser:
Para j = 0 hasta 15 hacer:
TEMP = [(a + f(b,c,d) + M
j
+ t
j
) <<<s
j
]
a = d
d = c
c = b
b = a
a = TEMP
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 726
Operaciones en 1 y 2 vueltas en MD5
FF (a, b, c, d, M
j
, t
j
, s)
FF(a, b, c, d, M
0
, D76AA478, 7)
FF(d, a, b, c, M
1
, E8C7B756, 12)
FF(c, d, a, b, M
2
, 242070DB, 17)
FF(b, c, d, a, M
3
, C1BDCEEE, 22)
FF(a, b, c, d, M
4
, F57C0FAF, 7)
FF(d, a, b, c, M
5
, 4787C62A, 12)
FF(c, d, a, b, M
6
, A8304613, 17)
FF(b, c, d, a, M
7
, FD469501, 22)
FF(a, b, c, d, M
8
, 698098D8, 7)
FF(d, a, b, c, M
9
, 8B44F7AF, 12)
FF(c, d, a, b, M
10
, FFFF5BB1, 17)
FF(b, c, d, a, M
11
, 895CD7BE, 22)
FF(a, b, c, d, M
12
, 6B901122, 7)
FF(d, a, b, c, M
13
, FD987193, 12)
FF(c, d, a, b, M
14
, A679438E, 17)
FF(b, c, d, a, M
15
, 49B40821, 22)
P
r
i
m
e
r
a

v
u
e
l
t
a
GG (a, b, c, d, M
j
, t
j
, s)
GG(a, b, c, d, M
1
, F61E2562, 5)
GG(d, a, b, c, M
6
, C040B340, 9)
GG(c, d, a, b, M
11
, 265E5A51, 14)
GG(b, c, d, a, M
0
, E9B6C7AA, 20)
GG(a, b, c, d, M
5
, D62F105D, 5)
GG(d, a, b, c, M
10
, 02441453, 9)
GG(c, d, a, b, M
15
, D8A1E681, 14)
GG(b, c, d, a, M
4
, E7D3FBC8, 20)
GG(a, b, c, d, M
9
, 21E1CDE6, 5)
GG(d, a, b, c, M
14
, C33707D6, 9)
GG(c, d, a, b, M
3
, F4D50D87, 14)
GG(b, c, d, a, M
8
, 455A14ED, 20)
GG(a, b, c, d, M
13
, A9E3E905, 5)
GG(d, a, b, c, M
2
, FCEFA3F8, 9)
GG(c, d, a, b, M
7
, 676F02D9, 14)
GG(b, c, d, a, M
12
, 8D2A4C8A, 20)
S
e
g
u
n
d
a

v
u
e
l
t
a
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 727
Operaciones en 3 y 4 vueltas en MD5
HH (a, b, c, d, M
j
, t
j
, s)
HH(a, b, c, d, M
5
, FFFA3942, 4)
HH(d, a, b, c, M
8
, 8771F681, 11)
HH(c, d, a, b, M
11
, 6D9D6122, 16)
HH(b, c, d, a, M
14
, FDE5380C, 23)
HH(a, b, c, d, M
1
, A4BEEA44, 4)
HH(d, a, b, c, M
4
, 4BDECFA9, 11)
HH(c, d, a, b, M
7
, F6BB4B60, 16)
HH(b, c, d, a, M
10
, BEBFBC70, 23)
HH(a, b, c, d, M
13
, 289B7EC6, 4)
HH(d, a, b, c, M
0
, EAA127FA, 11)
HH(c, d, a, b, M
3
, D4EF3085, 16)
HH(b, c, d, a, M
6
, 04881D05, 23)
HH(a, b, c, d, M
9
, D9D4D039, 4)
HH(d, a, b, c, M
12
, E6DB99E5, 11)
HH(c, d, a, b, M
15
, 1FA27CF8, 16)
HH(b, c, d, a, M
2
, C4AC5665, 23)
T
e
r
c
e
r
a

v
u
e
l
t
a
II (a, b, c, d, M
j
, t
j
, s)
II(a, b, c, d, M
0
, F4292244, 6)
II(d, a, b, c, M
7
, 411AFF97, 10)
II(c, d, a, b, M
14
, AB9423A7, 15)
II(b, c, d, a, M
5
, FC93A039, 21)
II(a, b, c, d, M
12
, 655B59C3, 6)
II(d, a, b, c, M
3
, 8F0CCC92, 10)
II(c, d, a, b, M
10
, FFEFF47D, 15)
II(b, c, d, a, M
1
, 85845DD1, 21)
II(a, b, c, d, M
8
, 6FA87E4F, 6)
II(d, a, b, c, M
15
, FE2CE6E0, 10)
II(c, d, a, b, M
6
, A3014314, 15)
II(b, c, d, a, M
13
, 4E0811A1, 21)
II(a, b, c, d, M
4
, F7537E82, 6)
II(d, a, b, c, M
11
, BD3AF235, 10)
II(c, d, a, b, M
2
, 2AD7D2BB, 15)
II(b, c, d, a, M
9
, EB86D391, 21)
C
u
a
r
t
a

v
u
e
l
t
a
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 728
Funcin resumen SHA-1
Algoritmo:
Es muy similar a MD5. Tambin trata bloques de 512 bits de
mensaje con un total de 80 vueltas, pero en este caso el vector
inicial tiene una palabra ms de 32 bits (E) por lo que el
resumen ser de 160 bits.
Un resumen de 128 bits (MD5) tiene una complejidad algortmica
de tan slo 2
64
, un valor en la actualidad muy comprometido...
'
En cambio la funcin SHA-1, Secure Hash Algorithm, entregar un
resumen de 160 bits; con una complejidad algortmica de 2
80
.
&

http://www.faqs.org/rfcs/rfc3174.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 729
Despus de esta ltima operacin, se
produce el desplazamiento del
registro hacia la derecha
Funcin
no lineal
+
+
+
<<< 30
W
t
K
t
Vector inicial ABCDE
Registro de 160 bits
32 bits
32 bits
A
16
= 67452301
B
16
= EFCDAB89
C
16
= 98BADCFE
D
16
= 10325476
E
16
= C3D2E1F0
A
16
= 67452301
B
16
= EFCDAB89
C
16
= 98BADCFE
D
16
= 10325476
E
16
= C3D2E1F0
a b c d e c d b
+
<<< 5
Bloques del texto a partir
del bloque de 16 palabras
Una constante en cada
una de las cuatro vueltas
Suma
mod 2
32
+
Esquema del resumen SHA-1
Vase la prxima diapositiva...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 730
Vueltas funciones F, G, H, I en SHA-1
a b c d e
Desplazamiento del registro
Se repite el proceso con la
funcin F para las restantes 15
palabras de 32 bits del bloque
actual hasta llegar a 20. En
vueltas 2, 3 y 4 se repite el
proceso con funciones G, H e I.
F (b, c, d) vueltas t = 0 a 19
(b AND c) OR ((NOT b) AND d)
G (b, c, d) vueltas t = 20 a 39
b XOR c XOR d
H (b, c, d) vueltas t = 40 a 59
(b AND c) OR (b AND d) OR
(c AND d)
I (b, c, d) vueltas t = 60 a 79
b XOR c XOR d
F (b, c, d) vueltas t = 0 a 19
(b AND c) OR ((NOT b) AND d)
G (b, c, d) vueltas t = 20 a 39
b XOR c XOR d
H (b, c, d) vueltas t = 40 a 59
(b AND c) OR (b AND d) OR
(c AND d)
I (b, c, d) vueltas t = 60 a 79
b XOR c XOR d
e b c d a
Tenemos 420 = 80 pasos por cada bloque de 512 bits.
Pero ... cmo es posible repetir 80 veces un bloque que slo
cuenta con 16 bloques de texto de 32 bits cada uno?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 731
Las 80 vueltas en SHA-1
Vector de 160 bits
a b c d e
Cada bloque de 16 palabras del mensaje (M
0
... M
15
) se
expandir en 80 palabras (W
0
... W
79
) segn el algoritmo:
W
t
= M
t
(para t = 0, ..., 15)
W
t
= (W
t-3
W
t-8
W
t-14
W
t-16
) <<<1 (para t = 16, ..., 79)
y adems: K
t
= 5A827999 para t = 0, ..., 19
K
t
= 6ED9EBA1 para t = 20, ..., 39
K
t
= 8F1BBCDC para t = 40, ..., 59
K
t
= CA62C1D6 para t = 60, ..., 79
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 732
Algoritmo y desplazamiento en SHA-1
Vector de 160 bits
a b c d e
El algoritmo para cada bloque de 512 bits ser:
Para t = 0 hasta 79 hacer:
TEMP = (a <<<5) + f
t
(b,c,d) + e + W
t
+ K
t
a = e
e = d
d = c
c = b <<<30
b = a
a = TEMP
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 733
Comparativa entre MD5 y SHA-1
SHA-1 genera una salida de 160 bits de longitud mientras
que MD5 genera slo 128 bits.
La dificultad de generar un mensaje que tenga un resumen
dado es del orden de 2
128
operaciones para MD5 y 2
160
para
SHA-1.
La dificultad de generar dos mensajes aleatorios distintos y
que tengan el mismo resumen (ataques basados en paradoja
del cumpleaos) es del orden de 2
64
operaciones para MD5 y
2
80
para SHA-1.
Esta diferencia de 16 bits a favor de SHA-1 lo convierte en
ms seguro y resistente a ataques por fuerza bruta que el
algoritmo MD5. Aunque es ms lento que MD5, SHA-1 es
hoy el estndar como funcin hash.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 734
SHA-1 realiza un mayor nmero de pasos que MD5: 80
frente a los 64 que realiza MD5.
SHA-1 debe procesar 160 bits de buffer en comparacin
con los 128 bits de MD5.
Por estos motivos la ejecucin del algoritmo SHA-1 es
ms lenta que la de MD5 usando un mismo hardware.
Por ejemplo, un programa realizado en C entregaba en
un Pentium a 266 MHz (no importa que esta velocidad
sea tan baja) una tasa del orden de 20 Mbits/seg para
SHA-1 y para MD5 esta tasa llegaba a los 60 Mbits/seg.
Ambos algoritmos procesan bloques de 512 bits y emplean 4
funciones primitivas para generar el resumen del mensaje, pero...
Pasos y tasas de cifra en MD5 y SHA-1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 735
Ms diferencias entre MD5 y SHA-1
La longitud mxima del mensaje para SHA-1 debe ser
menor de 2
64
bits, mientras que MD5 no tiene limitaciones
de longitud.
MD5 emplea 64 constantes (una por cada paso), mientras
que SHA-1 slo emplea 4 (una para cada 20 pasos).
MD5 se basa en la arquitectura little-endian, mientras que
SHA-1 se basa en la arquitectura big-endian. Por ello el
vector ABCD inicial en MD5 y SHA-1 son iguales:
A = 01234567 (MD5) 67452301 (SHA-1)
B = 89ABCDEF (MD5) EFCDAB89 (SHA-1)
C = FEDCBA98 (MD5) 98BADCFE (SHA-1)
D = 76543210 (MD5) 10325476 (SHA-1)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 736
Arquitecturas little-endian y big-endian
Arquitectura little-endian:
Esta es la arquitectura empleada en procesadores Intel de la
familia 80xxx y Pentium.
Para almacenar una palabra en memoria, el byte menos
significativo de los que forman dicha palabra se guarda en la
posicin ms baja de la memoria.
Arquitectura big-endian:
Empleada por otras arquitecturas como SUN.
Para almacenar una palabra en memoria, el byte ms
significativo de los que forman dicha palabra se guarda en la
posicin ms baja de memoria.

http://www.algoritmia.net/articles.php?id=57
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 737
Ejemplo little-endian versus big-endian
Supongamos que queremos almacenar en memoria la siguiente
palabra de 32 bits (4 bytes) representada en hexadecimal:
76543210
10 32 54 76
Si consideramos que las posiciones de memoria ms bajas se
encuentran a la izquierda y las ms altas a la derecha:
67 45 23 01 En formato little-endian se representa:
01 23 45 67 En formato big-endian se representa:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 738
ltimos ataques a las funciones hash
Ya a finales del ao 2004 cientficos chinos de la Shandong University
presentan trabajos en los que se analizan las debilidades reales de las
funciones hash como MD5 y SHA-1 ante colisiones.
Aunque no est claro que este tipo de ataques pudiese derivar en
acciones de fraude, como sera suplantar un hash por otro igual y que en
recepcin se aceptase como vlido si bien este ltimo proviene de un
mensaje distinto, es un claro motivo de preocupacin actual.
El problema de estas vulnerabilidades estriba en que muchos servidores
Web presentan un certificado digital X.509 firmado en el mejor de los
casos a partir de una funcin hash SHA-1 y, lo que es peor an, todava
hay algunos que usan un hash MD5.... este ltimo mucho menos seguro
que el primero.

http://www.criptored.upm.es/guiateoria/gt_m238a.htm

http://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 739
Funciones hash para la autenticacin
Las funciones hash vistas (MD5, SHA-1, etc.) pueden usarse
adems para autenticar a dos usuarios.
Como carecen de una clave privada no pueden usarse de
forma directa para estos propsitos. No obstante, existen
algoritmos que permiten aadirles esta funcin.
Entre ellos est HMAC, una funcin que usando los hash
vistos y una clave secreta, autentica a dos usuarios mediante
sistemas de clave secreta. Las funciones MAC, Message
Authentication Code, y HMAC se tratarn en el prximo
captulo dedicado a la autenticacin y firma digital.
HMAC se usa en plataformas IP seguras como por ejemplo en
Secure Socket Layer, SSL.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 740
Cuestiones y ejercicios
1. Qu propiedades debe tener una funcin hash para que su uso en
criptografa sea de inters? Vale cualquier funcin reductora?
2. Por qu prospera un ataque basado en la paradoja del cumpleaos
con un tiempo significativamente menor que un ataque elemental?
3. Se va a aplicar la funcin MD5 a un mensaje de longitud 250 bytes.
Cmo se rellena y cmo queda el ltimo bloque?
4. Por qu razn decimos que la funcin SHA-1 es actualmente un
estndar ms seguro que la funcin MD5? Es seguro hoy SHA-1?
5. Cmo puede la funcin SHA-1 hacer 80 vueltas con bloques de 32
bits partiendo de un bloque de texto o mensaje de slo 512 bits?
6. Qu funcin hash es ms rpida, MD5 o SHA-1? Por qu?
7. Si en un mensaje cambiamos un bit, en cunto debera cambiar su
hash aproximadamente con respecto a su resumen anterior?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 741
Prcticas del tema 15 (1/3)
Software CriptoRes:

http://www.criptored.upm.es/software/sw_m001h.htm
1. Usando el botn de generacin de resumen, encuentre el hash MD5 del
mensaje M = Hola. Para el mismo mensaje, repita el resumen para SHA-1.
2. Busque en su computador el archivo SegInfCrip_v40.zip, encuentre el hash
MD5 y el hash SHA-1. Repita un par de veces la operacin de resumen y
compare las velocidad de clculo de cada funcin.
3. Obtenga la funcin hash MD5 de M = Prueba 122 del hash. Abra otra
ventana y encuentre ahora el hash de M = Prueba 123 del hash. Observe
que los mensajes difieren slo en un bit (2 = 0011 0010; 3 = 0011 0011).
4. Abra la calculadora de Windows dos veces y copie el hexadecimal de cada
hash en cada una, cambie luego a binario. Haga un XOR entre los dos
valores y compruebe que con cambiar slo un bit del mensaje, el hash
cambia ms de la mitad de bits. Recuerde que estas calculadoras trabajan
con 64 bits. Asegrese que ambos valores tengan el mismo nmero de bits.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 742
Prcticas del tema 15 (2/3)
5. Para el mensaje M = 123, encuentre el hash MD5 a travs del botn de
seguimiento. Abra la pestaa del seguimiento del algoritmo y observe que
se ha operado con un solo bloque.
6. Active la opcin A Nivel de Pasos y vuelva a calcular el hash. Observe los
valores 313233 (hexadecimal de 123) y luego el valor 80 que significa un
relleno (1 seguido de ceros). Al final ver un bloque de 64 bits (ltimas dos
palabras) cuyo valor es 18. Con la calculadora de Windows compruebe que
ese valor en decimal corresponde a 24, los 3 bytes del mensaje.
7. Observe ahora el relleno y el nmero de bits para el hash MD5 del mensaje
M = En este caso tenemos 232 bits. Compruebe este valor.
8. Si el mensaje tiene exactamente 512 bits, siempre se incluye un bloque con
relleno. Comprubelo con el mensaje de 64 bytes M = Y en este caso habr
siempre un bloque extra como ya se ha dicho. Recuerde: h = 68 y o = 6F.
Observe que a nivel de pasos no se ve relleno (se muestra slo el primer
bloque) y que a nivel de bloques muestra el procesamiento de dos bloques.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 743
Prcticas del tema 15 (3/3)
9. Para el mensaje M = 123, encuentre ahora el hash SHA-1 a travs del
botn de seguimiento. Abra la pestaa del seguimiento del algoritmo y
observe que se ha operado con un solo bloque. Observe el vector ABCDE.
10. Active la opcin A Nivel de Pasos y vuelva a calcular el hash. Compare la
representacin del valor 123 en hexadecimal (313233) con el resultado de
MD5, notacin little-endian versus big-endian.
11. Observe que en SHA-1 no se reservan los ltimos 64 bits para indicar el
tamao del archivo.
12. SHA-1 no acepta mensajes de tamao mayores que 2
64 bits
. Aunque pudiera
parecer una limitacin, a cuntos bytes correspondera este valor?
13. Compruebe grficamente la paradoja del cumpleaos pinchando en el
icono con figura de tarta. Primero indique 5 iteraciones y acepte las
opciones por defecto de un seguimiento preciso de cada cumpleaos. A
continuacin introduzca otros nmeros, juegue un poco con las opciones
del programa y observe que el valor medio de intentos es cercano a 23.
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 63 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
Curso de Seguridad Informtica y Criptografa JRA
v 4.1
Captulo 16
Autenticacin y Firma Digital
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 745
Interesa confidencialidad o integridad?
Si bien en ciertos escenarios es muy importante
mantener el secreto de la informacin, siempre que
sta lo requiera, en muchos casos tiene quizs ms
trascendencia el poder certificar la autenticidad
entre cliente y servidor como ocurre en Internet.
Confidencialidad
Para lograrla se cifra el mensaje M, nmero N o
clave K obteniendo un criptograma.
Integridad
Para lograrla se firma un hash del mensaje h(M),
aadiendo una marca al mensaje o criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 746
Algunos problemas de integridad
a) Autenticidad del emisor
Cmo comprueba Benito (B) que el mensaje recibido del emisor
que dice ser Adela (A) es efectivamente de esa persona?
b) Integridad del mensaje
Cmo comprueba Benito (B) que el mensaje recibido del emisor
Adela (A) es el autntico y no un mensaje falso?
c) Actualidad del mensaje
Cmo comprueba Benito (B) que el mensaje recibido del emisor
Adela (A) es actual, no un mensaje de fecha anterior reenviado?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 747
Ms problemas de integridad
d) No repudio del emisor
Cmo comprueba Benito (B) que el mensaje enviado por el emisor
Adela (A) -y que niega haberlo enviado- efectivamente ha llegado?
e) No repudio del receptor
Cmo comprueba Benito (B) que el mensaje enviado al receptor
Adela (A) -y que niega haberlo recibido- efectivamente se envi?
d) Usurpacin de identidad del emisor/receptor
Cmo comprueba Benito (B) que Adela (A), Carmen (C) u otros
usuarios estn enviando mensajes firmados como Benito (B)?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 748
Primer escenario de integridad
Escenario de desconfianza
1 Solucin. Uso de una
tercera parte de confianza
activa. Un juez tendr una
clave K
A
con la que se
comunica con A y una
clave K
B
con la que se
comunica con B.
Si A enva un mensaje M a B:
A cifra M con la clave K
A

E
KA
(M) y lo enva al juez.
Este comprueba la integridad
de A, lo descifra y enva a B,
cifrado con K
B
, el mensaje M,
la identidad de A y la firma
E
KA
(M): E
KB
{M, A, E
KA
(M)}.
Ambos confan en el juez y
ante cualquier duda ste puede
comprobar la identidad de A
ante B descifrando E
KA
(M).
Se usar criptografa simtrica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 749
Segundo escenario de integridad
Escenario de desconfianza
2 Solucin. Uso de una
tercera parte de confianza
no siempre activa. Esta
parte slo acta cuando se
produce un conflicto entre
los interlocutores, quienes
se autentican a travs de
ella que les certifica.
En este caso la
figura del juez se
conoce como una
Autoridad de
Certificacin
Habr una aceptacin del
sistema de autenticacin, tanto
por convencimiento propio de
los usuarios como por su
confianza en los algoritmos.
Se usar criptografa asimtrica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 750
Funciones y esquemas de autenticacin
Autenticacin mediante el cifrado de mensajes con
criptografa simtrica
La cifra de datos podra servir como autenticacin.
Autenticacin con MAC Message Authentication Code o
checksum
Una funcin pblica y una clave secreta producen un valor
de longitud fija que es vlida como autenticador.
Autenticacin mediante funciones hash
Una funcin pblica reduce el mensaje a una longitud de
valor hash que sirve como autenticador de integridad.
Autenticacin mediante firma digital del mensaje con
criptografa asimtrica
Una funcin pblica y un par de claves, pblica y privada
inversas en un cuerpo, permiten la autenticacin completa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 751
Autenticacin con sistemas simtricos
Si la clave de un sistema simtrico es segura, es decir no
est en entredicho, podemos afirmar que, adems de la
confidencialidad que nos entrega dicha cifra, se
comprueban tambin simultneamente la integridad del
mensaje y autenticidad del emisor, en tanto que slo el
usuario emisor (en quien se confa por el modelo, tipo de
cifra y en su clave pblica) puede generar ese mensaje.
Con los sistemas de cifra simtricos no podremos
realizar una autenticacin fcil y completa: emisor y
mensaje. Veremos un procedimiento algo complejo de
autenticacin con cifra simtrica como es el caso de
Kerberos y un esquema de firma digital.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 752
Los problemas de la autenticacin simtrica
El intercambio de claves de forma segura ya hemos visto que
se logra eficientemente slo a travs de sistemas asimtricos.
Las herramientas ms usuales para autenticacin sern los
cdigos de autenticacin de mensajes MACs y el sistema
Kerberos con cifras simtricas. Kerberos tambin permite el
intercambio seguro de una clave de sesin aunque es ms
complejo y pesado que el algoritmo de Diffie y Hellman.
No obstante, subyacen los problemas caractersticos de
un criptosistema: cmo asegurar que la clave simtrica
entre emisor y receptor es segura? o lo que es lo mismo,
cmo intercambiar claves de forma segura?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 753
Autenticacin con MAC o checksum
Los dos extremos de la comunicacin A y B comparten
una nica clave secreta que no est en entredicho.
El MAC o checksum ser una funcin que se aplica al
mensaje M junto a una clave secreta K de la forma C
K
(M).
A enva el mensaje en claro y el Message Authentication
Code (MAC) o Checksum C
K
(M) a B.
Integridad: el receptor B puede estar seguro de que nadie
ha modificado el mensaje durante la transmisin pues el
valor C
K
(M) en destino coincide con el enviado por A.
Autenticacin: como solamente el emisor A y el receptor B
comparten la clave secreta K, se asegura la autenticacin
de ambos usuarios. Por lo tanto, la condicin a cumplir es
que la clave K debe ser nica y segura.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 754
Se inserta un cdigo al final del mensaje M transmitido en
claro, consistente en la cifra con la clave secreta de los ltimos
bytes del texto, por ejemplo 64 bits de DES o bien usando
Triple DES.
En destino, con el mismo algoritmo y la clave secreta, se realiza
la cifra y se comparan estos ltimos bloques.
Como la cifra es CBC, encadenamiento de bloques cifrados,
esos bytes cifrados dependen de todo el mensaje por lo que
cualquier modificacin ser detectada al no coincidir los
resultados del cifrado de M en emisin y recepcin.
Message Authentication Code con DES

http://www.faqs.org/rfcs/rfc3537.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 755
M
1
M
2
M
n
... E (K,M)
M
1
M
2
M
n
... Am
K
E (K,M) = Am M
R
M
R
: espacio de marcas de autenticacin
Cifrado del ltimo bloque en modo CBC
Mensaje M
Cules son las
debilidades de
este modelo?
La Marca Am son 16, 32 64 bits.
Es un tamao muy pequeo y podra
dar lugar a colisiones: mensajes
distintos con iguales MACs.
Esquema de autenticacin MAC con DES
emisor
receptor
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 756
Las funciones hash vistas (MD5, SHA-1, etc.) no han sido
diseadas para la autenticacin al carecer de clave secreta.
No obstante, son interesantes puesto que su velocidad es mayor
que muchos cifradores de bloque, su cdigo fuente es abierto y
sus propiedades y funcionamiento son muy conocidos.
La RFC 2104 propone el uso de una autenticacin en entornos
seguros como SSL mediante una operacin MAC en la que
intervenga una funcin hash: su nombre es HMAC.
HMAC usa entonces una funcin hash (MD5, SHA-1, etc.)
como una caja negra, una clave K en lo posible mayor que el
tamao del hash en bits, una funcin xor y operaciones de
relleno de bits, tal como se muestra en el siguiente esquema.
Autenticacin con funciones hash HMAC
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 757
Esquema de HMAC

ipad K
+
b bits
hash
n bits
IV Relleno hasta b bits
S
0
n bits
IV
hash HMAC
K
(M)
S
1
Y
0
Y
1
Y
L-1

opad K
+
b bits
Parmetros del esquema
en la siguiente diapositiva...
b bits
Y
i
bloques del mensaje
H(S
i
||M)
n bits
n bits

http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 758
M = mensaje de entrada incluyendo el relleno.
H = alguna funcin hash como MD5 (128 bits) o SHA-1 (160 bits).
Y
i
= bloque isimo de M.
L = nmero de bloques en M.
b = nmero de bits en cada bloque (512).
n = longitud del resumen del hash ocupado en el sistema (128 / 160 bits).
K = clave secreta (160 bits) aunque se recomienda sea mayor que n. Si la
clave K es mayor que n, esta clave se hace pasar antes por la funcin hash
para reducirla a una clave de n bits.
K
+
= clave K con ceros aadidos a la izquierda para alcanzar b bits.
ipad = 00110110 octeto repetido b/8 (64) veces.
opad = 01011010 octeto repetido b/8 (64) veces.
Salida HMAC: HMAC
K
= h{(K
+
opad) || h[(K
+
ipad) || M ]}
Parmetros, valores tpicos y salida HMAC
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 759
Aadir ceros a la izquierda de K hasta obtener K
+
, una cadena de b bits.
Sumar or exclusivo K
+
con la cadena ipad para obtener S
1
de b bits.
Aadir a S
1
el mensaje M como bloques Y
i
de b bits cada uno.
Aplicar la funcin hash elegida a la cadena de bits antes formada, con el
vector inicial IV de n bits para generar un hash de n bits.
Sumar or exclusivo K
+
con la cadena opad para obtener S
0
de b bits.
Aadir a S
0
el hash anterior, rellenando este ltimo hasta b bits.
Aplicar la funcin hash elegida a los dos bloques de b bits generados en
el paso anterior, con vector IV de n bits para generar un hash de n bits.
El resultado de este ltimo hash es el HMAC del mensaje M con la
clave K, es decir HMAC
K
(M).
Operaciones y seguridad de HMAC
Aunque la seguridad de HMAC est directamente relacionada con el hash
utilizado, el modelo presentado no es seguro. Hay otras configuraciones
ms desarrolladas que mejoran esta caracterstica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 760
Utilizacin de un KDC (Key Distribution Centre) o Distribuidor de
Claves de Confianza, que comparte una clave maestra con los clientes.
Cada parte, usuario o entidad de la red comparte una clave secreta y
nica o clave maestra con el KDC.
El KDC se ocupa de distribuir una clave de sesin que va a ser
utilizada en la conexin entre dos partes.
La clave de sesin se protege con la clave maestra de los participantes
de una comunicacin.
Entre los esquemas propuestos estn el de Needham-Schroeder y el de
Denning-Sacco. Uno de los ms conocidos y populares ser Kerberos.
Autenticacin con cifra simtrica y un KDC

http://www.isi.edu/gost/publications/kerberos-neuman-tso.html

http://www.lsv.ens-cachan.fr/spore/nssk.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 761
Propuesta de Needham y Schroeder (1978)
Qu sucede si no se
realizan los pasos 4 y 5?
Un intruso C podra capturar
el mensaje en el paso 3 y
repetirlo, interfiriendo as
las operaciones de B.
1. A KDC: ID
A
||ID
B
||N
1
2. KDC A: E
KA
[K
S
||ID
B
||N
1
||E
KB
[K
S
||ID
A
]]
3. A B: E
KB
[K
S
||ID
A
]
4. B A: E
KS
[N
2
]
5. A B: E
KS
[f (N
2
)]
ID
A
= Nombre de A o identificador de A
ID
B
= Nombre de B o identificador de B
N
X
= Valor nonce
K
S
= Clave de sesin
E
KX
= Cifrado con clave secreta de X
K
X
= Clave secreta de X (A o B)
f (N2) es una funcin
conocida por A y B.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 762
Algo ms improbable es que un intruso C tenga una clave
de sesin antigua y repita el mensaje del paso 3 enviado a
B, quien no tiene porqu recordar todas las claves de
sesin usadas previamente con A.
Si C captura el mensaje del paso 4, podr suplantar la
respuesta de A del paso 5, enviando a B mensajes que
parecen venir de A con clave de sesin autenticada.
Denning propone la inclusin de un valor timestamp en los
pasos 2 y 3. La utilizacin de timestamps requiere la
sincronizacin de relojes, pero la utilizacin de valores
nonce es tambin vulnerable. Se propone como solucin
ptima dar una duracin a la clave de sesin (tickets).
Ms debilidades de la propuesta N-S
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 763
Solucin propuesta por Denning y tickets
1. A KDC: ID
A
||ID
B
2. KDC A: E
KA
[K
S
||ID
B
||T||E
KB
[K
S
||ID
A
||T]]
3. A B: E
KB
[K
S
||ID
A
||T]
4. B A: E
KS
[N
1
]
5. A B: E
KS
[f (N
1
)]
T = Timestamp
| Clock t | < t
1
+ t
2
1. A B: ID
A
||N
A
2. B KDC: ID
B
||N
B
||E
KB
[ID
A
||N
A
||T
B
]
3. KDC A: E
KA
[ID
B
||N
A
||K
S
||T
B
]||E
KB
[ID
A
||K
S
||T
B
]||N
B
4. A B: E
KB
[ID
A
||K
S
||T
B
]||E
KS
[N
B
]
Tickets
Denning
Tickets
Solucin al problema del timestamp
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 764
El correo electrnico es un ejemplo de aplicacin que
requiere este tipo de autenticacin:
No es necesario que el emisor y el receptor estn conectados
al mismo tiempo.
El receptor necesita confirmar de alguna forma que el emisor
del mensaje es quien dice ser.
Autenticacin en un sentido
Se garantiza as que slo el receptor puede leer el mensaje
y autentica adems al emisor. Es vulnerable a repeticiones.
1. A KDC: ID
A
||ID
B
||N
1
2. KDC A: E
KA
[K
S
||ID
B
||N
1
||E
KB
[K
S
||ID
A
]]
3. A B: E
KB
[K
S
||ID
A
]||E
KS
[M]
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 765
Perro de tres cabezas y cola de serpiente segn mitologa
griega, guardin de la entrada del Templo de Hades.
Tres componentes guardarn esa puerta: Autenticacin,
Contabilidad y Auditora. Las dos ltimas cabezas del
proyecto nunca han sido implementadas.
Autenticacin con Kerberos
Kerberos fue un proyecto
desarrollado en 1988 por el
Massachusetts Institute of
Technology MIT, siendo su
objetivo la implementacin de
un servicio de autenticacin.

http://web.mit.edu/kerberos/www/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 766
Est basado en el protocolo de distribucin de
claves de Needham & Schroeder.
Usa un intercambio de claves con una tercera
parte de confianza.
Fases de autenticacin:
Obtencin de credenciales
Tickets
Autenticadores
Peticin de autenticacin frente un servicio.
Presentacin de las credenciales al servidor final.
Caractersticas y fases de Kerberos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 767
Usuario, cliente y servidor: persona o mquina que necesita
autenticarse en la red.
Principal: entidad o cliente que usa Kerberos y que ha sido
previamente autenticado por un servidor de autenticacin.
Servicio y servidor: servicio es una entidad abstracta (por
ejemplo correo) y servidor el proceso que lo ejecuta.
Clave y password: funcin aplicada a la clave de usuario.
Credenciales: lo que se utiliza para autenticarse.
Maestros y esclavos: la mquina que hospeda la base de
datos es el master y esclavos son las mquinas que poseen
copias de sta.
Dominio: nombre de entidad administrativa que mantiene
los datos de autenticacin.
Elementos del dilogo de autenticacin
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 768
Existen dos tipos de credenciales utilizadas en el modelo de
Kerberos: tickets y autenticadores.
Es necesario un ticket para pasar de una forma segura la
identidad del cliente entre el servidor de autenticacin y el
servidor final.
El ticket en la credencial de Kerberos
[s, c, addr, timestamp, life, K
S,C
]K
S
s = nombre del servidor
c = nombre del cliente
addr = direccin Internet del cliente
timestamp = fecha de iniciacin del ticket
life = duracin
K
S
= clave de sesin aleatoria
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 769
El autenticador en la credencial de Kerberos
El autenticador contiene informacin adicional que,
comparada con el ticket, prueba que el cliente que presenta
el ticket es el mismo a quien se le entreg,
Los objetivos de las credenciales son minimizar el nmero de veces
que un usuario tiene que introducir la password as como eliminar el
problema de enviar la password en texto plano por la red.
[c, addr, timestamp]K
S,C
c = nombre del cliente
addr = direccin Internet de la estacin de trabajo
timestamp = fecha de iniciacin del ticket
K
S,C
= clave de sesin que es parte del ticket
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 770
Ejemplo de autenticacin con Kerberos (1)
Se autenticar el usuario A ante el usuario B teniendo
como tercera parte de confianza al centro KDC.
Usarn el algoritmo DES.
A B
KDC
k
A
k
B
Paso 1. A pide una credencial a KDC:
A KDC ID(A), ID(B), NA
Enva el nmero aleatorio NA para que
nadie pueda suplantar su identidad.
Paso 2. KDC genera una clave de sesin K
S
con perodo de validez L
y una credencial c para el usuario B:
m = E
kA
[K
S
, L, NA, ID(B)]; c = E
kB
[K
S
, L, ID(A)]
KDC A (m, c)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 771
Ejemplo de autenticacin con Kerberos (2)
Paso 3. A descifra con su clave k
A
el valor m:
D
kA
[E
kA
[K
S
, L, NA, ID(B)] ] = K
S
, L, NA, ID(B)
Y luego con la clave de sesin entregada por KDC generar un
autenticador a para el usuario B junto con un sello temporal T
A
.
a = E
KS
[ID(A), T
A
]
A B (c, a)
Paso 4. B descifra con su clave k
B
c:
D
kB
[E
kB
[K
S
, L, ID(A)]] = K
S
, L, ID(A)
Ahora que tiene K
S
descifra el valor a:
D
KS
[E
KS
[ID(A), T
A
]] = ID(A), T
A
Comprueba que coinciden los identificadores ID(A) del usuario A
y que T
A
est dentro del rango de validez L dado por KDC.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 772
Ejemplo de autenticacin con Kerberos (3)
Paso 5. B calcula una funcin acordada con A por ejemplo (T
A
+ 1)
y con la clave de sesin K
S
se lo enva cifrado:
B A h = E
KS
[T
A
+ 1]
Paso 6. A descifra h con la clave de sesin K
S
:
D
KS
[E
KS
[T
A
+ 1]] = T
A
+ 1
Comprueba que coincide con lo acordado lo que le demuestra que
B ha recibido correctamente la clave de sesin K
S
.
La importancia del valor de T
A
es que permitir ms autenticaciones
dentro del perodo de validez L sin que sea necesario la intervencin
de la tercera parte de confianza KDC.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 773
Resumen del ejemplo de autenticacin
Los valores de c y m aseguran la confidencialidad en
la transmisin de la clave de sesin K
S
.
Los valores de a y h aseguran la confirmacin de la
recepcin correcta de la clave de sesin K
S
por B.
En este protocolo slo se autentica A ante B.
Existen extensiones del algoritmo que permiten una
autenticacin doble entre A y B.
Otra opcin es que los usuarios A y B compartan una
clave K
S
sin que su valor sea conocido por KDC.

http://www.mug.org.ar/Infraestructura/ArticInfraestructura/300.aspx
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 774
El hash en la autenticacin asimtrica
h(M) es el resultado de un algoritmo que con una entrada
M de cualquier tamao, produce salida de tamao fijo.
El emisor A enva el mensaje M y la funcin hash h(M) a
B, quien aplica la misma funcin al mensaje M recibido.
Si los mensajes son iguales entonces se asegura que los
hash tambin son iguales. No obstante, el hecho de que los
hash coincidan no significa que los mensajes M y M sean
iguales, como ya hemos visto en un captulo anterior.
Integridad: el receptor B puede confiar en que nadie ha
modificado el mensaje durante la transmisin pues el valor
h(M) en destino coincide con el enviado por A.
Autenticacin: es imposible la autenticacin de usuario,
salvo que se use un modelo con clave tipo HMAC ya visto.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 775
Son condiciones mucho ms fuertes
que las de una firma manuscrita...
Son condiciones mucho ms fuertes
que las de una firma manuscrita...
Caractersticas de una firma digital
Requisitos de la firma digital:
a) Debe ser fcil de generar.
b) Ser irrevocable, no rechazable por su propietario.
c) Ser nica, slo posible de generar por su propietario.
d) Ser fcil de autenticar o reconocer por su propietario y los
usuarios receptores.
e) Debe depender del mensaje y del autor.
Esta ltima
propiedad es
muy importante
pues protege ante
la falsificacin
de los mensajes
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 776
Firmas digitales simtricas
9 Su usar una nica clave secreta. Luego, persiste el
problema de comunicar la clave entre los comunicantes.
9 Normalmente usarn la funcin XOR para realizar la
transformacin.
9 Podremos firmar mediante cifra en flujo y en bloque.
9 Son muy rpidas por el tipo de cifra o bien por el uso de
bloques ms pequeos que en otros tipos de firma.
9 Algoritmos de firma: Rabin, Lamport-Diffie, Desmedt,
Matyas-Meyer basada en el DES ...

http://www.deas.harvard.edu/ourfaculty/profile/Michael_Rabin

http://research.microsoft.com/users/lamport/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 777
Firma digital de Desmedt
Propuesta por Yvo G. Desmedt en 1985.
Se basa en el cifrado de Vernam.
Elementos: parmetro q en bits, un mensaje Mde longitud n
bits y una clave H de nq bits:
H = {[h
1
(1)
, ..., h
1
(q)
], ..., [h
n
(1)
, ..., h
n
(q)
]}
i se cumplir que [h
i
(1)
, ..., h
i
(q)
] (0, ..., 0)
i = n
Algoritmo: r
j
= m
i
h
i
(j)
= m
1
h
1
(j)
... m
n
h
n
(j)
i = 1 (con j = 1, ..., q)
Verificacin de la firma: con el mensaje recibido se realiza el
mismo proceso del firmado hecho en emisin y se comprueba
que se obtiene una firma idntica.

http://www.cs.fsu.edu/~desmedt/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 778
Ejemplo de Firma digital de Desmedt
Sea: mensaje M = 11011 de n = 5 bits, el parmetro q de
3 bits y la clave aleatoria H = (111, 100, 110, 001, 111).
r
1
= 11 11 01 10 11 = 1
r
2
= 11 10 01 10 11 = 0
r
3
= 11 10 00 11 11 = 1
Firma Desmedt: 101
Como el receptor tiene esa clave H, que realiza la misma
operacin en destino y compara ambas firmas.
9 Como son sistemas sin uso actual, slo se muestra aqu este sencillo
esquema. El lector interesado encontrar una amplia informacin en
el libro de Criptografa Digital de Jos Pastor y Miguel Angel
Sarasa que se menciona en el captulo 21 de este libro electrnico.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 779
Autenticacin con sistemas asimtricos
Problema:
Los sistemas de cifra asimtricos son muy lentos y el mensaje
podra tener miles o millones de bytes ...
Solucin:
Se genera un resumen del mensaje, representativo del mismo, con
una funcin hash imposible de invertir. La funcin hash comprime
un mensaje de longitud variable a uno de longitud fija y pequea.
Al existir una clave pblica y otra privada que
son inversas, se autentica el mensaje y al emisor.
Permite la firma digital, nica para cada mensaje
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 780
Clave Pblica (n
A
, e
A
) Clave Privada (d
A
)
Rbrica: r
A
h(M) = h(M)
dA
mod n
A
Algoritmo:
A enva el mensaje M en claro (o cifrado) al destinatario B
junto a la rbrica: {M, r
A
h(M)}
El destinatario B tiene la clave pblica e
A
,n
A
de
A y descifra r
A
h(M) {(h(M)
dA
)
eA
mod n
A
}
obteniendo as h(M). Como recibe el mensaje
M, calcula la funcin hash h(M) y compara:
Si h(M) = h(M) se acepta la firma.
Adela
$
Benito
Firma digital RSA de A hacia B

http://www.enstimac.fr/Perl/perl5.6.1/site_perl/5.6.1/Crypt/RSA.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 781
En los siguientes ejemplos, por limitacin del tamao de los
primos elegidos, se firmarn slo bloques de una cantidad
determinada de bits en funcin del cuerpo de trabajo.
No obstante, en los sistemas reales esto no es as puesto que
las funciones hash ya vistas entregarn -por lo general-
resmenes comprendidos entre 128 y 160 bits y, por otra
parte, el cuerpo de trabajo de la cifra asimtrica para la
firma digital ser como mnimo de 1.024 bits.
Por lo tanto el resumen que se firma es menor que el cuerpo
de cifra o, lo que es lo mismo, el nmero que se cifra ser
parte del conjunto de restos de ese grupo.
Valores y tamaos tpicos de firmas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 782
Adela Benito
Hola. Te envo el documento. Saludos, Beni.
Sea h(M) = F3A9 (16 bits)
Claves Benito
n
B
= 65.669
e
B
= 35, d
B
= 53.771
Claves Adela
n
A
= 66.331
e
A
= 25, d
A
= 18.377
h (M) = F3A9
16
= 62.377
10
r
h(M)
= h(M)
dB
mod n
B
r
h(M)
= 62.377
53.771
mod 65.669 = 24.622
Benito enva el par (M, r) = (M, 24.622)
Firma
Nota: los primos
que usa Benito
son (97, 677) y
Adela (113, 587)
2
16
< 65.669 < 2
17
Forzaremos firmar
bloques de 16 bits
Ejemplo de firma digital RSA (B A)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 783
Claves Benito
n
B
= 65.669
e
B
= 35, d
B
= 53.771
Claves Adela
n
A
= 66.331
e
A
= 25, d
A
= 18.377
Adela recibe un mensaje M junto con una rbrica r = 24.622:
Calcula r
eB
mod n
B
= 24.622
35
mod 65.669 = 62.377.
Calcula el resumen de M es decir h(M) y lo compara con h(M).
Si los mensajes M y M son iguales, entonces h(M) = h(M) y se
acepta la firma como vlida.
Recuerde: El hecho de que h(M) = h(M) no implica que M = M.
Tenamos que: h (M) = F3A9
16
= 62.377
10
r
h(M)
= h(M)
dB
mod n
B
r
h(M)
= 62.377
53.771
mod 65.669 = 24.622
Benito haba enviado a Adela el par (M, r) = (M, 24.622)
Adela Benito
Comprobacin la firma RSA por A
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 784
Al trabajar en un grupo multiplicativo, se da el siguiente escenario:
Si se conoce la firma de dos mensajes M
1
y M
2
, se puede firmar un tercer
mensaje M
3
producto de los dos anteriores sin necesidad de conocer la
clave privada del firmante.
Sean las claves del firmante e, d y n = pq. Luego:
r
M1
= M
1
d
mod n y r
M2
= M
2
d
mod n Si ahora M
3
= M
1
M
2
:
r
M3
= (M
1
M
2
)
d
mod n = M
1
d
M
2
d
mod n = r
M1
r
M2
mod n
Posible vulnerabilidad de la firma RSA
Comentario: si la firma se realiza sobre un texto es prcticamente imposible
que el producto de dos textos d un nuevo texto con sentido. No obstante,
sabemos que este tipo de firmas asimtricas se realizan sobre un nmero
resultado de un hash por lo que podra darse una situacin as, aunque por
el tamao del hash sera bastante poco probable este tipo de colisin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 785
Sean las claves n = 15.833 = 71223, e = 17, d = 7.313.
Sea M
1
= 8.643 y M
2
= 10.014 (ambos elementos de n)
Firma de M
1
: r
M1
= 8.643
7.313
mod 15.833 = 840
Firma de M
2
: r
M2
= 10.014
7.313
mod 15.833 = 5.049
Sea M
3
= M
1
M
2
= 8.64310.014 mod 15.833 = 7.824
Firma de M
3
: r
M3
= 7.824
7.313
mod 15.833 = 13.749
... y r
M1
r
M2
= 8405.049 mod 15.833 = 13.749
Ejemplo de firma RSA con colisin
Y. Desmedt, W. de Jonge y D. Chaum presentan en el ao 1986 una
variante de la firma RSA que evita este problema de la multiplicatividad.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 786
ElGamal: El usuario A generaba un nmero
aleatorio a (clave privada) del cuerpo p. La
clave pblica es
a
mod p, con generador.
Algoritmo de firma:
1 El usuario A genera un nmero aleatorio h, que ser primo
relativo con (p): h / mcd {h, (p)} = 1
2 Calcula h
-1
= inv {h, (p)}
3 Calcula r =
h
mod p
4 Resuelve la siguiente congruencia:
M = ar + hs mod (p)
s = (M - ar)inv[h,(p)] mod (p)
M = ar + hs mod (p)
s = (M - ar)inv[h,(p)] mod (p)
Firma: (r, s)
Firma: (r, s)
Adela
Firma digital ElGamal de A hacia B

http://www.math.clemson.edu/faculty/Gao/crypto_mod/node5.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 787
Algoritmo comprobacin de firma
1 El usuario B recibe el par (r, s) y calcula:
r
s
mod p y (
a
)
r
mod p
2 Calcula k = [(
a
)
r
r
s
] mod p
Como r era igual a
h
mod p entonces:
k = [(
ar

hs
] mod p =
(ar + hs)
mod p =

mod p
3 Como M = (ar + hs) mod (p) y es una raz
primitiva de p (esto debe cumplirse) entonces:

ssi = mod (p-1)


4 Comprueba que k =
M
mod p
Benito
Si k = [(
a
)
r
r
s
] mod p
es igual a
M
mod p ...
Si k = [(
a
)
r
r
s
] mod p
es igual a
M
mod p ...
Se acepta la firma
Se acepta la firma
Conoce: p y (
a
) mod p
Comprobacin de firma ElGamal por B
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 788
Adela Benito
Hola otra vez! Soy Benito de nuevo. Saludos.
Sea h(M) = A69B (16 bits)
Claves Benito
p
B
= 79.903 = 10

b
mod p = 3.631
b = 20, h = 31
2
16
< 79.903 < 2
17
Forzaremos firmar
bloques de 16 bits
Firma
1) h
-1
= inv[h, (p)] = inv (31, 79.902) = 5.155
2) r =
h
mod p = 10
31
mod 79.903 = 11.755
3) s = [h(M) - br][inv(h,(p)] mod (p) h(M) = A69B
16
= 42.651
10
4) s = [42.651-2011.755]5.155 mod 79.902
5) s = 68.539
(r, s) = (11.755, 68.539)
(r, s) = (11.755, 68.539)
Luego, la firma ser
Ejemplo de firma ElGamal (B A)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 789
Adela Benito
Claves Benito
p
B
= 79.903 = 10

b
mod p = 3.631
b = 20, h = 31
Comprobacin de la firma:
1) r
s
mod p = 11.755
68.539
mod 79.903 = 66.404
2) (
b
)
r
mod p = 3.631
11.755
mod 79.903 = 12.023
3) (
b
)
r
r
s
mod p = (12.023 66.404) mod 79.903 = 64.419 = k
4)
h(M)
mod p = 10
42.651
mod 79.903 = 64.419
Como hay igualdad
se acepta la firma
Adela recibe de Benito el par (r, s) = (11.755, 68.539)
h(M) = A69B = 42.651
Comprobacin de firma ElGamal por A
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 790
Claves Benito
p
B
= 79.903 = 10

b
mod p = 3.631
b = 20, h = 31
= 10 es un generador
del cuerpo p = 79.903
puesto que:
p-1 = 79.902 = 23
2
23193
q
1
= 2; q
2
= 3; q
3
= 23; q
4
= 193
y se cumple 10
(p-1)/qi
mod p 1
10
39.951
mod 79.903 = 79.902
10
26.634
mod 79.903 = 71.324
10
3.474
mod 79.903 = 2.631
10
414
mod 79.903 = 41.829
Si se elige = 11, para el exponente 39.951 se obtiene un 1 por lo
que no es raz.
Compruebe que en este caso no nos servir para la firma digital
porque ser imposible comprobarla mediante k =
M
mod p.
Benito
Importancia de en la firma de ElGamal
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 791
1991: National Institute of Standards and Technology (NIST)
propone el DSA, Digital Signature Algorithm, una variante
de los algoritmos de ElGamal y Schnoor.
1994: Se establece como estndar el DSA y se conoce como DSS,
Digital Signature Standard.
1996: La administracin de los Estados Unidos permite la
exportacin de Clipper 3.11 en donde viene inmerso el DSS,
que usa una funcin hash de tipo SHS, Secure Hash Standard.
El peor inconveniente de la firma propuesta por ElGamal es que
duplica el tamao del mensaje M al enviar un par (r, s) en Z
p
y (p).
No obstante, se solucionar con el algoritmo denominado DSS.
Estndares de firma digital

http://www.itl.nist.gov/fipspubs/fip186.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 792
Parmetros pblicos de la firma:
Un nmero primo p (512 bits < p < 1024 bits)
Un nmero primo q (160 bits) divisor de p-1
Un generador de orden q del grupo p
Generador de orden q es aquella raz en el cuerpo Z
p
de
forma que q es un entero que verifica:

q
mod p = 1 As, para todo t:
t
=
t (mod q)
mod p
y eso qu es?
Digital Signature Standard DSS
Eleccin de parmetros: primero se busca el primo p, luego un
primo q que sea divisor de (p-1) y luego un valor g en p, de
forma que si = g
(p-1)/q
mod q 1, ste ser el generador...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 793
Elegir un nmero primo 2
159
bits < q 2
160
bits.
Elegir 0 t 8 y encontrar un nmero primo p que est en
2
511+64t
p 2
512+64t
y que adems q divida a (p-1).
Elegir un generador de orden q de la siguiente forma:
Elegir g, un elemento de p, de forma que se cumpla
la condicin = g
(p-1)/q
mod p 1. Recuerde que esta
raz no ser la misma que la conocida hasta ahora.
Elegir como clave privada un valor aleatorio x dentro del
cuerpo del primo q.
Calcular la clave pblica y =
x
mod p.
Hacer pblico los parmetros q, p, , y.
La eleccin de los parmetros en DSS
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 794
Valores pblicos de A: primos p, q y el generador
Clave secreta de la firma: x (1 x q) aleatorio
Clave pblica de la firma: y =
x
mod p
Para encontrar y firmar un mensaje 1 M p, A ya ha
elegido un valor aleatorio 1 k q
Luego el firmante A calcula:
r = (
k
mod p) mod q
s = [(M + xr) inv (k,q)] mod q
La firma digital de A sobre M ser el par (r, s)
Generacin de firma DSS (A B)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 795
B recibe el par (r, s)
Luego calcula:
w = inv (s, q)
u = M w mod q
v = r w mod q
Comprueba que se cumple:
r = (
u
y
v
mod p) mod q
Si se cumple, B acepta la firma como vlida.
La firma DSS tendr un
tamao menor que q al
reducirse (r, s) a dicho
mdulo, siendo q << p.
Comprobacin de firma DSS por B
Observe que la comprobacin
de la firma se hace sobre r, un
valor en el que no interviene el
valor del mensaje M y que,
adems, la firma se hace ahora
sobre valores de q y no de p.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 796
Adela
Benito
Hola Adela, soy Benito y firmo con DSS.
Sea h(M) = 30 (un elemento de q
B
)
Claves Benito
p
B
= 223; q
B
= 37; = 17
y =
x
mod p = 30
x = 25; k = 12
Como se firmar
sobre valores de q
B
,
los mensajes a firmar
sern 0 h(M) 36.
Firma
1) inv (k, q) = inv (12, 37) = 34
2) r = (
k
mod p) mod q = (17
12
mod 223) mod 37 = 171 mod 37 = 23
3) s = [h(M)+xr][inv (k,q)] mod q = [30+2523]34 mod 37 = 35
4) La firma digital de h(M) = 30 ser: (r, s) = (23, 35)
5) Benito transmite a Adela el bloque: (M, r, s) = (M, 23, 35)
Ejemplo de firma DSS (B A)
Compruebe que son
correctos p, q. Y que
g = 19 genera = 17.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 797
Adela Benito
Comprobacin de la firma
1) w = inv (s, q) = inv (35, 37) = 18
2) u = h(M)w mod q = 3018 mod 37 = 22
3) v = rw mod q = 2318 mod 37 = 7
4) (
u
y
v
mod p) mod q = r ?
5) [(17
22
30
7
) mod 223] mod 37 = 23
En caso afirmativo,
se acepta la firma
Y el tamao ser
menor que q
B
= 37 es
decir << p
B
= 223 que
era precisamente el
punto dbil del
sistema de ElGamal.
Claves Benito
p
B
= 223; q
B
= 37; = 17
y =
x
mod p = 30
x = 25; k = 12
Adela recibe el bloque:
(M, r, s) = (M, 23, 35)

I
g
u
a
l
d
a
d
?
Comprobacin de la firma DSS por A
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 798
Podramos pensar que al bajar el nmero de bits de 1.024 en la firma de
ElGamal a slo 160 (el valor de q) en la firma DSS la seguridad de
dicha firma est comprometida.
No obstante, la firma DSS tiene la misma fortaleza que la de ElGamal
ya que q es un subgrupo de p. Eso quiere decir que para resolver el
problema del logaritmo discreto en q, habr que hacerlo
obligatoriamente en p.
Para evitar diversos ataques tanto en la firma ElGamal como en DSS,
deber firmarse siempre una funcin hash.
DSS requiere el uso del hash h(M) sobre M con SHA-1.
Importante: recuerde que se firma un hash SHA-1 de 160 bits en un
cuerpo q tambin de 160 bits, aunque p sea de 1.024 bits.
Seguridad de los 160 bits de q

http://lists.gnupg.org/pipermail/gnupg-users/2000-August/006286.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 799
No todos los valores h(M) podrn firmarse con DSS.
Para comprobar la firma en recepcin se calcula el valor
w = inv (s, q), donde s = [h(M)+br][inv (k,q)] mod q.
Luego, debe existir dicho inverso.
Si s = 0 no existe el inverso. Luego esta condicin deber
comprobarse en emisin antes de proceder a la firma.
No obstante, la probabilidad de que se d esta situacin en
el cuerpo q de 160 bits ser de uno en 2
160
.
As mismo, en emisin deber verificarse que r 0. En
ambos casos se elegir un nuevo valor de h.
Mensajes que no tienen firma DSS
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 800
Adela
Benito
Hola Adela, vamos a ver qu pasa ahora.
Sea ahora h(M) = 17 (un elemento de q
B
)
Claves Benito
p
B
= 223; q
B
= 37; = 17
y =
x
mod p = 30
x = 25; k = 12
Firma
1) inv (k, q) = inv (12, 37) = 34
2) r = (
x
mod p) mod q = (17
12
mod 223) mod 37 = 171 mod 37 = 23
3) s = [h(M)+br][inv (k,q)] mod q = [17+2523]34 mod 37 = 0
4) La firma digital de h(M) = 17 sera: (r, s) = (23, 0) ... /
Ejemplo de mensaje sin firma por s = 0
Como es obvio si h(M) = 17 + Kq
B
, es decir 17, 54, 91, 128, 165, 202 ...
caemos en un cuerpo de equivalencia en mod q
B
y se repite esta situacin.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 801
SIMTRICAS
Claves: una clave secreta para
ambos comunicantes.
Cifrado: en bloque y en flujo.
Tasas de cifra: MB/seg.
Fiabilidad: baja; necesario un
intercambio previo de clave.
Vida de la clave: efmera, one-
time pad, segundos, minutos.
Algoritmos: Rabin, Desmedt,
Matyas-Meyer, Lamport-Diffie.
Firmas simtricas versus asimtricas
ASIMTRICAS
Claves: comunicantes con
claves secreta y pblica.
Cifrado: slo bloque.
Tasas de cifra: KB/seg.
Fiabilidad: alta; no necesita
intercambio previo de clave.
Vida de la clave: duradera, se
repite, meses, un ao.
Algoritmos: RSA, ElGamal,
DSS, Rabin, curvas elpticas.
Los sistemas de firma digital actuales son con clave pblica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 802
Cuestiones y ejercicios (1 de 2)
1. Por qu cree que un escenario de integridad en la que hay siempre
una tercera parte de confianza activa no sera adecuado en Internet?
2. Si una Autoridad de Certificacin es la tercera parte de confianza,
acta de forma activa o pasiva en la comunicacin? Explquelo.
3. Qu importancia tiene la redundancia del lenguaje en un sistema de
autenticacin? Qu sucedera si no hubiese esa redundancia?
4. Hacemos una autenticacin de mensaje mediante un MAC en el que
el algoritmo es DES. Sera acertado usar modo ECB? Por qu?
5. En un sistema de autenticacin mediante Kerberos, cmo sabe el
que comienza el protocolo (A) que no hay un impostor que intenta
suplantarle? Cmo sabe el que comienza el protocolo (A) que el
segundo usuario (B) o elemento del sistema ha recibido bien la clave
de sesin entregada por el centro de distribucin de claves KDC?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 803
Cuestiones y ejercicios (2 de 2)
6. Cmo podramos usar una funcin hash para comprobar que un
archivo no se ha modificado o que est libre de virus?
7. Nos afirman que podemos autenticar un mensaje usando para ello
slo una funcin hash. Es esto verdadero? Por qu?
8. Por qu se dice que una firma digital tiene condiciones ms fuertes
que una firma manuscrita?
9. Por qu es importante que la firma digital dependa del mensaje?
10. Firme digitalmente con RSA el mensaje M = 121 si los datos del
firmante son p = 19; q = 31, d = 149. Compruebe la firma.
11. Con p = 331 y clave privada 15, vamos a firmar digitalmente con
ElGamal el mensaje M = 250 . Para ello, elija los valores ms
pequeos posibles de los parmetros y h. Compruebe la firma.
12. Repita el ejercicio 10 con DSS y valores propuestos por Ud.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 804
Prcticas del tema 16 (1/3)
Software ExpoCrip:

http://www.criptored.upm.es/software/sw_m001l.htm
1. FIRMA RSA. Con la clave p = 3, q = 11, e = 3, compruebe que la firma de
mensajes numricos dentro del cuerpo {0, 1, ..., 32} son todos valores
distintos y que no puede haber firmas iguales para mensajes distintos.
2. Observe lo que pasa al firmar los mensajes 0, 1, 10, 11, 12, 21, 22, 23, 32.
3. Qu sucede con estos mensajes si ahora se elige la clave e = 13?
4. Con esta ltima clave firme el mensaje numrico N = 13.
5. Compruebe que la firma es correcta. Cmo comprueba esto el programa?
6. Cambie el mensaje numrico a N = 35, vuelva a firmar y a comprobar la
firma. Por qu sucede esto ahora? Qu pasa ahora si N = 2?
7. Con esta ltima clave firme el mensaje hexadecimal N = 1F.
8. Con esta clave firme el mensaje M = Hola; compruebe la firma . Con la
ayuda del programa, vea cmo se generan los bloques para la firma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 805
Prcticas del tema 16 (2/3)
9. Para la clave p = 37, q = 53; e = 25, firme el mensaje M = Por este trabajo
le pagaremos 1.000,00 Euros. Compruebe la firma.
10. Modifique el texto en claro y cambie 1.000,00 por 9.000,00. Vuelva ahora
a comprobar la firma y comente qu ha sucedido y porqu.
11. FIRMA ELGAMAL. Con la clave p = 19, = 10, x = 7, k = 5, compruebe
que las firmas de todos los valores de cuerpo {0, 1, ..., 18} son valores
distintos y no puede haber firmas iguales para mensajes distintos.
12. Qu sucede si supone un generador = 4? Qu hace el programa?
13. Se observa el mismo problema de mensajes no firmables que en RSA?
Existe algo que le llame la atencin? Si no, vea la siguiente pregunta.
14. Genere claves de firma para p = 11, p = 13, p = 17, p = 23, p = 29, p = 37;
y compruebe que la firma del mensaje 0 y p-1 siempre es el mismo valor y
que precisamente no aparece entre los restos de firma el valor p-1.
15. Con una de esas claves firme M = Esta es otra firma. Compruebe la firma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 806
Prcticas del tema 16 (3/3)
16. Para p = 472287102421, = 33, x = 31023, k = 40981, firme y compruebe
estos mensajes: N
10
= 2001, N
16
= FD9C5, M
ASCII
= Hola, qu tal?
17. FIRMA DSS. Para la clave DSS p = 19, q = 3, g = 13, x = 2, k = 2, firme
todos los valores de cuerpo q {0, 1, 2} y compruebe que los valores de las
firmas estn siempre en el cuerpo de q. Son todas distintas?
18. Qu tipo de generador usa el programa? Es un generador de p o de q?
19. Repita el ejercicio anterior para p = 23, q = 11, g = 17, x = 5, k = 9.
20. Para la clave DSS p = 53, q = 13, g = 31, x = 8, k = 6, firme los primeros 7
mensajes numricos N = {0, 1, ..., 6}. Para cada una de ellos observe el
seguimiento de la comprobacin y compruebe manualmente al menos una.
21. Con esta clave firme el mensaje M = A. Puede comprobar la firma?
Repita para M = AB, M = ABC. Repita para esos valores en hexadecimal.
22. Si p = 124540019, q = 17389, g = 110217528, ( = 10083255), k = 9557, y
x = 12496, compruebe que la firma de M = 5246: (r, s) = (34, 13049).
Valores A. Menezes: http://www.cacr.math.uwaterloo.ca/hac/about/chap11.pdf.
Captulo 17
Certificados Digitales y Estndar PKCS
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 21 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 808
Qu son los certificados digitales?
Un certificado digital es un documento que contiene
diversos datos, entre ellos el nombre de un usuario y
su clave pblica, y que es firmado por una Autoridad
de Certificacin (AC).
Como emisor y receptor confiarn en esa AC, el
usuario que tenga un certificado expedido por ella se
autenticar ante el otro, en tanto que su clave pblica
est firmada por dicha autoridad.
Una de las certificaciones ms usadas y un estndar en
la actualidad en infraestructuras de clave pblica PKIs
(Public-Key Infrastructure) es X.509.

http://www.ietf.org/html.charters/pkix-charter.html
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 809
Certificado digital X.509
X.509 est basado en criptografa asimtrica y firma digital.
En X.509 se define un framework (una capa de abstraccin)
para suministrar servicios de autenticacin a los usuarios del
directorio X.500.
La autenticacin se realiza mediante el uso de certificados.
- Un certificado contiene: el nombre de la AC, el nombre
del usuario, la clave pblica del usuario y cualquier otra
informacin como puede ser un un indicador de tiempo
o timestamp.
- El certificado se cifra con la clave privada de la AC.
- Todos los usuarios poseen la clave pblica de la AC.
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 810
Formato del certificado digital X.509
Funcin hash que se cifra con
la clave privada de la AC
Versin
N de serie
Algoritmo
Parmetros
Autoridad de Certificacin
Inicio de la validez
Caducidad de la validez
Nombre del usuario
Algoritmo
Parmetros
Clave pblica del usuario
Firma de la AC
Identificador del algoritmo
Perodo de validez
Clave pblica que se firma
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 811
Campos del certificado digital X.509
V: Versin del certificado (actualmente V3).
SN: Nmero de serie.
AI: identificador del algoritmo de firma que sirve para identificar el
algoritmo usado para firmar el paquete X.509.
CA: Autoridad certificadora.
T
A
: Periodo de validez.
A: Propietario de la clave pblica que se est firmando.
P: Clave pblica ms identificador de algoritmo utilizado y ms
parmetros si son necesarios.
Y{I}:Firma digital de Y por I usando la clave privada de la unidad
certificadora.
CA<<A>> = CA { V, SN, AI, CA, T
A
, A, AP }
Y<<X>> es el certificado del usuario X expedido por la autoridad certificadora Y.
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 812
Autoridades de Certificacin
A B
certificado de B
Autoridad de Certificacin AC
c
l
a
v
e

p

b
l
i
c
a

A
C
c
l
a
v
e

p

b
l
i
c
a

A
C
AC
& &
Autoridad de Certificacin es un
ente u organismo que, de acuerdo
con unas polticas y algoritmos,
certificar -por ejemplo- claves
pblicas de usuarios o servidores.
certificado de A
El usuario A enviar al usuario B
su certificado (la clave pblica
firmada por AC) y ste comprobar
con esa autoridad su autenticidad.
Lo mismo en sentido contrario.
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 813
Elementos de una AC
El sistema de autenticacin debe tener:
Una poltica de certificacin.
Un certificado de la CA.
Los certificados de los usuarios (X.509).
Los protocolos de autenticacin, gestin y obtencin
de certificados:
Se obtienen de bases de datos (directorio X.500).
O bien directamente del usuario en tiempo de
conexin (WWW con SSL).
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 814
Algunas caractersticas de diseo de la AC
Deber definirse una poltica de certificacin
Ambito de actuacin y estructura
Relaciones con otras ACs
Deber definirse el procedimiento de certificacin
para la emisin de certificados:
Verificacin on-line
Verificacin presencial
Deber generarse una Lista de Certificados Revocados
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 815
Funcionamiento de una AC
Puesta en marcha de la AC:
Generar su par de claves.
Proteger la clave privada
con una passphrase.
Generar el certificado de la
propia AC.
Distribucin del certificado de la
AC:
A travs del directorio
X.500.
Por medio de pginas Web.
Podr certificar a servidores y a
clientes.
Si el certificado digital X.509 de un servidor no pertenece a una AC reconocida o
instalada en su programa cliente, aparecer una pantalla similar a la que se muestra.
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 816
Certificado de email X.509 de Verisign (1)
Paso 1
Acceda a la web segura indicada abajo y seleccione navegador.
Introduzca su nombre, direccin de correo y password.
Indique que desea un certificado de prueba gratis por 60 das.
Seleccione el nivel de seguridad que desea para el acceso a su clave
privada; es recomendable elegir el valor alto.
Pulse el botn aceptar.
Paso 2
Observar el mensaje You should receive an e-mail from the Digital ID
Center within the hour at the e-mail address you entered in the
enrollment form. It will contain instructions for installing the Digital ID
y en menos de 10 minutos recibir un email para seguir los pasos 3 y 4.
Pasos 3 y 4 en prxima diapositiva.

https://digitalid.verisign.com/client/enroll.htm
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 817
Certificado de email X.509 de Verisign (2)
Paso 3
Use el Personal Identification Number (PIN) que le envan por correo
que ser parecido a ste 5cd472bd311f89eb25f2511ce5e86b31 y pguelo
en la pgina de VeriSign's secure Digital ID Center que se indica:
https://digitalid.verisign.com/enrollment/mspickup.htm
Pulse el botn de Submit para instalar el certificado en su computador.
Paso 4
El Digital ID
SM
ha sido generado con xito y con los siguientes datos:
Organization = VeriSign, Inc.
Organizational Unit = VeriSign Trust Network
Organizational Unit = www.verisign.com/repository/RPA Incorp. by
Ref.,LIAB.LTD98
Organizational Unit = Persona Not Validated
Organizational Unit = Digital ID Class 1 Microsoft
Common Name = Jorge Ramio
Email Address = jramio@eui.upm.e
sPulsamos el botn Instalar
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 818
Certificado X.509 en Outlook Express
Abra Outlook Express.
Seleccione Herramientas
- Opciones - Seguridad.
Puede seleccionar que
todos sus mensajes
salientes vayan cifrados.
Puede seleccionar que
todos sus mensajes
salientes vayan firmados
digitalmente.
Para mayor informacin
vaya a Opciones
Avanzadas.
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 819
Opciones Avanzadas del certificado X.509
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 820
Caractersticas del certificado X.509 (1)
Si pulsamos en Ids. Digitales, podemos observar nuestro certificado.
Doble clic en nombre
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 821
Caractersticas del certificado X.509 (2)
Observe en la clave pblica RSA el valor e = 010001
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 822
Estndar PKCS
PKCS: Public-Key Cryptography Standards, son un conjunto de
especificaciones tcnicas desarrolladas por Netscape, RSA y otros
desarrolladores de informtica cuyo objeto es uniformizar las tcnicas
y protocolos de la criptografa pblica.
Publicacin de la primera versin 1.0 se hace en el ao 1991.
PKCS forma parte de distintos estndares de hecho como ANSI PKIX,
X9, SET, S/MIME y SSL.
A la fecha existen 14 documentos con ttulos genricos que van desde
PKCS #1 a PKCS #15.
El de mayor trascendencia podra ser PKCS #11 llamado CRYPTOKI.
Mantendremos los ttulos originales en su versin en ingls de RSA
Security Inc. Public-Key Cryptography Standards PCKS.
http://www.rsasecurity.com/rsalabs/pkcs/
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 823
Documentos del estndar PKCS (2002)
PKCS #1: RSA Cryptography Standard
PKCS #2: Incluido ahora en PKCS #1
PKCS #3: Diffie-Hellman Key Agreement Standard
PKCS #4: Incluido ahora en PKCS #1
PKCS #5: Password-Based Cryptography Standard
PKCS #6: Extended-Certificate Syntax Standard
PKCS #7: Cryptographic Message Syntax Standard
PKCS #8: Private-Key Information Syntax Standard
PKCS #9: Selected Attribute Types
PKCS #10: Certification Request Syntax Standard
PKCS #11: Cryptographic Token Interface Standard
PKCS #12: Personal Information Exchange Syntax Standard
PKCS #13: Elliptic Curve Cryptography Standard
PKCS #15: Cryptographic Token Information Format Standard
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 824
PCKS #1 v2.1 del 14 de Junio 2002 (1)
PKCS #1: RSA Cryptography Standard
Tipos de claves: definicin de claves pblica y privada.
Conversin de primitivas: I2OSP (Integer-to-Octet-String primitive) y
OS2IP (Octet-String-to-Integer primitive).
Primitivas criptogrficas cifra: RSAEP (RSA encryption primitive) y
RSADP (RSA decryption primitive). En este ltimo caso se especifica
la operacin tpica para n = pq y la operacin para n = r
1
r
2
r
3
...r
u
.
Primitivas criptogrficas firma: RSASP1 (RSA signature primitive 1)
especificando la operacin tpica para n = pq y la operacin en caso
de que n = r
1
r
2
r
3
...r
u
y RSAVP1 (RSA verification primitive 1).
Esquemas de cifrado: RSAES-OAEP (RSA encryption scheme usando
Optimal Asymmetric Encryption Padding). Especificacin de las
operaciones de cifrado y descifrado.
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 825
PCKS #1 v2.1 del 14 de Junio 2002 (2)
Esquemas de firma con apndice: RSASSA-PSS (RSA signature
scheme with appendix - Probabilistic Signature Scheme). Define la
firma y su verificacin.
Mtodos de codificacin para firmas con apndices: EMSA-PSS
(Encoding Method for Signatures with Appendix - Probabilistic
Signature Scheme). Define operaciones de codificacin y verificacin.
Sintaxis ASN.1: define los identificadores de objetos ANS.1 para las
claves pblica y privada RSA, RSAES-OAEP, RSASSA-PSS, etc.
Tcnicas soportadas: algoritmos funciones hash MD2, MD5, SHA-1 y
los propuestos SHA-256, SHA-384 y SHA-512 as como funciones de
generacin de mscaras: MGF1 (Mask Generation Function 1).
) La patente de RSA ha expirado en septiembre de 2000 no as el nuevo
sistema de cifra RSA con mltiples primos.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 826
Cuestiones y ejercicios
1. Qu es lo que certifica o autentica un certificado digital?
2. Solicitamos un certificado digital a una empresa. Est nuestra clave
privada entre los datos que nos solicita para el alta?
3. Si un certificado digital pierde la validez, qu debemos hacer?
4. Por qu una Autoridad de Certificacin firma una funcin hash?
5. Si Ud. fuese una Autoridad de Certificacin, qu condicin pondra
para expedir con seguridad un certificado a un usuario?
6. Una Autoridad de Certificacin emite certificados digitales de hasta
1.024 bits y duracin un ao. Si ella tiene un certificado digital raz
de 2.048 bits, sera lgico plantear una validez de ste por 10 aos?
7. Qu es y cundo se solicita la revocacin de un certificado digital?
8. Qu significa que la Autoridad de Certificacin deba gestionar una
lista de certificados revocados?
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 827
Prcticas del tema 17
1. Acceda a un gran almacn de su pas que permita realizar compras seguras
por Internet. Si no conoce una direccin Web use, por ejemplo, la pgina
http:www.elcorteingles.com en Espaa, ponga algn artculo en el carrito
de la compra y comience el proceso necesario para efectuar el pago, sin
concluirlo, para abrir una sesin SSL. Observe que al pasar el ratn sobre
el candado cerrado de su navegador, aparece SSL 128 bits. Qu significa?
2. Haga doble clic en ese candado y observe todas las caractersticas del
certificado de ese servidor web.
3. Abra la pestaa de la clave pblica RSA y observe los ltimos 6 dgitos en
hexadecimal 010001. Copie este valor en la calculadora de Windows y
luego convirtalo a decimal. Compruebe que este valor es el mismo para
otros servidores seguros. Le dice algo este valor?
4. En las propiedades u opciones de su navegador, abra los certificados de
distintas Autoridades de Certificacin y observe sus caractersticas.
Captulo 18
Aplicaciones de Correo Seguro
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 97 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 829
El correo electrnico seguro
En sistemas abiertos como en el caso de Internet, el correo
seguro se logra a travs de la plataforma S/MIME acrnimo
de Secure Multipurpose Internet Mail Extensions.
A comienzos de los aos 90 hacen su aparicin dos sistemas
o aplicaciones de correo electrnico seguro:
PEM: Private Enhanced Mail
PGP: Pretty Good Privacy
De los dos, ha sido PGP quien se ha convertido en un estndar
de hecho en clientes de e-mail seguro en entornos cerrados.
Por lo tanto veremos slo algunos aspectos genricos de PEM
y analizaremos ms en profundidad PGP.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 830
Private Enhanced Mail PEM
Es una propuesta de la IETF Internet Engineering Task Force
en 1985. El documento tcnico se publica en 1993.
Las especificaciones tcnicas estn en las RFCs Request For
Comments nmeros 1421, 1422, 1423 y 1424.
Se usa conjuntamente con el protocolo SMTP Simple Mail
Internet Protocol.
Cifrado de la informacin: DES modo CBC.
Generacin y gestin de claves: RSA de 508 a 1024 bits.
Estructura de certificados segn la norma X.509.
Clave de sesin: DES modo ECB, TripleDES-EDE.
Firma digital: RSA, MD2, MD5.

http://www.ietf.org/rfc/rfc1421.txt
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 831
Implementacin de PEM
Es compatible con otros modelos de mensajera como, por
ejemplo, X.400.
PEM se implementa en el nivel de aplicacin:
es independiente de los protocolos de los niveles OSI o
TCP/IP inferiores.
es independiente de los sistemas operativos o del
ordenador.
Se puede implementar como un mdulo independiente que
trabaje con el cliente de correo habitual para el usuario.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 832
Servicios de seguridad en PEM
Servicios de seguridad contemplados:
Autenticacin del origen.
Confidencialidad.
Integridad del mensaje.
No repudio del origen cuando se utiliza gestin de clave
con algoritmo de clave asimtrica.
Servicios de seguridad no contemplados:
Control de acceso.
Confidencialidad del trfico de mensajes.
No repudio del mensaje por parte del receptor.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 833
Formato e implementacin de PEM
TIS/PEM
Plataformas UNIX. Trusted Information
System. Cdigo fuente disponible para
los ciudadanos o empresas de Estados
Unidos y Canad. Usa una jerarqua de
certificacin mltiple.
RIPEM
Implementa parte de los protocolos PEM
sin certificados para autenticacin de
claves. Gratuito para aplicaciones no
comerciales. Exportacin prohibida fuera
de Estados Unidos. Existen versiones
utilizadas en todo el mundo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 834
Pretty Good Privacy PGP
Philip Zimmermann publica la versin 1.0 de PGP en 1991 con
mnimos requisitos de hardware y software.
En 1992 aparece la versin 2.0 en la que ya participan
programadores de todo el mundo. Su cdigo se escribe fuera de
USA para evitar las leyes restrictivas respecto al software
criptogrfico y sus problemas legales.
En 1993 aparece la versin 2.3a muy popular en sitios FTP y
vlida para varias plataformas de sistemas operativos.
En 1994 participa en el proyecto el Massachusetts Institute of
Technology MIT y aparecen las versiones 2.4, 2.5 y 2.6.
La versin 2.6.3i se populariza a nivel mundial.

http://www.philzimmermann.com/ES/background/index.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 835
Nota aclaratoria sobre versiones de PGP
Aunque hay ms de una oferta de software para correo seguro que
el programa PGP, ste se ha convertido en un estndar de hecho.
Si bien las ltimas versiones del programa orientadas a entornos
Windows presentan altas prestaciones, las operaciones bsicas
siguen siendo las mismas que en la conocida versin 2.6.3i.
Las nuevas versiones de PGP en entorno Windows cambian muy
rpidamente por lo que resulta muy difcil tener unos apuntes
permanentemente actualizados. Por ello, se usar la versin 2.6.3i
como versin simple para la explicacin de las operaciones de
cifra y firma con PGP y, posteriormente, haremos un repaso de las
caractersticas de la versiones 6.5.1 y 8.0, una de las ltimas.
La filosofa de las nuevas versiones es exactamente la misma...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 836
Tutorial de PGP 2.6.3i
Si no conoce PGP o no ha trabajado nunca con este entorno,
le recomiendo que descargue desde la pgina Web de la Red
Temtica CriptoRed el archivo del Tutorial de PGP 2.6.3i en
formato html que se indica.
Esta aplicacin le servir para aprender rpidamente los
comandos y prestaciones de esta versin de PGP, muy similar
a las actuales. PGP 2.6.3i ocupa menos que un disquete de 1,4
MB, aunque todas sus operaciones son en modo comando.

http://www.criptored.upm.es/software/sw_m001g.htm

http://www.criptored.upm.es/software.htm#freeware
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 837
Caractersticas de PGP 2.6.3i
PGP, en su versin 2.6.3i (internacional) se convirti a
mediados de la dcada de los 90 en un estndar de hecho.
De hecho, muchos usuarios siguen fieles a esta versin.
Cifra todo tipo de datos en entornos MS-DOS y UNIX. Su
orientacin principal es el cifrado de los datos y la firma
digital en correo electrnico.
Los algoritmos bsicos que usa son:
IDEA para cifrar con sistema de clave secreta.
RSA para intercambio de claves y firma digital.
MD5 para obtener la funcin hash de la firma digital y
para recuperar clave privada asimtricas y cifrado local.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 838
Algoritmos usados en PGP 2.6.3i
Compresin ZIP
Se comprime el mensaje en claro y la firma para
almacenarlo o transmitirlo.
Generacin de claves RSA, MD5
Genera una clave pblica y otra privada, encontrando
dos nmeros primos muy grandes. El valor privado se
guarda cifrado con IDEA usando como clave un resumen
MD5 de la frase de paso secreta.
Cifrado Convencional IDEA
Cifra el mensaje con una clave de sesin de 128 bits
(nica) generada en el emisor de forma aleatoria.
Intercambio de claves IDEA, RSA
Cifra la clave de sesin IDEA con la clave pblica del
destinatario con RSA y la aade en el criptograma.
Firma Digital MD5, RSA
La funcin hash MD5 genera un resumen de 128 bits,
que representa al mensaje en claro completo, y que se
cifra en RSA con la clave privada del emisor. Se aade
al mensaje enviado.
Compatibilidad e-mail Base-64
Permite transmitir el mensaje a todo tipo de aplicaciones
e-mail. Convierte los octetos en caracteres imprimibles.
Segmentacin
Divide el criptograma final en bloques de menos de
50.000 bytes para su correcta transmisin en Internet y
su recuperacin.

- Operacin - - Algoritmo - - Descripcin de su funcin -
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 839
Caractersticas del cifrado local
Esta operacin sirve para mantener los archivos
protegidos, por ejemplo en el disco duro.
El acceso al texto en claro slo ser posible si se
conoce una clave o contrasea que es la frase de
paso usada al cifrar.
Recuerde que si despus de cifrar el archivo borra
fsicamente el texto en claro -operacin que
realiza una grabacin de unos y ceros aleatorios
en la zona de almacenamiento del disco- le ser
imposible recuperarlo si olvida la contrasea.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 840
Pasos del cifrado local con IDEA
Pasos:
1. PGP solicita una frase de paso: sta debe ser lo
suficientemente larga como para evitar ataques por
combinaciones.
2. Se aplica el algoritmo de resumen MD5 a esa
contrasea, generando as una clave de 128 bits.
3. Con esa clave, PGP cifra el documento con el
algoritmo IDEA y le pone como extensin .pgp.
4. Como una opcin, permite luego hacer un borrado
fsico del archivo en claro.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 841
Esquema de cifrado local con IDEA
Mensaje en
claro
Clave Local
de 128 bits
Mensaje
cifrado
El documento se comprime
con el algoritmo ZIP
El archivo cifrado
puede guardarse,
por ejemplo, en
disco.
Borrado del texto
en claro opcional.
La contrasea es una frase de paso.
Se recomienda que tenga espacios,
signos y caracteres de puntuacin
CONTRASEA
Cada nuevo cifrado requiere una contrasea. Esta puede ser igual o distinta.
Recuerde que a igual contrasea (frase de paso), tendremos igual hash.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 842
Operaciones con claves asimtricas
Las operaciones de PGP para cifrar, descifrar, firmar y la
comprobacin posterior de la firma digital, usan los
algoritmos de funciones hash, de clave pblica y de clave
secreta ya vistos en captulos anteriores de este curso.
Para poder enviar y recibir correo seguro, es necesario
contar al menos con las siguientes claves:
Clave pblica del destinatario.
Par de claves asimtricas del emisor.
Generacin de claves con RSA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 843
Generacin de claves asimtricas tipo RSA
Una vez instalado PGP, se procede a la generacin de
claves asimtricas del usuario propietario.
Se elige el tamao del mdulo n, por ejemplo 1.024 bits.
PGP generar un par de nmeros primos e (clave pblica)
y d (clave privada) de forma que ed mod (n) = 1.
Para una mayor facilidad en el descifrado en destino, el
valor de la clave pblica e ser pequeo. Un valor tpico es
el nmero primo 65.537 = 2
16
+1, en hexadecimal 10001.
PGP pedir una contrasea o passphrase y con ella y MD5
generar una clave de 128 bits con la que cifrar la clave
privada antes de almacenarla en el disco.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 844
Anillos de claves asimtricas
Con las claves pblica y privada generadas y otras
claves pblicas que el usuario podr importar de
otros usuarios, se crean dos anillos de claves:
Anillo de claves pblicas: archivo pubring.pgp
en el que se guardan las claves pblicas del
usuario propietario (puede tener ms de una
identidad) y las claves pblicas importadas.
Anillo de claves privadas: archivo secring.pgp
en el que se guarda la o las claves privadas del
usuario propietario (ms de una identidad).
Nota: estos anillos cambiarn su extensin en
las nuevas versiones por pkr.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 845
Estructura del anillo de claves privadas
Sellado de tiempo Clave ID* Clave pblica Clave privada cifrada ID usuario
T
1
e
1
mod 2
64
Clave pb. 1 Clave priv. 1 Usuario 1
--- --- --- --- ---
T
i
e
i
mod 2
64
e
i
E
H(FPi)
(d
i
) Usuario i
--- --- --- --- ---
T
n
e
n
mod 2
64
Clave pb. n Clave priv. n Usuario n
Descripcin de los campos
(*) Se usa este campo para la indexacin de la tabla en ambos anillos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 846
Campos de los anillos de claves
Sellado de tiempo:
Fecha y hora de la generacin del par de claves.
Clave ID:
Identificador de clave (ltimos 64 bits de la clave pblica e).
Clave pblica:
Nmero primo e, inverso del primo d en el cuerpo (n).
Clave privada cifrada:
Cifra E
H(FPi)
de la clave privada d con IDEA y la funcin
hash de la frase de paso del propietario como clave secreta.
ID usuario:
Identificacin del usuario, normalmente direccin de email.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 847
Estructura del anillo de claves pblicas (1)
Sellado de tiempo Clave ID* Clave pblica Confianza propietario ID usuario
T
1
e
1
mod 2
64
Clave pb. 1 flag_confianza 1 Usuario 1
--- --- --- --- ---
T
i
e
i
mod 2
64
e
i
flag_confianza i Usuario i
--- --- --- --- ---
T
n
e
n
mod 2
64
Clave pb. n Clave priv. n Usuario n
...
...
...
...
contina en prxima diapositiva
(*) Se usa este campo para la indexacin de la tabla en ambos anillos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 848
Estructura del anillo de claves pblicas (2)
Legitimacin de clave Firma(s) Confianza de Firmas
flag_confianza 1
--- --- ---
flag_confianza i
--- --- ---
flag_confianza n
...
...
...
...
viene de la diapositiva anterior
Con la clave pblica del destinatario ya podremos
enviar correo cifrado y/o firmado. Pero ... cmo
se gestionan las claves en PGP?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 849
Gestin del anillo de claves pblicas
?
?
?
A1 Nivel A
B1 B2 B3 Nivel B
D1
Nivel D
X Y
X es firmado por Y
Propietario del anillo
C2 C4 C5 C3 Nivel C C1
A1 cree en el propietario de la clave para firmar otra clave
A1 cree parcialmente en el propietario de la clave para firmar otra clave
?
La clave est firmada por un
usuario o Autoridad que no
est en anillo de claves de A1
Ms...
A1 cree en legitimidad de clave
A1 no cree que la clave sea legtima
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 850
Otros escenarios de confianza en PGP
D1
?
A1
B1 B3
C2 C1
D2
X Y
X es firmado por Y
B2
?
C1
Otras situaciones en anillo de claves
D1 D1
Nodo hurfano
con firmas no
reconocibles
C1 D1
estados iniciales
?
Observe cambios
en estados finales
A1 cree en el propietario de la clave para firmar otra clave
A1 cree parcialmente en el propietario de la clave para firmar otra clave
PGP hace que A1 crea en la legitimidad de las claves pues tienen al menos dos
firmas parciales (B1-B2)o una completa (C2) pero no da confianza para firmar
A1 no cree que la clave sea legtima
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 851
Problema en estos escenarios de confianza
La gestin de claves en PGP
se basa en la confianza mutua
y es adecuada solamente para
entornos privados o intranet.
En un sistema abierto como es Internet y aplicaciones
como el comercio electrnico, esta situacin y otras
ms que pueden darse en este sistema de gestin de
claves por confianza mutua, resulta inaceptable.
La solucin, que PGP ya contempla en sus ltimas
versiones, es la aceptacin de las Autoridades de
Certificacin como certificadores de claves pblicas.
Los amigos de
tus amigos sern
mis amigos?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 852
Pasos cifrado con clave pblica de destino
Pasos:
1. PGP genera un nmero aleatorio de 128 bits que
ser la clave de sesin.
2. Se cifra el mensaje con dicha clave usando IDEA.
3. Se cifra la clave de sesin con la clave pblica RSA
del destinatario y se aade al criptograma.
4. Se aade el identificador ID de la clave pblica del
destinatario a la clave de sesin cifrada en el paso 3
como indicativo de la identidad del receptor.
Recuerde que el correo electrnico no es en general una comunicacin
en tiempo real por lo que, aunque se enva una clave para descifrar el
criptograma en recepcin, no se trata de una clave de sesin en los
mismos trminos que se usa, por ejemplo, en una comunicacin SSL.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 853
Cifrado con clave pblica de destino
Mensaje en
claro
Clave pblica
del destinatario
Mensaje
cifrado
Clave de
sesin
cifrada
Clave
de
sesin
Se busca en el anillo de
claves pblicas del emisor
El documento se comprime
antes con el algoritmo ZIP
Necesitamos una
clave de sesin...
Por compatibilidad de
sistemas clientes de
correo, se le aade
armadura (Base 64)
antes de transmitirlo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 854
Pasos descifrado con clave privada destino
Pasos:
1. PGP busca en la cabecera del criptograma el
identificador de usuario ID (receptor) que se ha
aadido en la clave de sesin cifrada.
2. Se busca la clave privada del identificador ID en el
anillo de claves privadas del receptor.
3. Se accede a la clave privada en claro, descifrndola
con IDEA al introducir el propietario ID su frase de
paso y el hash MD5 entregue la clave de descifrado.
4. Con la clave privada se descifra la clave de sesin.
5. Con la clave de sesin se descifra el criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 855
Descifrado con la clave privada de destino
Se busca en el anillo de
claves privadas del receptor
Mensaje
cifrado
Clave de
sesin
cifrada
Clave privada
destino cifrada
CONTRASEA
Clave privada
descifrada
Clave
de
sesin
Mensaje en
claro
Se le quita finalmente la armadura y se descomprime
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 856
Firma digital RSA
Mensaje en
claro
Bloque de
firma
digital
Mensaje en
claro
Clave privada
cifrada IDEA
CONTRASEA
Clave privada
descifrada
Se va a firmar un mensaje en claro
Necesitamos nuestra
clave privada...
Si se desea se puede
enviar tambin cifrado
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 857
Comprobacin de la firma digital RSA
Clave pblica
del emisor
Bloque de
firma digital
Mensaje en
claro recibido
Se calcula en destino la funcin hash del mensaje y comparamos
IGUALES ?
Firma
correcta
Firma
incorrecta
H(M)
enviado
H(M)
calculado
S
No
Se busca la clave pblica del
emisor para descifrar la firma
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 858
Formato de un mensaje PGP dirigido a B
NOMBRE DEL FICHERO
IDENTIFICADOR DE CLAVE PUBLICA DEL RECEPTOR
CLAVE DE SESION
SELLO DE TIEMPO
IDENTIFICADOR DE CLAVE PUBLICA DEL EMISOR
RESUMEN DEL MENSAJE
TEXTO DEL USUARIO
COMPONENTES
DE LA FIRMA
COMPONENTES
DEL MENSAJE
DOS PRIMEROS OCTETOS DEL RESUMEN
SELLO DE TIEMPO
COMPONENTES DE
CLAVE DE SESION
ZIP
E(e
B
)
R64
Orden de las operaciones
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 859
Los tiempos cambian, pero ...
La mtica versin de PGP 2.6.3 del MIT se convierte rpidamente
en el software de libre distribucin freeware ms popular en el
mundo de los PCs y especialmente en entornos de correo
electrnico: usa cifra y firma con criptografa calificada como fuerte.
Las versiones en entorno Windows a travs de Network Associates
presentan opciones avanzadas, servicios de red para seguimiento
de paquetes y autenticacin mediante Autoridades de Certificacin.
Existe una versin freeware para usos no comerciales .
Las versiones 5 y 6 tuvieron su cdigo fuente abierto, en la 7 el
cdigo deja de ser pblico y a partir de la versin 8.0 (diciembre
2002) con PGP Corporation se ha liberado otra vez el cdigo.
Ha vuelto otra vez la cordura? Aqu puede haber varias opiniones....
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 860
Algoritmos en nuevas versiones de PGP
Generacin de claves
RSA: 1.024 - 4.096 bits
Diffie y Hellman: 1.024 - 4.096 bits
Firma digital
DSS Digital Signature Standard: 1.024 bits
Cifrado
AES, CAST, IDEA, TripleDES, Twofish
Resumen
SHA-1 (160 bits) y MD5 (128 bits)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 861
Algunas versiones de PGP en Windows
Desde la versin 5.0 hasta las actuales (versiones 8.0 y siguientes) los
esquemas de cifrado local, cifra asimtrica y firma digital han cambiado
muy poco aunque presentan mayores prestaciones. No obstante, recuerde
que algunas prestaciones slo estarn activadas en versiones comerciales.
PGP 7.0.3
PGP 6.5.1 PGP 8.0
Veremos algunas operaciones de estas tres versiones con mayor detalle.
Recuerde, eso s, que la versin 7.0.3 no tiene su cdigo fuente abierto.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 862
Instalacin de la versin PGP 6.5.1
PGP 6.5.1 internacional aparece en el ao 1999. Puede
considerarse como una de las versiones seguras mejor
optimizadas desde la primera en entorno Windows.
Puede descargar
estas versiones
desde el servidor
http://www.pgpi.org
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 863
Carpetas y programas de PGP 6.5.1
Encontrar aqu
un excelente
manual de PGP
en formato PDF
Tal vez el programa ms
importante de PGP
La instalacin crear esta carpeta
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 864
Opciones generales de PGP 6.5.1
La generacin rpida
de claves slo puede
hacerse para valores
DH de una longitud
predeterminada.
Se puede limitar el
tiempo de descifrado
de la frase de paso en
memoria cach.
El borrado fsico de
datos y ficheros se
hace escribiendo 1s y
0s aleatorios en los
cluster, desde 8 hasta
32 veces.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 865
Opciones de ficheros de PGP 6.5.1
Los archivos donde
guarda las claves
pblicas y claves
privadas siguen
llamndose pubring y
secring pero ahora, a
diferencia de versiones
anteriores, usa como
extensiones pkr.
El archivo de semilla
permite generar
nmeros aleatorios
para crear claves.
En versiones anteriores haba que mover el ratn
para obtener una semilla; hoy se hace con datos
aleatorios propios de cada computador.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 866
Opciones de e-mail de PGP 6.5.1
El PGP/MIME slo
funciona con plugins.
Se puede pedir que
cifre, firme o descifre
y compruebe firma por
defecto al enviar o
abrir mensajes.
Si usa Secure Viewer,
al descifrar un archivo
ste slo se muestra en
la pantalla usando para
ello una tcnica de
enmascarado que evita
los ataques por captura
de radiofrecuencias del
teclado, TEMPEST.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 867
Opciones de atajos de PGP 6.5.1
La opcin de usar
teclas para atajos es
poco interesante pero
puede activarse si se
desea.
Tal vez se podra
haber ahorrado esta
ventana.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 868
Opciones de servidores de PGP 6.5.1
A estos servidores se
puede enviar nuestra
clave pblica para que
los usuarios accedan
ms fcilmente a ella.
Es interesante estar
sincronizado con el
servidor por el tema de
las claves revocadas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 869
Opciones de ACs de PGP 6.5.1
Tambin
VeriSign OnSite
y Entrust
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 870
Opciones avanzadas de PGP 6.5.1
IDEA era en versiones
anteriores el algoritmo
de cifra por defecto.
El aviso sobre uso de
Additional Decryption
Key (ADK) significa
que el administrador
del sistema puede usar
una clave extra que le
permite descifrar lo
cifrado, en caso de
necesidad o por un
requerimiento judicial.
El formato compatible
es el cdigo base 64.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 871
El programa PGPtray de acceso directo
Lamentablemente PGPnet no se
incluye en nuevas versiones freeware
Si PGPnet est instalado, en
la barra de tareas, al lado del
candado de PGPtray, nos
aparecer un icono vertical
como se ve en la figura.
La ventana actual cifra
texto y no documentos
con formato.
El uso de portapapeles
es la solucin si no
tenemos el plugin para
correo electrnico. Barra de tareas del PC
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 872
Barra flotante de PGPtools
PGPkeys
Encrypt
Sign
Encrypt & Sign
Decrypt/Verify
Wipe
Freespace Wipe
No es muy cmodo y resulta mejor usar
el men contextual con el botn derecho
del ratn. En este caso
sobre el archivo Kerberos_borrador.doc
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 873
Generacin de claves con PGPkeys 6.5.1
Esta es la primera pantalla que aparece una vez instalado PGP.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 874
Nombre del usuario y su correo
No es necesario que
la direccin de
correo sea la real.
No obstante, sirve
para los que se
quieran comunicar
con nosotros sepan
que esa clave es real
y pertenece a esa
direccin de email.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 875
Eleccin del tipo de clave asimtrica
El estndar para la
generacin de las
claves asimtricas
es en la actualidad
Diffie y Hellman
junto con la Digital
Signature Standard,
y se representar
como DH/DSS.
Tambin puede usar
claves RSA que son
compatibles con las
versiones anteriores
de PGP.
Habr nuevas
sorpresas en
otras versiones
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 876
Eleccin de la longitud de la clave
Si genera claves de
longitud distinta a
los valores que se
proponen, puede
tardar bastante
tiempo generarlas.
Algo similar sucede
si no usa la opcin
generacin rpida
de claves.
Es recomendable
que use una clave
de 2.048 bits. Esta
se generar slo en
esta fase.

Jorge Rami Aguirre Madrid (Espaa) 2006


Captulo 18: Aplicaciones de Correo Seguro
Pgina 877
Clave sin caducidad
Puede optar porque
su clave no caduque
nunca eligiendo esa
opcin que aparece
por defecto, o bien...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 878
Clave con caducidad
Puede optar que la
clave caduque de
acuerdo con un
calendario que nos
muestra PGP.
En el ejemplo la
clave tiene validez
desde el 4 de junio
de 2000 al 4 de
junio de 2001.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 879
Frase de paso para cifrar la clave privada
La frase de paso
debe tener varias
palabras para que
sea difcil un ataque
por diccionario.
Si quita la opcin
Hide Typing, podr
ver lo que escribe.
Por seguridad, no
est permitido usar
el portapapeles para
copiar la frase de
arriba en la ventana
de confirmacin.
No muy buena
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 880
Generacin de los nmeros primos
PGP genera dos
primos tanto para
las claves RSA (los
valores p y q) como
para DH/DSS, en
este caso el primo p
para el intercambio
de clave y el primo
q para la firma DSS.
Normalmente tarda
pocos segundos si
se eligen los valores
estndar que nos
propone PGP.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 881
Envo de la clave al servidor de claves
Si se desea y la
clave es una clave
real y de trabajo,
sta se puede enviar
a un servidor.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 882
Generacin de clave concluida
Se ha concluido
satisfactoriamente la
generacin del par
de claves pblica y
privada que se
guardarn en los
anillos pubring.pkr
y secring.pkr.
La clave privada se
guarda cifrada con
una clave de sesin
que se genera al
aplicar una funcin
hash a la frase de
paso del propietario.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 883
Visualizacin de la clave de Benito
Por defecto, el propietario se firma la clave pblica con su clave privada.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 884
Exportacin de la clave pblica de Benito
Botn
derecho
del ratn
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 885
Claves de dos usuarios para un ejemplo
U1
U2
Frase de paso (muy mala) para descifrar la clave privada de este usuario
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 886
Inclusin de fotografa en clave pblica
Usuario al que se
le aade una
fotografa en
propiedades.
Se firma la fotografa
En negrita aparece el usuario por defecto (Benito).
No es necesario que lo sea para esta operacin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 887
Las claves pblicas los amigos de Xfiles
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 888
Usuario por defecto y clave revocada
El usuario en negrita
es aquel que se ha
definido por defecto.
Todas las cifras,
firmas y descifrados
sern suyos si no se
cambia el status.
En cursiva: usuario
cuya clave ha sido
revocada o bien ha
caducado su validez.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 889
Ejemplo de cifra y firma con portapapeles
El texto se escribe
con WordPad o con
el Bloc de Notas y
luego se copia al
portapapeles.
Si lo desea tambin
puede crear el texto
con la opcin Edit y
copiarlo luego al
portapapeles.
Las operaciones
(slo sobre textos)
se realizarn en el
portapapeles por lo
que en este entorno
no crear archivos.
Era el usuario
por defecto al
realizar este
ejercicio.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 890
Destinatario y frase de paso para la firma
Se elige el destino y se
arrastra hacia la zona de
destinatarios. Puede ser
ms de uno y hacerlo con
doble clic. Para quitar a
un receptor se hace doble
clic sobre l.
Como se va a firmar, PGP
pedir la frase de paso del
emisor, la agente Scully.
Al trabajar con el portapapeles,
el archivo cifrado siempre
estar en formato base 64.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 891
Documento portapapeles formato base 64
Todo el texto que hay en
el portapapeles, incluido
BEGIN PGP y END PGP,
puede ahora copiarse en
el cuerpo del cliente de
correo electrnico.
Si desea enviar por el
cliente de correo un
archivo adjunto cifrado
y/o firmado, deber crear
primero ese documento
con cualquier programa
como Word, Excel, etc. y
aplicar sobre el archivo el
men contextual del
botn derecho del ratn.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 892
Descifrado del criptograma por destinatario
Introducimos la clave solicitada
para descifrar...
Aunque el usuario por defecto era
Scully, al pedir descifrar lo del
portapapeles, PGP detecta que el
receptor es el usuario Mulder.
No importa quin
sea el usuario por
defecto...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 893
Mensaje en claro y firma comprobada
Comprobacin de la firma
Descifrado del
criptograma
Texto en claro
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 894
Otras operaciones con PGP
PGP permite hacer otras operaciones interesantes:
Dividir (split) una clave privada en varias subclaves, de
forma que para deshacer una operacin de cifra o firmar un
documento se requiere un umbral de estas subclaves dadas
por diseo. Est basado en el esquema de Blakely-Shamir.
Firmar las claves pblicas de otros usuarios con distintos
niveles de confianza.
Revocar una clave, habilitar o deshabilitar una clave.
Enviar, buscar y actualizar claves desde servidores.
Cifrar con la opcin slo para tus ojos, crear grupos, etc.
Le recomiendo que stas y otras operaciones las realice
a modo de ejercicio, instalando PGP en su computador.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 895
PGP versin 7.0.3
Es bsicamente el mismo programa de la versin 6.5.1 pero
con ligeras diferencias:
Los mayores cambios se observan en men PGP Options.
Incluye opcin de descifrado automtico muy interesante.
Incluye dos nuevos algoritmos: AES y Twofish
La creacin de claves es de forma automtica DH/DSS con
1.024 bits. Si queremos crear claves RSA, debemos entrar
obligatoriamente en la opcin experto.
Aade opciones de configuracin de VPNs.
El peor inconveniente es que su cdigo no es pblico por lo que nadie
puede asegurar que el programa haga exactamente lo que dice que hace,
por ejemplo la fortaleza de la cifra, proteccin ante ataques tempest, etc.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 896
Opciones de VPN en PGP 7.0.3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 897
Autenticacin VPN en PGP 7.0.3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 898
Opciones VPN avanzadas en PGP 7.0.3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 899
Cifrado local de ficheros con PGP 7.0.3
Podemos usar el
botn derecho del
ratn sobre archivo
Leame.doc...
Elegimos la opcin cifrado convencional
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 900
Descifrado de ficheros con PGP 7.0.3
El archivo queda cifrado, con icono de
PGP y extensin pgp. Observe que el
archivo original permanece porque no
hemos activado la opcin wipe original.
Pinchando dos veces sobre el icono...
Si olvidamos la clave y usamos wipe,
nunca podremos recuperar el archivo!
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 901
Cifrado en modo SDA con PGP 7.0.3
Opcin SDA: Self
Decrypting Archive
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 902
Descifrado SDA con PGP 7.0.3
Este es un archivo
ejecutable y se descifra
de forma automtica
haciendo doble clic
sobre l, sin necesidad
de que el usuario de
destina deba tener PGP
instalado en su PC...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 903
Borrado fsico de archivos con PGP 7.0.3
Graba 0s y 1s aleatorios en los clster del disco.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 904
PGP versin 8.0
Las operaciones sobre archivos para cifra y firma digital
siguen siendo muy similares a las versiones anteriores. La
oferta de producto, adems de la versin freeware contempla:
PGP Desktop
PGP Desktop Upgrade to Enterprise
PGP Enterprise
PGP Mobile
PGP Personal
Adems de las carpetas de instalacin, veremos algunas
de las opciones de configuracin con diferencias notables
respecto a las versiones anteriores.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 905
Carpeta e iconos de PGP versin 8.0
La versin 8.0 se instala en
la carpeta PGP Corporation
que cuelga de la carpeta de
C:/Archivos de Programa.
Incluye un nuevo
programa: PGPdisk
El programa PGPmail
es el antiguo PGPtools
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 906
Programa PGPdisk
El programa PGPdisk
permite montar una
seccin del disco como si
se tratase de una unidad
ms en su PC.
De esta forma toda la
informacin que all se
almacene estar protegida
por una clave.
Desgraciadamente esta
opcin no viene incluida
en la edicin freeware.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 907
Opciones generales de PGP 8.0
Incluye al igual que en la
versin 7.03 la opcin de
Single Sign On. Consiste
en permitir la cifra/firma
digital de documentos
durante un tiempo dado,
sin tener que introducir
en cada uno de ellos la
frase de paso para
acceder a clave privada.
Las dems opciones son
las mismas, con ligeras
modificaciones.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 908
Opciones avanzadas de PGP 8.0
El algoritmo por defecto
es el nuevo estndar
AES (Rijndael) y cambia
Blowfish por Twofish.
Incluye la opcin de usar
tarjetas inteligentes para
almacenar y gestionar
claves.
Se puede configurar un
backup automtico del
anillo de claves al cerrar
el programa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 909
Acceso a Wipe Free Space desde PGPmail
Desde PGPtray se
accede a PGPmail
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 910
Free Space Wipe con PGP 8.0
Seleccionamos la unidad en la que
vamos a borrar archivos temporales y
el espacio libre al final del cluster de
cada archivo del disco.
Se elige el nmero de pasos que
har el programa de borrado.
Nota: es una accin que toma
bastante tiempo. En este caso
de unidad A:\ y con slo dos
archivos, tres pasadas han
significado ms de 7 minutos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 911
Recomendaciones con las claves de PGP
Observe que si crea nuevas claves y cierra el programa,
PGP le avisar que es recomendable hacer una copia de
seguridad de sus nuevos pares de claves asimtricas.
Esto es as porque cualquier persona que conozca algo de
PGP y entre en su computador, puede abrir el programa
PGPkeys y borrar las claves. Aunque pueda parecerle poco
lgico, no se pide ninguna clave para esta operacin.
Por lo tanto, si trabaja con PGP de forma frecuente, haga
de vez en cuando un volcado de sus claves asimtricas y de
las claves pblicas externas como copia de seguridad.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 912
GnuPG: Gnu Privacy Guard
GnuPG es un reemplazo completo y libre para PGP.
Debido a que no utiliza el algoritmo patentado IDEA,
puede ser utilizado sin restricciones. GnuPG es una
aplicacin que cumple el RFC 2440 (OpenPGP).
La versin 1.0.0 fue publicada el 7 de septiembre de 1999.
La versin actual a comienzos de 2005 es la 1.4.0.
GnuPG es Software Libre. Puede ser utilizado, modificado
y distribuido libremente bajo los trminos de la Licencia
Pblica General de GNU.
Texto sacado de la web de GnuPG

http://www.gnupg.org/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 913
Correo seguro a travs de S/MIME
S/MIME: Secure Multipurpose Internet Mail Extensions
A diferencia del PGP estndar, que se basa en la confianza entre
los usuarios, S/MIME usa certificados digitales X.509 entregados
por una Autoridad de Certificacin que los clientes de correo
deben reconocer como tal.
Aadir servicios de cifrado y firma en los clientes de correo
(Outlook Express, Netscape Messenger, ...) en formato MIME.
Crea una especie de sobre en el que se envuelven los datos
cifrados y/o firmados.
Usa plataformas de estndares PKCS, Public-Key Cryptography
Standards.

http://www.imc.org/smime-pgpmime.html
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 914
Cuestiones y ejercicios (1 de 4)
1. Usando la tabla correspondiente represente en base 64 los siguientes
mensajes ASCII: M
1
= AMIGOS, M
2
= Qu pasa?
2. Instale una versin de PGP, vaya a la carpeta del programa y luego
imprima el documento que ver en la carpeta documentation.
3. Con cualquier versin de PGP cifre de forma local y con armadura
(base 64) un archivo que haya creado con el bloc de notas y observe
los rellenos que introduce en el criptograma y al final de l. Aada
una letra al texto en claro y vuelva a comparar los textos ASC.
4. Cifre el documento TXT anterior y observe la salida ASC. Vuelva a
cifrarlo y observe la salida. Coinciden? Qu ha pasado?
5. Es posible que PGP cifre un documento y ste salga en claro?
6. Por qu siempre se comprime el mensaje antes de cifrar?
7. Qu puede decir de la gestin de claves pblicas que ofrece PGP?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 915
Cuestiones y ejercicios (2 de 4)
8. Qu tipo de esquema de cifra es el que utiliza PGP?
9. Despus de instalar PGP en nuestro computador, qu es lo primero
que nos sugiere?
10. Qu diferencia hay entre elegir una clave DH/DSS y RSA?
11. Si creamos un nuevo par de claves asimtricas, queda el nuevo
usuario como usuario por defecto?
12. Cree tres nuevos usuarios Hugo, Paco y Luis con diferentes tipos y
longitudes de clave. Haga que entre ellos se firmen sus claves.
13. Incluya en cada uno una fotografa en sus propiedades. Puede ser
cualquier archivo con formato de imagen.
14. Qu sucede si creamos que un nuevo usuario Ana con una clave
tipo DH/DSS con una longitud exacta de 4.000 bits? Podemos
crear una clave RSA de 4.000 bits?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 916
Cuestiones y ejercicios (3 de 4)
15. Revoque una clave y observe sus propiedades. Se puede recuperar
esa clave? Puede deshabilitar una clave? Qu significa esto?
16. Cree el grupo Sobrinos con los usuarios Hugo, Paco y Luis. Enve
un mensaje a ese grupo eligiendo desde PGPkeys Show Groups.
17. Cree el usuario FirmaEspecial con frase de paso UnaFirmaEspecial
en la que intervengan 4 usuarios, cada uno con una porcin igual de
la clave y umbral 3. Cifre y firme un documento con dicha clave.
Podra alguien tener ms de una participacin de la clave?
18. Mediante el botn derecho del ratn cifre de forma local un archivo
por ejemplo de Word, en modo formato compatible. Vuelva a cifrar
el archivo original con otro nombre pero ahora sin formato base 64.
Cmo son ambos criptogramas? Cmo son sus tamaos en bytes?
19. Si se cifra un archivo txt con la opcin Secure Viewer, se guarda el
archivo descifrado? Es seguro? Puede hacerse con archivo Word?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 917
Cuestiones y ejercicios (4 de 4)
20. Cree el nuevo usuario Pepillo y exporte su clave a un archivo. Borre
ahora este usuario y desde PGPkey importe ese archivo de clave
pblica. Se aade el usuario al anillo de claves pblicas?
21. Qu pasa en un cifrado local de un archivo con self decrypting?
Comprubelo con un archivo cualquiera. Podramos usar esta
opcin si adems de cifrar vamos a firmar ese documento?
22. Qu significa actualizar una clave desde PGPkeys?
23. Aada un nuevo nombre a una clave. Para qu puede servir esto?
24. Qu son el KeyID y el Fingerprint? Qu utilidad puede tener que
la huella dactilar tambin est dada como un conjunto de palabras?
25. Si una clave est revocada, puede recibir archivos cifrados con su
clave pblica? Puede firmar nuevos documentos? Puede descifrar
y/o comprobar documentos anteriores a la fecha de revocacin?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 918
Prcticas del tema 18 (1/7)
Software PGP 8.0:

http://www.criptored.upm.es/software.htm#freeware
1. Si no tiene instalado PGP, descrguelo e instlelo. Acepte por defecto
todas las opciones, reiniciando su computador y observe que en este caso
le fuerza a crear un par de claves asimtricas: cree una cualquiera. Si tiene
instalada una versin anterior a la sta, instlela indicando que tiene claves
y que desea conservarlas en esta nueva versin.
2. Pinche en el icono PGPtray (candado) que aparece en la barra de tareas y
observe en PGPkeys que estn sus claves y la nueva, si la ha creado.
3. Abra la carpeta Archivos de programa\PGP Corporation\ y observe los
documentos pdf en la carpeta Documentation. Si puede, imprmalos.
4. Desde PGPkey - Keys - New Key cree la siguientes clave:
Nombre: Juan Prez email: juanito@empresa.com
Passphrase: Esta es la clave de Juanito
5. Observe la clave generada en PGPkeys.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 919
Prcticas del tema 18 (2/7)
6. Repita el ejercicio anterior entrando ahora en modo Expert, generado una
clave DH/DSS de 1024 bits y duracin un ao para el usuario Jos Ramos;
y una clave RSA de 1024 y duracin seis meses para el usuario Ana Vlez.
Observe las nuevas claves y sus caractersticas: Key Properties.
7. Abra la opcin View de PGPkeys, active todas las casillas y obsrvelas.
8. Active como usuario por defecto a Jos Ramos: botn derecho del ratn y
Set by Default. Hecho esto, sobre las claves de Juan Prez y Ana Vlez
pulse el botn derecho y firme esas claves: sign. Observe las propiedades
de esas claves despus de esta firma.
9. Con la opcin PGPkeys - Keys - Add - Photo, incluya una fotografa a
cada una de estas tres claves. Observe que le pide la clave privada de cada
uno, sin necesidad que sea el usuario por defecto. Vea las propiedades.
10. Con PGPkeys - Keys - Export, exporte la clave pblica de Jos Ramos.
Observe el fichero creado. Repita el ejercicio exportando ahora adems la
clave privada y observe el fichero creado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 920
Prcticas del tema 18 (3/7)
11. Copie al portapapeles todo el bloque siguiente y dentro de PGPkeys pegue
su contenido (Crtl V) para importar la clave pblica que supuestamente le
ha llegado en un correo electrnico o se la ha entregado en mano Patricia:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGP 8.0 - not licensed for commercial use: www.pgp.com
mQGiBEF+iZsRBADV5uEp8xSuM/9s8Yo35ajTivI0sFoGr0X7o0iCGIL3MXMqbLUQ
t/4gFH2joQQT7FxzCUuLwItFGVbWN6sE/1Pl0WJ24ItTBoS9jkvPJ4GTZSrAZqzj
dWgv16VAyKvEMZ/8vjetd/YRcx5KORdbMkZFsn+YEBt+amGEG7bPl+UA3QCg//b/
PSn1CgNxfP/MdTHb0IhmspcD/j7G7pA/GAJ1aZi4Xsp4QH2dJhSBBDxdaoRDVuQe
CADER2DFgC1KcPHkh1QnNWRNyAL3JLriy884mCSMTC0nF7MBq7bQCng6P6WdfZAP
lYAwrmNTIJTJLOISnxPuI++vM+Awqv/zPNkvYog5F12j//0Cm51sQ8rBB5MMppDK
wc8jA/0WD31Pt3wT0CPBdlzsywB+S1eXvYriMcK5yezKQElasaXyBtMPOTcfagXC
J/bwYQ/JFZGuAtXcR9YVoUKKPZToibV1Forj4O8g7kOCgFM7hKe+PuwRSFTkrcXK
usm0tci+O0c8Wkmkdhtmc4BigRALPk7wfObtjmWhzrTXQWDxl7QcUGF0cmljaWEg
PHBhdHR5QGVtcHJlc2EuY29tPokAWAQQEQIAGAUCQX6JmwgLCQgHAwIBCgIZAQUb
AwAAAAAKCRBTdLP9mT9CeipHAJ0dBgLluHQ5R2MzZ2K26sEdZ0NcaQCgmPr6GKTU
5vSeNunxGUZJXDMWeUO5AQ0EQX6JnhAEAOcINMith6D/dqoqLPyE7Dm9U8wV5I5R
jQ8vX+5kRr5nenKs0DZHZD88Q/ciGy/6IZapSrUU8Ob72wVJtsitLjr/9IrZFfaY
1M/ry4n57dKbSlUtIuoAMUduyaC2LXIHjA8aHcjkf1HzI5ZyN2VX47kBEvPCFK0X
90C6wlCsUMmzAAICBAC0+F5Iqf1Wcuix0tkzpxb85cRHqVkjKoV7vtOvx1wW7NLu
nAytWolWkmpmGknrxTM2XdHUJBDvi4KYwxOwMJCuxkAzpNWiOaGzjfiSZWcXK0T4
oiBs8OL2y9gdpFGvdIzZdc2m09iYJs7hGU5uGOFTyp7YJUsI35zUn0fO/o7vdIkA
TAQYEQIADAUCQX6JngUbDAAAAAAKCRBTdLP9mT9Ces1tAKDhyokWrHR4DmyWxaJS
9cMs9AssfACdEfDYQ/hJa5PVfUPQfk6yDjDg0IY=
=d8QC
-----END PGP PUBLIC KEY BLOCK-----
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 921
Prcticas del tema 18 (4/7)
12. Observe las propiedades de la clave importada. Se puede definir a Patricia
como usuario por defecto?
13. Vamos a crear una clave cualquiera para un usuario de nombre Alicia. Una
vez creada, exporte la clave pblica y privada. Hecho esto borre la clave de
Alicia en PGPkeys con tecla suprimir o bien Edit - Delete.
14. Con PGPkeys - Keys - Import, importe la clave de Alicia desde el archivo
creado en el paso anterior, observe el mensaje y comprubelo desde las
propiedades de la misma. Modifique la confianza en dicha clave.
15. Con el usuario Ana Vlez por defecto, firme las claves de los otros
usuarios creados con distintos noveles de confianza. Observe luego las
propiedades de las claves firmadas por Ana Vlez.
16. Revoque la clave de uno de los usuarios creados y observe las propiedades.
17. Con el botn derecho del ratn sobre documento de este libro electrnico
CriptoClasica.doc, cifre de forma convencional o cifrado local con la clave
K = Clave de cifra convencional. Abra el archivo con WordPad.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 922
Prcticas del tema 18 (5/7)
18. Observe el tamao del fichero cifrado y comprelo con el original.
19. Vuelva a cifrar de forma convencional el documento CriptoClasica.doc
con la misma clave, pero aada ahora la opcin Text Output. Abra el
archivo con WordPad y vuelva a comprara el tamao de los ficheros.
20. Cree un documento cualquiera con Word, Excel, etc. sencillo y cfrelo de
forma local con la clave K = Borrado de verdad, con las opciones Text
Output y Wipe. El archivo original ha sido destruido.
21. Recupere el archivo cifrado haciendo doble clic en l.
22. Para saber con qu algoritmo hemos cifrado, con qu profundidad se ha
realizado el borrado fsico y otras propiedades de PGP, desde el icono del
candado abra la pestaa Options y observe todas estas opciones.
23. Cifre nuevamente el documento CriptoClasica.doc de forma convencional
con la opcin Self Decrypting Archive. Observe el icono y el tamao del
fichero. Si puede hacerlo, descfrelo en un computador que no tenga
instalada ninguna versin de PGP.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 923
Prcticas del tema 18 (6/7)
24. Ponga por defecto al usuario Jos Ramos y desde el icono PGPtray abra el
portapapeles (Clipboard Edit), escriba un texto de algunas lneas y cpielo
al portapapeles (Copy to Clipboard). Luego cfrelo (Clipboard Encrypt)
para Ana Vlez, arrastrando su nombre a la ventana. Abra el portapapeles
(Clipboard Edit) y observe que el contenido est en Base 64. Si no sabe
qu significa esto, vaya al anexo de estos apuntes.
25. Descifre su contenido (Clipboard Decrypt & Verify). Observe que puede
copiar ese texto en claro y guardarlo en un achivo.
26. Repita la cifra anterior activando ahora en la cifra el modo Secure Viewer.
Puede guardar ahora el texto en claro?
27. Repita el ejercicio anterior pero ahora Jos Ramos slo firmar el texto.
Hecho esto, abra el portapapeles y observe su contenido. Compruebe que
la firma es vlida con la opcin (Clipboard Decrypt & Verify).
28. Repita el ejercicio anterior activando ahora la opcin de cifrar y firmar
(Clipboard Encrypt & Sign) . Descifre el criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 924
Prcticas del tema 18 (7/7)
29. Si tiene un cliente de correo que tenga los plugins de PGP, enve y reciba
correo cifrado y firmado, bien a s mismo o con otro usuario.
30. Cree cinco claves de cualquier tipo con nombres Gerente, Consejero1,
Consejero2, Consejero3 y Consejero4. Cree ahora una clave de nombre
Empresa. Hecho esto, divida esta ltima clave (Share Split), defina como
umbral para recuperar la clave 5 y arrastre a la ventana a los cinco usuarios
antes creados, entregando a Gerente 3 partes y a cada Consejero 1 parte.
Observe que en este escenario siempre deber firmar Gerente.
31. Con Empresa como usuario por defecto, firme CriptoClasica.doc y observe
cmo se van solicitando las partes de la clave. Compruebe luego la firma.
32. Si tiene acceso a Internet, compruebe cmo funcionan los servidores de
clave, las listas de revocacin de certificados, etc.
33. Para terminar, en modo Expert cree algunas claves de tamaos extraos
como 1893 bits, 2871 bits, 4017 bits, ... y observe los tiempos que tarda
PGP en crearlas. Qu opina de la seguridad de esas claves RSA?
Captulo 19
Protocolos y Esquemas Criptogrficos
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 73 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 926
Definicin de protocolo criptogrfico
Veamos 10 ejemplos
Protocolo: es el conjunto de acciones
coordinadas que realizan dos o ms partes o
entidades con el objeto de llevar a cabo un
intercambio de datos o informacin.
Protocolos criptogrficos sern aquellos que
cumplen esta funcin usando para ello
algoritmos y mtodos criptogrficos.
Permiten dar una solucin a distintos
problemas de la vida real, especialmente en
aquellos en donde puede existir un grado de
desconfianza entre las partes.
Qu es un
protocolo?

http://www.criptored.upm.es/guiateoria/gt_m023c.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 927
Ejemplos de protocolos criptogrficos (1)
1.- El problema de la identificacin del usuario
Cmo permitir que un usuario se identifique y autentique
ante una mquina -y viceversa- con una clave, password o
passphrase y no pueda ser suplantado por un tercero?
2.- El problema del lanzamiento de la moneda
Cmo permitir que dos usuarios realicen una prueba con
probabilidad -como es el lanzamiento de una moneda-
si stos no se encuentran fsicamente frente a frente y,
a la vez, asegurar que ninguno de los dos hace trampa?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 928
Ejemplos de protocolos criptogrficos (2)
3.- El problema de la firma de contratos
Cmo permitir que dos o ms usuarios que se encuentran
fsicamente alejados puedan realizar la firma de un contrato,
asegurando que ninguno de los firmantes va a modificar las
condiciones ni negarse a ltima hora a dicha firma?
4.- El problema del descubrimiento mnimo de un secreto
Cmo poder demostrar y convencer a otra persona o a un
sistema que uno est en posesin de un secreto, sin por ello
tener que desvelarlo ni a ella ni a un tercero?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 929
Ejemplos de protocolos criptogrficos (3)
5.- El problema del juego de pker mental o por telfono
Cmo permitir que dos o ms usuarios puedan jugar a travs
de la red un juego de pker -o cualquier otro- si no estn
fsicamente en una misma mesa de juego y asegurando, al
mismo tiempo, que ninguno de ellos va a hacer trampa?
6.- El problema de la divisin de un secreto o del umbral
Si tenemos un secreto nico y por tanto muy vulnerable,
cmo permitir que ese secreto se divida en n partes, de
forma que juntando k < n partes sea posible reconstruirlo y,
en cambio, con k-1 partes imposible su reconstruccin?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 930
Ejemplos de protocolos criptogrficos (4)
7.- El problema del esquema electoral o voto electrnico
Cmo realizar unas elecciones a travs de una red, de forma
que pueda asegurarse que el voto es nico y secreto, que los
votantes y mesas estn autenticados, y se pueda comprobar
que el voto se contabiliza de adecuadamente en el cmputo?
8.- El problema de la transmisin por canales subliminales
Dos usuarios desean intercambiar informacin a travs de un
tercero del cual desconfan. Cmo pueden hacerlo sin cifrar
la informacin de forma que este tercero slo vea un mensaje
con texto en claro aparentemente inocente?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 931
Ejemplos de protocolos criptogrficos (5)
9.- El problema del millonario
Dos usuarios desean conocer cul de los dos tiene ms
dinero en su cuenta corriente. Cmo pueden hacerlo de
forma que, una vez terminado el protocolo, ambos sepan
quin de los dos es ms rico sin por ello desvelar el dinero
que tiene el otro?
10.- El problema del correo electrnico con acuse de recibo
Cmo hacer que una vez recibido un correo electrnico,
ste slo pueda ser ledo (abierto) si el receptor enva, con
anterioridad al emisor, un acuse de recibo como sucede de
forma similar con el correo ordinario certificado?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 932
El protocolo de firma ciega
Supongamos que Adela desea que Benito le firme algo pero sin que
Benito se entere de qu es lo que est firmando. En este caso Benito
acta como un ministro de fe, autenticando a Adela.
Protocolo:
Adela pone un documento dentro de un sobre.
Adela cierra el sobre y se lo enva a Benito.
Benito firma el sobre autenticando a Adela y se lo devuelve.
Adela abre el sobre y demuestra que Benito al firmar en el sobre
cerrado tambin ha firmado el documento que estaba en su interior.
En el anterior algoritmo, si Benito necesita una comprobacin de la
identidad de Adela, sta sencillamente incluye una firma digital suya en
el sobre que le permita a Benito comprobar su autenticidad.

http://www.di.ens.fr/~pointche/Documents/Papers/2003_joc.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 933
Algoritmo de firma ciega RSA (Chaum)
Adela desea que Benito le firme un documento M
Adela (A) conoce las claves pblicas de Benito (B: n
B
, e
B
)
A elige un coeficiente de ceguera k de forma que se
cumpla mcd (k, n
B
) = 1, calcula k
-1
= inv (k, n
B
) y luego
enmascara su mensaje mediante la siguiente operacin:
t
A
= M k
eB
mod n
B
y lo enva a B
B firma el valor: t
B
= t
A
dB
mod n
B
y lo enva a A
A quita la mscara haciendo s = t
B
inv (k, n
B
) mod n
B
El resultado es que A tiene M
dB
mod n
B
, es decir la firma
de B del documento M, una firma ciega sobre M.
Comprobacin: t
B
= (M k
eB
)
dB
mod n
B
= M
dB
k mod n
B
Luego: [M
dB
k inv (k, n
B
)] mod n
B
= M
dB
mod n
B
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 934
Ejemplo de algoritmo de firma ciega
Adela (A) desea que Benito (B) le firme el mensaje M = 65
Claves pblicas de B: n
B
= 299, e
B
= 7
Clave privada y datos de B: p
B
= 13; q
B
= 23; (n
B
) = 264, d
B
= 151
A elige k / mcd (k, n
B
), por ejemplo k = 60. Luego inv (k, n
B
) = 5
A enmascara el mensaje: t
A
= M k
eB
mod n
B
= 65 60
7
mod 299
A enva a B: t
A
= 65226 mod 299 = 39
B firma t
A
con clave privada: t
B
= t
A
eB
mod n
B
= 39
151
mod 299 = 104
A quita la mscara: s = t
B
inv (k, n
B
) = 104 5 mod 299 = 221
Este valor (221) es el mismo que se obtendra si B firmase su con
clave privada el mensaje M, es decir 65
151
mod 299 = 221
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 935
Transferencia inconsciente o trascordada
Algoritmo de TI propuesto por Michael Rabin en 1981:
Un usuario A transfiere a un usuario B un dato o
secreto con un cifrado probabilstico del 50%.
El usuario B recibe el dato y tiene una probabilidad
del 50% de descubrir el secreto. Una vez que ha
recibido el dato, B sabe si ste es el secreto o no.
No obstante, el usuario A no tiene forma de saber si el
usuario B ha recibido el secreto o no.
Esta incertidumbre mutua forzar a
los protagonistas a que terminen el
protocolo sin hacer trampas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 936
Algoritmo de TI de Rabin (1)
Paso 1 A elige dos primos (p y q), calcula n = pq y
enva el valor n a B.
Paso 2 B elige un nmero aleatorio x del CCR(n) de
forma que que mcd (x,n) = 1, y devuelve a A
el valor K = x
2
mod n.
Paso 3 A calcula las cuatro races de x
2
mod n y
enva a B una de ellas. Las races de x
2
mod n
sern: x, n-x, y, n-y. Slo A puede hacerlo
porque conoce los valores de p y q.
Paso 4 B intenta descubrir el valor de p o q.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 937
Conclusin del algoritmo de TI de Rabin
Si B recibe x o n-x no ser capaz de encontrar p o q.
No tiene ms informacin que la que tena porque:
x y n-x son valores que conoce (B ha elegido x).
Si B recibe y o n-y, podr encontrar p o q.
En este caso, como x
2
mod n = y
2
mod n, entonces:
(x
2
- y
2
) mod n = (x+y)(x-y) mod n = 0
Luego (x+y)(x-y) = kn y se cumplir que:
p = mcd (x+y, n) y
q = mcd (x-y, n)
Para entenderlo mejor ... veamos un ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 938
Ejemplo de algoritmo de TI de Rabin (1)
A Adela tiene como nmeros secretos p y q, valores que
corresponden a la factorizacin del valor n.
B Benito conoce el valor n y deber descubrir, a partir
del protocolo de transferencia inconsciente, p o q.
Ejemplo con valores:
Sea p = 7; q = 13. Luego, n = pq = 713 = 91.
1.- A enva a B el valor n = 91.
2.- B elige al azar del CCR(91) el valor x = 15 y calcula
K = 15
2
mod 91 = 225 mod 91 = 43. Se lo enva a A.
3.- A recibe K = 43 y calcula las 4 races de x
2
mod n.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 939
Clculo de races de la TI de Rabin
A calcula las dos races de x
2
mod n = K de en p y q:
x
1
2
= K mod p = 43 mod 7 = 1 x
1
= 1
x
2
2
= K mod q = 43 mod 13 = 4 x
2
= 2
Con estos valores usa ahora el Teorema del Resto Chino
Si no recuerda el Teorema del Resto
Chino, repase el archivo de matemticas.
Tenamos que: x
1
= 1 y x
2
= 2.
Aplicando entonces la ecuacin del TRC:
No siempre
ser tan fcil
el clculo de
estas races
como se ver
ms adelante
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 940
Aplicacin del TRC en la TI de Rabin
y
1
= inv (n/p, p) = inv (91/7, 7) = inv (13,7) y
1
= 6
y
2
= inv (n/q, q) = inv (91/13, 13) = inv (7,13) y
2
= 2
x = [(n/p)y
1
x
1
+ (n/q)y
2
x
2
] mod n
x = (136x
1
+ 72x
2
) mod 91
Luego para todas las combinaciones x
i
, p y q se tiene:
{x
1
, x
2
} [1,2] x = 15
{x
1
, q-x
2
} [1,13-2] = [1,11] x = 50
{p-x
1
, x
2
} [7-1,2] = [6,2] x = 41
{p-x
1
, q-x
2
} [7-1,13-2] = [6,11] x = 76
15
2
mod 91 = 50
2
mod 91 = 41
2
mod 91 = 76
2
mod 91 = 43.
Adems se cumple que 15 + 76 = 91 = n y 50 + 41 = 91 = n.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 941
Conclusin del algoritmo de TI de Rabin
A enva a B cualquiera de estos cuatro valores:15, 50, 41, 76.
Si B recibe el nmero 15 (el valor que haba enviado a A) o
bien n-15 = 91-15 = 76 (que llamaremos valores x) no tiene
ms datos que los que tena al comienzo del protocolo y no
podr factorizar n.
Si B recibe cualquiera de los otros dos valores enviados por A
(50 41) valores que llamaremos y, podr factorizar n usando
la expresin mcd (x+y, n) con x, precisamente el valor elegido
por B al comienzo del protocolo, es decir 15.
Si y = 50 mcd (50+15, 91) = mcd (65, 91) = 13 q = 13
Si y = 41 mcd (41+15, 91) = mcd (56, 91) = 7 p = 7
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 942
Eleccin de p y q en algoritmo de Rabin
Para facilitar el clculo de las races de x
2
mod p y x
2
mod q, el usuario
A elegir los valores de p y q de forma que cumplan:
- El valor (p+1) sea divisible por 4.
- El valor (q+1) sea divisible por 4.
Si x
2
mod p = a mod p dos soluciones: x
1
y (p x
1
)
Si x
2
mod q = a mod q dos soluciones: x
2
y (q x
2
)
Estas soluciones se obtienen aplicando el TRC, no obstante si (p+1)
es divisible por 4 entonces para este primo p si x = a
(p+1)/4
se cumple:
(a
(p+1)/4
)
2
mod p = a
(p+1)/2
mod p = a(a
(p-1)/2
) mod p = a
Esto es vlido porque : a
(p-1)/2
mod p = 1. Lo mismo sucede con q.
Luego: x
1
= a
(p+1)/4
mod p y x
2
= a
(q+1)/4
mod q
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 943
Problema lanzamiento de la moneda (1)
Algoritmo propuesto por Mario Blum en 1982.
Se trata de resolver una apuesta entre dos
personas A y B distantes entre s mediante el
lanzamiento de una moneda (cara o cruz).
Situaciones si A lanza la moneda al aire:
Caso 1
1 A lanza la moneda.
2 B hace su apuesta y se lo dice a A.
3 A le dice a B que ha salido justo lo contrario
... independientemente de lo que haya salido.
En este caso el usuario A hace trampa ...
A
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 944
Problema lanzamiento de la moneda (2)
Caso 2
1 A lanza la moneda.
2 B hace su apuesta y se lo dice a A.
3 No sale lo apostado por B y A se lo notifica.
4 B se desmiente y dice que esa era su apuesta.
Ahora es el usuario B quien hace trampa ...
B
Si A y B estn distantes y no hay un testigo de fe, cmo
puede desarrollarse el algoritmo para que ninguno de los
dos pueda hacer trampa y, si lo hace, el otro lo detecte?
Esquema de Blum
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 945
El problema de la moneda segn Blum
Soluciones al problema del lanzamiento de la moneda:
Usar el protocolo de la transferencia inconsciente de Rabin
con probabilidad del 50% ya visto, o bien...
Usar el Esquema General de Blum:
1 A partir de un conjunto de nmeros que la mitad son pares
y la otra impares y una funcin unidireccional f : xy, el
usuario A elige un valor x, calcula y = f (x) y lo enva a B.
2 El usuario B apuesta por la paridad de x.
3 A le muestra a B el verdadero valor de x y su paridad.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 946
Condiciones del esquema general de Blum
B tendr igual probabilidad de recibir un nmero
par o impar.
A deber tener una probabilidad igual (50%) de
recibir una apuesta par o impar por parte B.
Ninguno de los dos podr hacer trampa.
Bsqueda de esa funcin f?
Antes deberemos explicar qu se entiende
por restos cuadrticos y enteros de Blum
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 947
Restos cuadrticos de Blum
Buscamos una funcin unidireccional con trampa que
cumpla las caractersticas del protocolo anterior.
El valor a es un resto cuadrtico de Blum R
2
mod n si:
x
2
mod n = a
siendo mcd (a,n) = 1
Algn problema? S No sigue la paridad deseada.
Por ejemplo, el resto cuadrtico R
2
= 4 en mod 11 se
obtiene para x = 2 (par) y x = 9 (impar) ya que:
2
2
mod 11 = 4 mod 11 = 4 y 9
2
mod 11 = 81 mod 11 = 4
solucin
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 948
Enteros de Blum
Un entero de Blum es un nmero resultado del producto de dos
primos p y q, ambos congruentes con 3 mdulo 4.
En este caso se cumplir que:
y = x
2
mod n mantendr la paridad con z = y
2
mod n x Z
n
Ejemplo: sea n = 1119 = 209 y el valor x = 24
11 mod 4 = 3; 19 mod 4 = 3 (cumplen congruencia 3 mod 4 `)
y = x
2
mod n = 24
2
mod 209 = 576 mod 209 = 158
z = y
2
mod n = 158
2
mod 209 = 24.964 mod 209 = 93
Como se observa, en este caso y es par y z es impar.
Luego, para todos los restos principales de y = 158 (par) que se obtengan con
valores de x diferentes, el resto cuadrtico z
2
ser siempre el valor 93 (impar).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 949
Paridad en enteros de Blum
Es importante recalcar que:
Existir igual nmero de soluciones y (pares o
impares) que de soluciones z (pares o impares).
Esto no suceder con enteros que no sean de Blum.
Por lo tanto, esta igualdad de paridad en los valores de
los restos de z y de y, har que desde el punto de vista
del usuario B que recibe como dato el valor z o resto
R
2
enviado por A, exista una equiprobabilidad.
El siguiente cuadro indica la paridad de R
2
para
algunos mdulos enteros y no enteros de Blum.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 950
Ejemplo de paridad en enteros de Blum

n p q y (pares) y (impares) z (pares) z (impares)
21 3 7 10 10 10 10
33 3 11 12 20 12 20
57 3 19 24 32 24 32
69 3 23 36 32 36 32
77 7 11 36 40 36 40

Paridad de elementos de R
2
para mdulos enteros de Blum
Observe que se obtiene igual cantidad de valores y pares que
de z pares. De la misma forma, se obtiene igual cantidad de
valores y impares que de z impares.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 951
Ejemplo de paridad en no enteros de Blum

n p q y (pares) y (impares) z (pares) z (impares)
15 3 5 8 6 6 8
35 5 7 14 20 8 26
39 3 13 22 16 16 22

Paridad de elementos de R
2
para mdulos no enteros de Blum
En este caso no se obtienen cantidades iguales de valores y, z.
Como ejercicio, compruebe que los nmeros 21, 33, 57, 69 y 77
del ejemplo anterior son enteros de Blum y que, por el
contrario, 15, 35 y 39 no lo son.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 952
El algoritmo de Blum
1) A elige dos primos p y q de forma que n = pq es un
entero de Blum (p y q son congruentes con 3 mod 4)
2) A elige un elemento x de Z
n
y calcula y = x
2
mod n.
Luego calcula z = y
2
mod n, valor que enva a B.
3) B recibe z y apuesta por la paridad del valor y.
4) A le informa a B si ha acertado o no en su apuesta. Le
muestra tambin el valor x elegido y el valor de y.
Adems le comprueba que n es un entero de Blum.
5) B comprueba que y = x
2
mod n y que z = y
2
mod n.
6) A y B han actuado con una probabilidad del 50% en los
pasos 2 y 3, respectivamente.

http://zoo.cs.yale.edu/classes/cs467/2005f/course/lectures/ln20.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 953
Ejemplo del algoritmo de Blum
Sean los primos p = 7 y q = 19
Luego, n = pq = 719 = 133
Comprobacin de que n = 133 es un entero de Blum:
7 mod 4 = 3; 19 mod 4 = 3 `
A elige el valor x = 41 y calcula:
y = x
2
mod n
y = 41
2
mod 133 = 1.681 mod 133 = 85
z = y
2
mod n
z = 85
2
mod 133 = 7.225 mod 133 = 43
A enva a B el valor z = 43.
B debe apostar por la paridad de y.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 954
Conclusin del ejemplo de Blum
Situacin 1 (B acierta)
Si B acierta y dice que y es impar, A no puede negarle que ha
ganado. A debe mostrarle a B los valores x e y. Adems debe
demostrarle a B que n era un entero de Blum.
Situacin 2 (B no acierta)
Si B no acierta y dice que y es par, A le dice a B que ha
perdido, le demuestra que n era un entero de Blum y le
muestra el valor x elegido as como el valor y.
Compruebe que a iguales valores de resto principal y resto cuadrtico
se llega para x = 22, x = 92 y x = 111. Es decir, si se recibe z = 43
(impar) la nica posibilidad es que el valor de y sea 85 (impar) y que
A haya elegido como valor x alguno de stos: 22, 41, 92 111.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 955
La firma de contratos
Dos personas desean firmar un
contrato sin un ministro de fe.
- Deben cumplirse dos condiciones:
Que los firmantes queden obligados a culminar la
firma slo a partir de un punto del protocolo. Esto
se conoce como compromiso de los contratantes.
Que la firma no pueda falsificarse y que, adems,
pueda ser comprobada por la otra parte.
Un posible algoritmo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 956
Algoritmo bsico de firma de contratos (1)
1. El usuario A elige dos claves i
A
y j
A
en un sistema de clave
pblica y calcula sus claves privadas i
A
-1
y j
A
-1
.
2. El usuario B elige una clave secreta K
B
.
3. A enva a B sus dos claves pblicas i
A
y j
A
.
4. B elige al azar una de las dos claves recibidas y con ella
cifra su clave K
B
, enviando el resultado al usuario A.
5. A elige al azar una de sus dos claves privadas i
A
-1
y j
A
-1
y
descifra con dicha clave el valor recibido en el punto 4.
6. A cifra el primer bloque del mensaje de firma usando el
valor elegido en el punto 5 como clave y lo enva a B.
7. B descifrar con la clave recibida el bloque de firma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 957
Algoritmo bsico de firma de contratos (2)
Observe que los siete pasos
anteriores corresponden
bsicamente al algoritmo de
transferencia inconsciente
entre los usuarios A y B.
Finalizacin
del protocolo
8. A repite la operacin de los pasos 5 y 6 para cada uno de
los bloques de su firma y B el paso 7.
9. Terminados los bloques de su firma, A repite el paso 6
utilizando ahora su otra clave privada y B el paso 7.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 958
Algoritmo bsico de firma de contratos (3)
Si A y B han elegido al azar la misma clave con una
probabilidad del 50% para cada uno, B descifrar un
mensaje con sentido en la primera vuelta. En caso
contrario, B recibe un texto sin sentido y deber
esperar hasta recibir el ltimo bloque de la segunda
vuelta para obtener el texto en claro.
Sin embargo, A no tiene cmo saber en cul de los dos
pasos (en la primera o la segunda vuelta) ha logrado B
descifrar el criptograma y obtener un texto con sentido
lo que fuerza a ambas partes a terminar el algoritmo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 959
Firma de contratos: algoritmo de Even (1)
En el ao 1985 Even, Goldreinch y Lempel proponen el uso
de sistemas de cifra simtricos para la firma de contratos.
1. A elige un conjunto de 2n claves en un sistema simtrico:
C
1
, C
2
, ..., C
n
, C
n+1
, ..., C
2n
. Las claves se tomarn como
parejas, esto es (C
1
, C
n+1
), (C
2
, C
n+2
), ..., (C
n
,C
2n
) aunque
no tengan ninguna relacin entre s.
2. A cifra un mensaje estndar M
A
conocido por B con 2n
claves E
C1
(M
A
), E
C2
(M
A
), ..., E
C2n
(M
A
) y le enva a B
ordenados los 2n criptogramas.
3. A se comprometer ms adelante a la firma del contrato
si B puede presentarle para algn i el par (C
i
, C
n+i
).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 960
Firma de contratos: algoritmo de Even (2)
4. B elige tambin un conjunto de 2n claves de un sistema
simtrico: D
1
, D
2
,..., D
n
, D
n+1
, ..., D
2n
y las claves se
tomarn como parejas (D
1
, D
n+1
), (D
2
, D
n+2
), ..., (D
n
,D
2n
).
B cifra un mensaje estndar M
B
conocido por A con las
2n claves E
D1
(M
B
), E
D2
(M
B
), ..., E
D2n
(M
B
) y enva a A 2n
criptogramas ordenados. B se comprometer a la firma en
los mismos trminos que lo hizo A en el punto anterior.
5. A enva a B cada par (C
i
, C
n+i
) ordenados mediante una
transferencia inconsciente; es decir enviando C
i
o C
n+i
con igual probabilidad. Lo mismo hace B enviando a A
ordenadamente uno de los dos valores del par (D
i
, D
n+i
).
En este punto A y B tienen la mitad de las claves del otro.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 961
Firma de contratos: algoritmo de Even (3)
6. Si la longitud de cada clave C
i
o D
i
es de L bits, A y B
realizan el siguiente bucle con 1 i 2n para la clave C
i
y D
i
que no han usado en los pasos anteriores:
for 1 j L
begin
A enva a B el bit jsimo de todas esas claves C
i
B enva a A el bit jsimo de todas esas claves D
i
end (Esto se conoce como compromiso bit a bit)
7. Al realizar el bucle completo, A y B tienen las 2n claves
del otro y se supone firmado el contrato.
A y B pueden generar mensajes del tipo Esta es mi mitad izquierda
i de mi firma para cifrar con la clave C
i
y D
i
y Esta es mi mitad
derecha i de mi firma para cifrar con la clave C
n+i
y D
n+i
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 962
Cmo podemos estar seguros que un mensaje enviado por
correo electrnico ha sido abierto y su contenido conocido
slo por su destinatario autorizado?
Los sistemas actuales de e-mail permiten emitir desde
el cliente de correo del receptor un acuse de recibo.
No obstante, esto slo significa que alguien en
extremo receptor desde el buzn de entrada pincha
sobre un mensaje nuevo y a la pregunta enviar acuse
recibo al emisor? pisa Enter eligiendo la opcin S.
Ser para m
ese e-mail?
Para evitar estas situaciones podemos
usar el protocolo del correo certificado
El correo electrnico certificado
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 963
El correo electrnico certificado
El usuario A desea enviar un mensaje electrnico
como correo certificado al usuario B.
El usuario A le descubre el mensaje (le enva la
clave) slo despus de que el usuario B le enve
el acuse de recibo correspondiente. De la misma
manera que actuamos ante un correo certificado:
nos entregan la multa si primero firmamos.
El algoritmo ser muy similar al anterior de
firma de contratos propuesto por Even.
Veamos una implementacin del algoritmo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 964
Un algoritmo de correo certificado (1)
A elige de forma aleatoria n+1 claves (a
0
, a
1
, a
2
, ... a
n
) de un sistema
de cifra simtrico. Las claves a
i
no estn relacionadas.
Con la clave a
0
A cifrar el documento o carta, C
0
= E
a0
(M) y se lo
enva a B.
Las claves (a
1
, a
2
, ... a
n
) sern la parte izquierda de la clave KI
Ai
.
A calcula a
n+i
= a
0
a
i
para 1 i n, obteniendo as la parte derecha
de la clave (a
n+1
, a
n+2
, ... a
2n
) es decir KD
Ai
.
A y B se ponen de acuerdo en un mensaje estndar de validacin, por
ejemplo V = Mensaje de Validacin.
A cifra el mensaje de validacin V con las 2n claves secretas, es decir
n claves KI
Ai
y n claves KD
Ai
.
Cifrado de validacin de la parte izquierda: VI
Ai
= E
KIAi
(V).
Cifrado de validacin de la parte derecha: VD
Ai
= E
KDAi
(V).
A enva a B los pares ordenados (VI
Ai
, VD
Ai
) para i = 1, 2, ... n.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 965
Un algoritmo de correo certificado (2)
B genera de forma similar n parejas de claves KI
Bi
y KD
Bi
, 2n claves.
B genera n parejas de mensajes Acuse de Recibo de la parte i
Izquierda (RI
i
) y Acuse de Recibo de la parte i Derecha (RD
i
).
B cifra las parejas (RI
i
, RD
i
) con un sistema simtrico usando las claves
KI
Bi
y KD
Bi
.
B enva a A las parejas ordenadas (IB
i
, DB
i
) = [E
KIBi
(RIi), E
KDBi
(RDi)].
Mediante una trasferencia trascordada A enva a B una de las dos claves
secretas (K
IA1
o K
DA1
) y lo mismo hace B que enva a A (K
IB1
o K
DB1
).
Este proceso se repite hasta que se envan los n valores de claves.
B usa las claves enviadas por A en el paso anterior para comprobar que
al descifrar D
KIAi
(V
Ai
) o D
KDAi
(V
Ai
) obtiene el Mensaje de Validacin.
A usa las claves enviadas por B en el paso anterior para comprobar que
al descifrar D
KIBi
(I
Bi
) o D
KDBi
(I
Bi
) obtiene siempre RI
i
o RD
i
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 966
Un algoritmo de correo certificado (3)
No pueden hacer trampa. A y B ya tienen informacin suficiente para
demostrar ante un ministro de fe que el otro no ha seguido el protocolo.
A y B se intercambian ahora bit a bit todos los bits de las claves de
forma alterna. El primer bit de KI
A1
, el primer bit de KI
B1
, el primer bit
de KI
A2
, el primer bit de KI
B2
, ... el primer bit de KD
A1
, etc.
Este paso se conoce como compromiso bit a bit entre A y B.
A obtiene todas las claves de B y comprueba todos los Acuse de Recibo
pareados, la parte i Izquierda y su correspondiente parte i Derecha.
B obtiene todas las claves de A y comprueba que todos los envos de A
contienen el Mensaje de Validacin. A deber mostrar todas sus claves
a B para que B compruebe que A ha usado la funcin a
n+1
= a
0
a
i
.
Como B tiene todas las claves de A calcula ahora a
0
= KI
Ai
KD
Ai
.
Para ello cualquiera de las parejas de Acuse de Recibo son vlidas.
B descifra el criptograma Da
0
(C
0
) = M y recupera el mensaje .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 967
El protocolo del pquer mental (1)
Se trata de encontrar un protocolo que permita el juego del
pquer a travs de una red de computadores. Debe asegurarse el
juego limpio, sin trampas. Aunque el nmero de jugadores debera
ser 4, veremos un ejemplo slo para dos jugadores. La condicin
necesaria es que el sistema de cifra sea conmutativo, es decir que
permita D
KB
{E
KA
[E
KB
(x)]} = E
KA
(x). Un sistema podra ser Poligh
y Hellman con un nico cuerpo p de cifra o Vigenre numrico.
1. A y B usan un sistema de cifra simtrica que tenga propiedades
conmutativas, usando claves K
A
y K
B
respectivamente.
2. B cifra -accin mezcla- las 52 cartas (codificadas con un nmero
aleatorio c
i
) con su clave secreta K
B
: E
KB
(c
i
) y las enva a A.
3. A elige al azar 5 valores y enva a B: E
KB
(c
B1
, c
B2
, c
B3
, c
B4
, c
B5
).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 968
El protocolo del pquer mental (2)
4. B recibe estos valores y los descifra con su clave secreta K
B
. As
obtiene: D
KB
[E
KB
(c
B1
, c
B2
, c
B3
, c
B4
, c
B5
)] = c
B1
, c
B2
, c
B3
, c
B4
, c
B5
.
Estas cinco cartas c
Bi
corresponden a la mano de B.
5. A elige otras cinco cartas de las 47 restantes, las cifra con su
clave secreta K
A
y enva a B: E
KA
[E
KB
(c
A1
, c
A2
, c
A3
, c
A4
, c
A5
)].
6. B descifra con su clave secreta K
B
la cifra anterior y enva a A el
resultado: E
KA
(c
A1
, c
A2
, c
A3
, c
A4
, c
A5
).
7. A descifra lo anterior con su clave secreta K
A
y obtiene su mano
c
Ai
: D
KA
[E
KA
(c
A1
, c
A2
, c
A3
, c
A4
, c
A5
)] = c
A1
, c
A2
, c
A3
, c
A4
, c
A5
.
8. Las restantes 42 cartas permanecern en poder de A que es quien
las reparte. Estas cartas siguen cifradas con la clave de B.
9. Si los jugadores desean cambiar algunas cartas, siguen el mismo
procedimiento anterior.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 969
Protocolo de pquer mental con RSA (1)
En este caso se usar un sistema RSA en el que el mdulo de trabajo
n ser compartido y el par de claves asimtricas de cada jugador, e y
d, sern ambas secretas. Veamos un ejemplo para 4 jugadores.
1. El jugador A que repartir las cartas, todas ellas codificadas con
un nmero aleatorio c
i
, las mezclar cifrndolas con su clave
pblica e
A
: E
eA
[c
1
, c
2
, c
3
, ... c
50
, c
51
, c
52
] y las enva a B.
2. B elige cinco cartas, las cifra con su clave pblica e
B
y devuelve
a A : E
eB
{E
eA
[c
B1
, c
B2
, c
B3
, c
B4
, c
B5
]}.
3. A descifra lo recibido con su clave privada d
A
y se lo enva a B:
E
eB
[c
B1
, c
B2
, c
B3
, c
B4
, c
B5
].
4. B descifra ahora con su clave privada d
B
lo recibido y se queda
con su mano c
Bi
= c
B1
, c
B2
, c
B3
, c
B4
, c
B5
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 970
Protocolo de pquer mental con RSA (2)
5. El jugador B pasa las restantes 47 cartas al jugador C y se
repiten los pasos 2 al 4 anteriores entre C y A, usando ahora las
claves e
C
, d
A
y d
C
.
6. Terminado el paso 5, el jugador C tendr entonces como mano
c
Ci
= c
C1
, c
C2
, c
C3
, c
C4
, c
C5
.
7. El jugador C pasa las restantes 42 cartas al jugador D y se
repiten los pasos 2 al 4 entre D y A, usando ahora las claves e
D
,
d
A
y d
D
.
8. Terminado el paso 7, el jugador D tendr entonces como mano
c
Di
= c
D1
, c
D2
, c
D3
, c
D4
, c
D5
.
9. El jugador D devuelve las 37 cartas que quedan y que estn
cifradas con su clave pblica: E
eD
{E
eA
[c
1
, c
2
, c
3
, ... c
36
, c
37
]} al
jugador A.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 971
Protocolo de pquer mental con RSA (3)
10. El jugador A elige 5 cartas entre las 37 y devuelve al jugador
D: E
eD
{E
eA
[c
A1
, c
A2
, c
A3
, c
A4
, c
A5
]}.
11. El jugador D descifra con su clave privada d
D
lo recibido y
enva a A: E
eA
[c
A1
, c
A2
, c
A3
, c
A4
, c
A5
].
12. El jugador A descifra con su clave privada d
A
lo recibido y se
queda con su mano c
Ai
= c
A1
, c
A2
, c
A3
, c
A4
, c
A5
.
13. Todos tienen su mano de juego. Las restantes 32 cartas quedan
en poder de A cifradas por D y A: E
eD
{E
eA
[c
1
, c
2
, ... c
31
, c
32
]}.
14. Si un jugador X desea descarte, pide las cartas a A, elige las
que desea, las cifra con su clave pblica e
X
y se las devuelve a
A, quien las enva a D para que descifre con su clave privada
d
D
. D las devuelve a A para que descifre con su clave privada
d
A
y A enva a X: E
eX
[cartas elegidas en su descarte].
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 972
El canal subliminal
Como ejemplo de canal subliminal, en un supermercado podran incluir
en la msica ambiental una informacin no audible y que slo nuestro
subconsciente sea capaz de interpretar. No se extrae de ello, este tipo
de experimentos se han probado hace muchos aos atrs.
El concepto de canal subliminal fue propuesto por Gustavus Simmons
en 1983. Se conoce tambin como el problema de los prisioneros.
Dos prisioneros cmplices de un delito son encarcelados en celdas
separadas. Si entre ellos pueden intercambiarse mensajes a travs de un
carcelero que los puede leer, cmo hacen para que esos mensajes en
principio inocentes, lleven de forma subliminal un mensaje cifrado y
que el carcelero sea incapaz de dilucidar ese secreto?
La tcnica denominada esteganografa, hoy en da de moda, realiza una
operacin similar, normalmente ocultando un texto bajo una fotografa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 973
El problema de los prisioneros
El prisionero A genera un mensaje inocente M que desea enviar al
prisionero B a travs del guardia.
Utilizando una clave secreta K acordada con anterioridad, el prisionero
A firma el mensaje de forma que en esa firma se esconda el mensaje
subliminal.
El guardia recibe el mensaje firmado por A y como no observa nada
anormal se lo entrega al prisionero B.
El prisionero B comprueba la firma de su compaero A, autentica el
mensaje y lee la informacin subliminal en M.
Existen varios esquemas de uso del canal subliminal para proteger la
informacin, entre ellos el propio esquema de Simmons basado en la
factorizacin de un nmero grande n compuesto por tres primos p, q y r.
Habr por tanto 2
3
= 8 races de las cuales slo algunas se usarn como
valores vlidos y otras no. Hace uso del Teorema del Resto Chino.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 974
Transferencia con conocimiento nulo TCN
La cueva de Al Bab
A
B
C D
Puerta de la cueva: palabra secreta
Algoritmo:
1. Mortadelo y Filemn se acercan a la
cueva en el punto A.
2. Mortadelo se adentra en la cueva hasta
llegar al punto C o D.
3. Filemn se acerca al punto B de la cueva
y le pide a Mortadelo que salga por la
ladera derecha o izquierda, segn desee.
4. Mortadelo satisface la peticin de
Filemn y sale por la ladera que ste le
ha solicitado, usando si es menester la
palabra secreta para abrir la puerta.
5. Se repite el proceso desde el comienzo
hasta que Filemn se convence que
Mortadelo conoce la palabra secreta.
Este modelo fue presentado
por J. Quisquater y L. Guillou
en Crypto 89 para explicar el
protocolo de transferencia con
conocimiento cero o nulo.
brete ssamo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 975
Esquema de TCN de Koyama
A desea demostrar a B que conoce la clave secreta RSA de un tercer
usuario C, es decir d
C
. Como es lgico tambin conocer p
C
, q
C
y (n
C
).
Las claves pblicas de C son n
C
y e
C
que conocen tanto A como B.
A y B se ponen de acuerdo y eligen dos valores aleatorios k y m con la
condicin de que km = e
C
mod (n
C
).
Como A debe mantener en secreto el valor de (n
C
) le propone a B que
en cada ejecucin del algoritmo elija un nmero m primo por lo que A
calcula k = [{inv (m, (n
C
)}e
C
] mod (n
C
).
A propone a B un texto aleatorio M o bien A y B generan este texto
usando, por ejemplo, un algoritmo de transferencia trascordada.
Usando la clave privada d
C
de C, ahora A calcula C = M
dC
mod n
C
.
Luego calcula X = C
k
mod n
C
y enva el valor X a B.
B recibe X y comprueba si X
m
mod n
C
es igual al texto M. Si es as,
quiere decir que A ha usado d
C
, la clave privada de C.
Se repite el proceso las veces que haga falta hasta que B acepte que A
conoce clave privada de C.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 976
Por qu funciona el esquema de Koyama?
Por simplicidad supondremos que los datos de C no tienen subndice:
1. A conoce n, e, d, p, q, (n) y el texto M; B conoce n, e y el texto M.
2. B elige un primo m y se lo enva enva a A.
3. A calcula k = [{inv (m, (n)}e] mod (n).
4. A calcula C = M
d
mod n y X = C
k
mod n = M
dk
mod n y enva este
valor X a B.
5. B recibe X y calcula X
m
mod n = M
(dk)m
mod n = M
kmd
mod n, pero
como km = e mod (n) entonces M
kmd
mod n = M
ed
mod n = M.
6. La nica posibilidad para que B recupere el texto M en el paso 5, es
que A haya usado en la cifra del paso 4 la clave privada d.
7. Si B no se convence en el primer intento, ambos repiten el algoritmo
con valores primos m distintos en cada iteracin, hasta que se cumpla
un umbral ante el que B acepte que A est en posesin de ese secreto.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 977
Ejemplo del esquema de TCN de Koyama
Supongamos que A desea demostrar a B que conoce la clave privada de
C. Los valores pblicos de C son n = 77, e = 13.
El mensaje M acordado por A y B es la palabra PADRINO con la
codificacin que se muestra a continuacin:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Supongamos que B elige como valor aleatorio m = 29.
A calcula k segn el algoritmo de Koyama y para cada valor M
i
del
mensaje (P = 18, A = 2, D = 5, etc.) calcula primero C = M
i
d
mod n y
luego X = C
k
mod n = 30, 39, 31, 27, 54, 36, 68 que enva a B.
B calcula 30
29
mod 77, 39
29
mod 77, 31
29
mod 77, 27
29
mod 77, 54
29
mod 77, 36
29
mod 77, 68
29
mod 77 y obtiene la cadena de caracteres
PADRINO.
El protocolo puede repetirse para otros valores primos m que elija B y
siempre se obtendr como resultado el mismo mensaje M.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 978
Solucin del ejemplo de TCN de Koyama
Como n = 77, es obvio que p = 7, q = 11, (n) = 60. Por lo tanto, puesto
que e = 13 entonces d = inv {e, (n)} = inv (13, 60) = 37.
M
1
= 18; M
2
= 2; M
3
= 5; M
4
= 20; M
5
= 10; M
6
= 15; M
7
= 17.
C
1
= 18
37
mod 77 = 39; C
2
= 2
37
mod 77 = 51; C
3
= 5
37
mod 77 = 47;
C
4
= 20
37
mod 77 = 48; C
5
= 10
37
mod 77 = 10; C
6
= 15
37
mod 77 = 71;
C
7
= 17
37
mod 77 = 52.
k = [{inv (m, (n)}e] mod (n) = inv (29, 60)13 mod 60 = 17.
X
1
= 39
17
mod 77 = 30; X
2
= 51
17
mod 77 = 39; X
3
= 47
17
mod 77 = 31;
X
4
= 48
17
mod 77 = 27; X
5
= 10
17
mod 77 = 54; X
6
= 71
17
mod 77 = 36;
X
7
= 52
17
mod 77 = 68. Luego X = 30, 39, 31, 27, 54, 36, 68.
30
29
mod 77 = 18 = P; 39
29
mod 77 = 2 = A; 31
29
mod 77 = 5 = D
27
29
mod 77 = 20 = R; 54
29
mod 77 = 10 = I; 36
29
mod 77 = 15 = N
68
29
mod 77 = 17 = O.
En este ejemplo el valor de n es muy pequeo y resulta muy fcil
romper la clave privada simplemente factorizando el mdulo .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 979
El voto electrnico o por ordenador
Todos tenemos de una u otra forma una idea intuitiva,
aunque quizs no completa, sobre cmo se desarrolla un
proceso electoral.
La pregunta es si es posible realizar este tipo de eventos
desde Internet, lo que se conoce como esquema electoral.
La respuesta es s con la ayuda de tcnicas y protocolos
criptogrficos aunque no se trata slo de un problema de
implementacin tcnica; es menester tener en cuenta otros
factores importantes, a saber:
Socio-polticos, econmicos, jurdicos, legislativos...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 980
Definicin de esquema electoral
Un esquema de votacin electrnica es una
aplicacin distribuida y constituida por un conjunto
de mecanismos criptogrficos y protocolos que, de
forma conjunta, permiten que se realicen elecciones
en una red de computadores, de forma segura,
incluso suponiendo que los electores legtimos
pueden tener un comportamiento malicioso.
Andreu Riera
Tesis Doctoral, Universidad Autnoma de Barcelona, Espaa, 1999
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 981
Requisitos de un esquema electoral (1)
Requisitos de un esquema electoral:
Slo pueden votar quienes estn censados.
El voto debe ser secreto.
El voto debe ser nico por cada votante.
Se contabilizarn todos los votos vlidos.
El recuento parcial no debe afectar a votos
que se emitan con posterioridad.
sigue
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 982
Requisitos de un esquema electoral (2)
Requisitos de un esquema electoral:
Cada votante podr comprobar que su voto
ha sido tenido en cuenta en el escrutinio.
Esto ltimo es muy importante
Y, adems:
Se debe proteger el proceso contra ataques en red.
El proceso debe ser factible, prctico y dentro de lo
posible de uso universal.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 983
Primera aproximacin del voto electrnico
MCV = Mesa Central de Votacin
> El votante cifra su voto con la clave pblica de MCV.
> El votante enva su voto a la MCV.
> La MCV descifra el voto y lo contabiliza.
> La MCV hace pblico el resultado.
Qu problemas presenta este esquema? TODOS...
La MCV no sabe de dnde vienen los votos, si stos
son vlidos o no y si alguien vota ms de una vez.
Adems puede conocer la identidad del votante por lo
que se vulnera el secreto del voto. Lo nico que aqu
se protege es el secreto del voto ante terceros.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 984
Segunda aproximacin del voto electrnico
MCV = Mesa Central de Votacin
> El votante firma su voto con su clave privada y lo
cifra luego con la clave pblica de MCV.
> El votante enva su voto a la MCV.
> La MCV descifra el voto, lo contabiliza y hace
pblico el resultado.
Qu problema tenemos ahora?
En este nuevo esquema se satisface que cada votante
autorizado vote una sola vez, no obstante seguimos
vulnerando el secreto del voto ante la MCV.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 985
Tercera aproximacin del voto electrnico
El tercer esquema contempla dos mesas:
MCV = Mesa Central de Votacin
MCL = Mesa Central de Legitimacin
> Evita que la MCV conozca a quin ha votado el
votante, mediante un protocolo entre ambas, y
adems gestionan una lista de votantes censados.
MCV y MCL deben ser rganos independientes

Veamos cmo funciona este esquema


Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 986
Un protocolo de voto electrnico (1/5)
1. El votante A enva a la MCL el mensaje:
Buenos das, soy A y vengo a votar.
2. La MCL verifica si A est censado. Si no es
un votante legtimo rechaza la solicitud. Si es
legtimo, le enva un nmero aleatorio de
identificacin nico i(A) y le borra de la lista
para impedir que vuelva a votar.
Caractersticas
de i(A)
Toda la informacin ir
cifrada y firmada
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 987
Un protocolo de voto electrnico (2/5)
Cules deben ser
las caractersticas
de este nmero
aleatorio?
Mucho mayor que el
nmero de votantes.
Por ejemplo, para un
milln de votantes,
unos 10
100
nmeros.
I(A)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 988
Un protocolo de voto electrnico (3/5)
3. La MCL enva a la MCV la lista de nmeros de
validacin.
4. El votante A escoge una identificacin secreta
s(A) y enva a la MCV el mensaje formado por
el tro [i(A), v(A), s(A)] es decir:
su identificacin i(A)
su voto v(A)
su nmero secreto s(A)
Puede generarlo
internamente con su
sistema de cifra. Ser
tambin un valor de
muchos dgitos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 989
Un protocolo de voto electrnico (4/5)
5. La MCV verifica que el nmero i(A) de
identificacin se encuentra en el conjunto N de
los nmeros censados y cruza los datos para
evitar que se vote ms de una vez. Quita i(A) del
conjunto N y aade s(A) al conjunto de electores
que han optado por la opcin v(A).
6. La MCV contabiliza los votos y hace pblico el
resultado, junto con la lista de nmeros secretos
s(A) que han votado a la opcin v(A) ... luego
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 990
Un protocolo de voto electrnico (5/5)
Cada elector puede comprobar si su voto ha sido
contabilizado sin hacer pblica su opcin.
Qu pasa si MCV y MCL no son independientes?
Si las dos mesas, MCV y MCL, no tienen la idoneidad
y la integridad que se presume, la solucin est en el
uso de una diversidad de esquemas ms desarrollados
que evitan esta anomala mediante protocolos, entre
ellos ANDOS (All-or-Nothing Disclosure Of Secrets)
Distribucin Annima de Nmeros de Validacin,
pero esto ya se escapa del objetivo de este libro.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 991
Otros esquemas de mesas electorales
Hay muchos otros esquemas con dos mesas, una nica
mesa e incluso ninguna, cada uno con sus caractersticas
propias. Entre ellos tenemos:
- Modelo de Cohen y Fisher (1985)
- Modelo de Fujioka y otros (1992)
- Modelo de Park y otros (1993)
- Modelo de Sako y Killian (1995)
- Modelo de Borrel y Rif (1996)
Observe que son modelos y esquemas muy recientes.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 992
Estado del arte en voto electrnico
Existen diversos modelos y esquemas, algunos de ellos
probados con xito con un nmero reducido de electores.
No est todava bien solucionado el problema de la proteccin
fsica y lgica de la una red como Internet ante ataques
masivos, denegacin de servicio, etc. Es uno de los problemas
al que se enfrentan estos esquemas, su difcil escalabilidad. No
obstante, s se puede asegurar la factibilidad de un proceso de
voto telemtico prctico y seguro en cuanto a privacidad y
autenticidad.
Para mayor informacin sobre voto telemtico:

http://vototelematico.diatel.upm.es/
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 993
Cuestiones y ejercicios (1 de 4)
1. Qu diferencia hay entre un protocolo de red como por ejemplo
TCP/IP con un protocolo criptogrfico?
2. En una transferencia inconsciente de Rabin, A y B se intercambian
lo siguiente. A enva a B el nmero compuesto n = 55, B elige el
valor x = 9 y enva x
2
mod n a A. Qu valores de los 4 que puede
devolver A a B permiten a este ltimo factorizar el cuerpo n?
3. Qu sucede si en el ejemplo anterior B elige x = 10?
4. En el ejemplo anterior, estn bien elegidos por A los valores de p y
q? Qu valores usara si p y q fuesen nmeros mayores que 10?
5. Presente una solucin al problema del lanzamiento de la moneda a
travs del esquema d