Portada Técnicas criptográficas de protección de datos

Prólogo xvii


Capitulo 1. La Criptología ....1

l. Introducción ....1
2. Procedimientos clásicos de cifrado ....5
2.1. Principios de sustitución y de transposición ....5
2.2. Ejemplos históricos de cifrado por sustitución ....6
2.3. Condiciones de secreto perfecto ....9
2.4. Aplicación práctica del cifrado en flujo ....11

3. Introducción al Criptoanálisis ....12
3.1. Ataques a un criptosistema ....13
3.2. Ataque por fuerza bruta. Espacio de claves ....16
3.3. Secreto perfecto. Distancia de unicidad ....17
3.4. Teoría de la Información. Redundancia. Entropía de una fuente de información ....19
3.5. Distribución de las letras de una lengua escrita ....21

4. Criptoanálisis básico ....22
4.1. Ejemplo de Criptoanálisis de un cifrado de Vigenère ....23
Referencias ....29


Capítulo 2. Criptografía de clave secreta: Métodos de cifrado en flujo ....31

1. Generadores pseudoaleatorios de secuencia cifrante ....32
1.1. Período ....33
1.2. Distribución de ceros y unos ....33
1.3. Imprevisibilidad ....35
1.4. Facilidad de implementación ....35

2. Estructuras básicas para la generación de secuencias cifrantes ....35
2.1. Generadores basados en congruencias lineales ....35
2.2. Registros de desplazamiento realimentados ....36
2.3. Registros de desplazamiento realimentados no linealmente (NLFSR) ....37
2.4. Registros de desplazamiento realimentados linealmente (LFSR) ....39

3. Filtrado no lineal ....45

4. Combinadores no lineales ....46
4.1. Generadores de secuencia basados en una combinación no lineal de varios registros de desplazamiento ....47
4.2. Generadores de secuencia multivelocidad ....49
4.3. Generadores de secuencia con desplazamiento irregular ....50
4.3.1. Generador de Beth-Piper ....51
4.3.2. Generador en cascada de Gollmann ....52
4.3.3. Generador shrinking ....53
4.4. Características generales de los combinadotes no lineales ....55

5. Conclusiones ....55

Referencias ....56


Capítulo 3. Criptografía de clave secreta: Métodos de cifrado en bloque ....59

1. Arquitectura del cifrado en bloque ....60

2. Cifrados de Feistel ....61

3. DES ....61
3.1. Estructura del DES ....63
3.2. Involución en el DES ....64
3.3. Manipulaciones en el DES ....65
3.4. Expansión de claves en el DES ....66
3.5. Propiedades del DES ....67
3.6. Seguridad del DES ....68

4. Modos de implementación de los cifrados en bloque ....69
4.1. Encadenamiento de bloques cifrados ....72
4.2. Realimentación del texto cifrado ....72
4.3. Realimentación de salida ....73

5. Cifrado múltiple ....74
5.1. Ataque a los cifrados múltiples por "encuentro a medio camino" ....75
5.2. Cifrado triple ....76

6. IDEA ....77
6.1. Seguridad de IDEA ....79

7. RC5. ....79

8. AES y Rijndael ....81
8.1. Estructura del AES ....83
8.1.1. Transformación SubBytes ( ) ....85
8.1.2. Transformación Shi ftRows ( ) ....86
8.1.3. Transformación MixColumns ( ) ....87
8.1.4. Transformación AddRoundKey ( ) ....88
8.2. Esquema de clave en el AES ....88

9. Ataques especializados a los cifrados en bloque ....90
9.1. Criptoanálisis diferencial ....90
9.1.1. Criptoanálisis diferencial del DES ....92
9.2. Criptoanálisis lineal ....96
9.3. Criptoanálisis basado en fallos de hardware ....97
9.4. Ataque por análisis temporal ....98
9.5. Criptoanálisis diferencial de potencia ....99

Referencias ....99


Capitulo 4. Gestión de claves simétricas ....103

1. Introducción ....103
1.1. Arquitectura de una red ....105
1.2. Tipos de claves usuales ....106

2. Clave maestra y almacenamiento de claves ....109

3. Generación de claves maestras ....110

4. Predistribución de claves maestras ....111

5. Vida de una clave de cliente ....112

6. Protocolos de comunicación ....114
6.1. Piezas de un protocolo ....115
6.2. Protocolos de autenticación con clave simétrica ....115
6.2.1. Protocolo de autenticación con sello temporal ....117
6.2.2. Protocolo de autenticación con números aleatorios ....117
6.2.3. Protocolo de autenticación con números aleatorios y funciones unidireccionales ....118
6.3. Protocolos de autenticación y establecimiento de clave de sesión ....119
6.3.1. Protocolo de la rana habladora ....119
6.3.2. Protocolo de Needham-Schroeder ....120
6.3.3. Protocolo de Otway-Rees modificado ....121
6.3.4. Protocolo Kerberos ....122

Referencias ....123


Capitulo 5. Aplicaciones y arquitectura con cifrado simétrico ....125

1. Autenticación de mensajes (MAC) ....126

2. Firma digital ....127

3. Identificación personal ....128

4. Tarjetas electrónicas ....129

5. Configuraciones de cifrado ....130

Referencias ....135


Capítulo 6. Criptosistemas de clave pública ....137

1. Definiciones ....137

2. Cambio de clave de Diffie-Hellman ....138

3. Criptosistemas de clave pública ....140

4. Criptosistema RSA ....141

5. Ataque el criptosistema RSA ....144

6. Criptoanálisis del tipo Wiener-Boneh ....147

7. Criptosistema de ElGamal ....151

8. Ataque al criptosistema de ElGamal ....154

9. Criptosistemas de curvas elípticas ....154
9.1. Cambio de clave de Diffie-Hellman para curvas elípticas ....159
9.2. Criptosistema de E1Gamal para curvas elípticas ....160

10. Criptosistema de la mochila tramposa ....161

Referencias ....164


Capítulo 7. Protocolos criptográficos y firmas digitales ....167

1. Firma digital ....167

2. Firma digital del criptosistema RSA ....169

3. Firma digital del criptosistema de E1Gamal ....171

4. Funciones hash ....173

5. Firma digital estándar del NIST ....176

Referencias ....180


Capitulo 8. Aplicaciones de la Criptografia de clave pública ....181

1. Autenticación de un mensaje ....181

2. Identificación del usuario ....183

3. Lanzamiento de una moneda por teléfono ....185

4. Póquer por teléfono ....188

5. Secreto dividido ....190

6. Descubrimiento parcial de secretos. Problema del millonario ....193

7. Transferencia inconsciente ....197

8. Venta de secretos ....200

9. Esquema electoral ....202

10. Descubrimiento mínimo ....204

11. Intercambio de secretos ....205

12. Firma de un contrato ....206

13. Correo con acuse de recibo ....206

14. Computación con datos encriptados ....207

15. Canales subliminales ....209

16. Protección de software ....210

Referencias ....211


Capitulo 9. Aplicaciones criptográficas en redes de comunicaciones ....215

1. Introducción ....215

2. Principios de seguridad en redes de comunicaciones ....216

3. Aplicaciones de seguridad en redes de comunicaciones ....217

4. Sistemas de autenticación ....220
4.1. Arquitecturas de seguridad: Kerberos ....221
4.2. Certificados X.509 y autoridades de certificación ....223
4.3. Autoridades y certificados de atributos ....231

5. Seguridad en Internet ....232
5.1. Grupo de trabajo IPsec de la IETF ....234
5.2. Protocolo de seguridad de IP ....234
5.2.1. Asociaciones de seguridad ....235
5.2.2. Cabeceras de Autenticación (AH) ....235
5.2.3. Datos Seguros Encapsulados (ESP) ....236
5.3. Protocolo de gestión de clave para Internet ....237

6. Seguridad en la Web ....237
6.1. S-HTTP ....237
6.2. SSL ....238

7. Correo electrónico seguro ....240
7.1. Privacy Enhanced Mail (PEM) ....242
7.2. Pretty Good Privacy (PGP) ....242
7.3. Secure-MIME (S/MIME) ....246

8. Aplicaciones bancarias y comercio electrónico ....248
8.1. Comercio electrónico ....249
8.1.1. Dinero electrónico ....250
8.1.2. Cheques electrónicos ....252
8.1.3. Pagos con tarjeta de crédito ....253
8.1.4. Micropagos ....256

9. Conclusiones ....257

Referencias ....257


Apéndices

A. Métodos matemáticos utilizados en Criptología ....259

1. División euclídea. Algoritmo de Euclides ....259

2. Grupos. Teorema de Lagrange ....261


3. El anillo de los números enteros módulo m ....261

4. La función de Euler ....263

5. Congruencias de Euler y Fermat ....264

6. Cuerpos finitos ....264

7. Primalidad ....266
7.1. Test de Solovay-Strassen ....269
7.2. Test de Miller-Rabin ....269

8. Factorización ....270
8.1. Método de Fermat ....271
8.2. Método de Legendre ....272
8.3. Método p de Pollard ....272
8.4. Método p - 1 de Pollard ....273

9. El logaritmo discreto ....275
9.1. Método de la búsqueda exhaustiva ....276
9.2. Método del paso gigante-paso enano ....276
9.3. Método de Pohlig-Hellman ....278

10. Generación de secuencias pseudoaleatorias ....279
10.1. Tests estadísticos ....282
10.2. Seguridad criptográfica de los generadores de bits pseudoaleatorios ....287

Referencias ....289


B. Nociones básicas sobre la Teoría de la Complejidad Computacional ....291

1. Definiciones ....291

2. Suma de dos números k-dígitos en base binaria ....292

3. Producto de un k-dígito por un h-dígito en base binaria ....293

4. Tiempos de ejecución ....293

5. Tiempos de ejecución de algoritmos de factorización ....296

6. Tiempos de ejecución de algoritmos del logaritmo discreto ....297


C. Criptografía visual y criptosistemas hiperelípticos ....301

1. Criptografia visual ....301
1.1. Esquemas umbrales visuales ....302
1.2. Encriptación de una imagen mediante un esquema 2 de 2. ....303
1.3. Esquemas visuales 2 de n ....305
1.4. Esquema visual umbral selectivo ....308

2. Criptosistemas hiperelípticos ....309
2.1. El logaritmo elíptico ....310
2.2. Curvas hiperelípticas ....312
2.3. Criptosistemas hiperelípticos ....313

Referencias ....316


D. Normativa sobre seguridad ....319

1. Introducción ....319

2. Organización de Estándares Internacionales (ISO) ....320

3. Unión Internacional de Telecomunicaciones (ITU) ....322

4. Subcomité 27 (SC27) ....323

5. Normas de seguridad para aplicaciones bancarias ....325

6. Normativas gubernamentales ....326

7. Normativa para Internet y RFCs ....327

8. Normativa de hecho ....328


E. Problemas de Criptología ....329

l. Enunciados ....329
1.1. Criptología clásica ....329
1.2. Métodos matemáticos ....330
1.3. Complejidad computacional ....334
1.4. Criptografia de clave secreta ....336
1.5. Criptografia de clave pública ....336
1.6. Firmas digitales ....339
1.7. Aplicaciones criptográficas ....340

2. Soluciones ....342
2.1. Criptología clásica ....342
2.2. Métodos matemáticos ....344
2.3. Complejidad computacional ....351
2.4. Criptografia de clave secreta ....355
2.5. Criptografia de clave pública ....357
2.6. Firmas digitales ....366
2.7. Aplicaciones criptográficas ....370

Bibliografía básica sobre Criptografía ....377

Índice alfabético ....391

© Biblioteca de la UOC