diff --git a/02-historia.html b/02-historia.html index bd7d257..228aa5d 100644 --- a/02-historia.html +++ b/02-historia.html @@ -215,41 +215,43 @@ /* hide footer and pagination */display:none}div#\:\$p>svg>foreignObject>section.last-slide a,div#\:\$p>svg>foreignObject>section.last-slide p{color:#111} /* You can add custom style here. VSCode supports this. Other editor might need these custom code in - the YAML header: section: | */div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]{columns:initial!important;display:block!important;padding:0!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:before,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:before{display:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction=vertical]{flex-direction:column}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split]>div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split,50%)}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split=right]>div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure>figcaption{position:absolute;border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content],div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo]{background:transparent!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo],div#\:\$p>svg[data-marpit-svg]>foreignObject[data-marpit-advanced-background=pseudo]{pointer-events:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background-split]{width:100%;height:100%}
+ the YAML header: section: | */div#\:\$p>svg>foreignObject>section[data-marpit-scope-9wTZ8tA8] th{background-color:#ddd;color:black;font-weight:normal;border:0} +/*td:first-child { background-color: var(--main-color);} + th:first-child { background-color: var(--main-color);}*/div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]{columns:initial!important;display:block!important;padding:0!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:before,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:before{display:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction=vertical]{flex-direction:column}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split]>div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split,50%)}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split=right]>div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure>figcaption{position:absolute;border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content],div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo]{background:transparent!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo],div#\:\$p>svg[data-marpit-svg]>foreignObject[data-marpit-advanced-background=pseudo]{pointer-events:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background-split]{width:100%;height:100%}

Historia de la criptografía

Juan Vera del Campo - juan.vera@professor.universidadviu.com

-
+

Años 40: Alemania controla Europa y amenaza al resto del mundo

Sus comunicaciones radio están protegidas con "la cifra indescifrable"

¿Por qué pensaban que era indescifrable?

¿Cómo se descifró?

¿Qué hemos aprendido desde entonces?

-
+

Hoy hablamos de...

  1. Criptografía clásica
  2. -
  3. Cifrado César
  4. -
  5. Mejoras al cifrado César: sistemas polialfabéticos
  6. -
  7. Confidencialidad perfecta
  8. -
  9. Resumen y referencias
  10. +
  11. Cifrado César
  12. +
  13. Mejoras al cifrado César: sistemas polialfabéticos
  14. +
  15. Confidencialidad perfecta
  16. +
  17. Resumen y referencias
-
+
Criptografía clásica

Criptografía clásica

-
+
Criptografía clásica

Criptografía = cifrado

Hasta los años 70 del siglo XX, la criptografía se usaba solo en el ámbito militar y solo ofrecía confidencialidad:

El enemigo no puede saber nuestros planes

El resultado debería ser un mensaje igual que el original

-
+
Criptografía clásica

Mecanismos clásicos de cifrado

    @@ -257,12 +259,118 @@

    Mecanismos clásicos de cifrado

  • Monoalfabéticos: mismo algoritmo para toda las letras
  • Polialfabéticos: algoritmos diferentes para cada letra
  • +
  • Características: confusión, S-boxes
  • +
+ +
  • Cifrados por transposición: mover letras de sitio +
      +
    • Característica: difusión, P-boxes
  • -
  • Cifrados por transposición: mover letras de sitio.
  • + +
    +

    https://medium.com/@maitri.51/securing-the-digital-realm-a-closer-look-at-s-boxes-and-p-boxes-in-encryption-b14b35f7e139

    +
    -
    +
    +
    Criptografía clásica
    + +

    Sustitución monoalfabética:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Texto en claro:HOLACLASE
    Texto cifrado:KRODFODVH
    +

    Sustitución polialfabética:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Texto en claro:HOLACLASE
    Texto cifrado:RSJKGJKWC
    +

    Ejemplo de transposición:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Texto en claro:HOLACLASE
    Texto cifrado:OCSHAALLE
    +
    +
    Criptografía clásica

    Transposición: escítala griega

    @@ -272,7 +380,7 @@

    Transposición: escítala grieg
  • Recepción: se enrollaba la cinta en la vara gemela para leer el mensaje original.
  • -
    +
    Criptografía clásica

    Sustitución: cifrado César

    @@ -281,22 +389,28 @@

    Sustitución: cifrado César

  • Es más antiguo que los romanos: incluso la Biblia hebrea incluye palabras con cifrado de sustitución y evitar así escribir la palabra real.
  • -
    +
    +
    Criptografía clásica
    +

    Criptografía moderna

    +

    Combinación de sustitución (s-boxes) y permutación (p-boxes)

    +

    center

    +
    +
    César y la fortaleza

    Cifrado César

    Fuerza bruta, análisis frecuencial y fortaleza de un algoritmo

    -
    +
    César y la fortaleza

    Historia

    • Leyenda: Julio César lo usaba para comunicarse con sus generales
    • Como todos los cifrados de sustitución monalfabética, se descifra con facilidad y en la práctica no ofrece apenas seguridad en la comunicación.
    -

    El cifrado César forma parte de sistemas más complejos de codificación, como el cifrado Vigenère, e incluso tiene aplicación en el sistema ROT13, y su estudio sirve para entender por qué los cifrados fallan.

    +

    El cifrado César forma parte de sistemas más complejos de cifrado y su estudio sirve para entender por qué los cifrados fallan.

    -
    +
    César y la fortaleza

    Cifrado

    @@ -306,12 +420,12 @@

    Cifrado

    Si necesitas repasar la aritmética modular, consulta el glosario

    -
    +
    César y la fortaleza

    Descifrado

    Giramos la tabla. Fíjate: para , el descifrado es equivalente a cifrar con :

    -
    +
    César y la fortaleza

    Seguridad del cifrado del César: fuerza bruta

    HOLAMUNDO
    @@ -319,7 +433,7 @@

    Seguridad del cifrado

    ¿qué podemos hacer si solo tenemos el texto cifrado ELIXJRKAL?

    , así que podemos probar las 26 claves una a una: ataque de fuerza bruta

    -
    +
    César y la fortaleza

    Ataque de fuerza bruta

    Un ataque de fuerza bruta implica probar sobre el mensaje cifrado todas las posibles claves hasta que encontremos la "buena":

    @@ -328,7 +442,7 @@

    Ataque de fuerza bruta

  • y validar si es válido. Es decir, si
  • -
    +
    César y la fortaleza

    Descifrada una carta encriptada de las guerras carlistas escrita en Bizkaia

    @@ -337,7 +451,7 @@

    Ataque de fuerza bruta

    https://www.elcorreo.com/culturas/descifra-carta-encriptada-20211108081121-nt.html

    -
    +
    César y la fortaleza

    Pero no siempre es posible saber si un mensaje se ha descifrado correctamente:

    @@ -346,14 +460,14 @@

    Ataque de fuerza bruta

  • Imagina que solo está cifrada la hora "atacamos a las X"... Si una clave descifra "a las 5" y otra "a las 7" ¿cómo validamos qué hora es correcta?
  • -
    +
    César y la fortaleza

    Contramedidas

    ¿Cómo podemos proteger estos sistemas contra la fuerza bruta?

    -
    +
    César y la fortaleza

    La defensa contra los ataques de fuerza bruta son:

      @@ -363,7 +477,7 @@

      Contramedidas

      Que el descifrado sea costoso tiene el problema de que también le costará al receptor, que descifra legítimamente. Actualmente no se recomienda

      Queda por tanto "que el adversario tenga que hacer muchas operaciones de descifrado". Es decir: que el atacante tenga que probar muchas claves.

    -
    +
    César y la fortaleza

    Fuerza bruta

      @@ -376,7 +490,7 @@

      Fuerza bruta

    Si tenemos capacidad de diseñar/fabricar en hardware (ASIC) los costes bajan después de un periodo de amortización

    -
    +
    César y la fortaleza

    Alquilando equipos en la nube por segundos, con un euro cada segundo podemos probar claves

    Si estimamos que nuestro "secreto" vale 1000 €:

    @@ -384,7 +498,7 @@

    Fuerza bruta

    Este sistema tendría fortaleza 48 bits: un atacante tiene que probar claves si quiere romperlo por fuerza bruta

    Observa: aumentando el número de bits de la clave aumentamos exponencialmente el tiempo necesario para romper el sistema. Con 128 bits... necesitaríamos miles de años

    -
    +
    César y la fortaleza

    Fortaleza de un algoritmo

    @@ -392,7 +506,7 @@

    Fortaleza de un algoritmo

    En los algoritmos bien diseñados, su fortaleza depende solo del tamaño de la clave: claves más largas tienen una fortaleza mayor

    La fortaleza o seguridad de un algoritmo es el número de claves que tienen que probar un atacante por fuerza bruta para romper un algoritmo. Normalmente se expresa en bits.

    -
    +
    César y la fortaleza

    Ejemplos:

      @@ -401,14 +515,14 @@

      Fortaleza de un algoritmo

    Los algoritmos actuales tienen fortalezas de 128 ó 256 bits, pero ya veremos esto con más detalles en sesiones posteriores

    -
    +
    César y la fortaleza

    Aumentando el espacio de claves en César: mapeo aleatorio

    Hemos visto que el César original tiene como máximo 26 claves, aproximadamente , es decir, entre 4 y 5 bits de fortaleza.

    Podemos mejorarlo permitiendo cualquier mapeo aleatorio:

    Ahora tenemos posibles claves, , 88 bits de fortaleza.

    -
    +
    César y la fortaleza

    ¿Cuánto tiempo necesitamos guardar un secreto?

      @@ -419,7 +533,7 @@

      ¿Cuánto tiemp

      Piensa: en 10 años la tecnología ha avanzado mucho: lo que ahora cuesta 100 años, ¡en 10 años podría ser automático!

      Más sobre esto en el tema 3

    -
    +
    César y la fortaleza

    Mejorando la fuerza bruta

    ¿Podemos encontrar un método más rápido que probar las claves una a una?

    @@ -431,13 +545,13 @@

    Mejorando la fuerza bruta

    https://www.dcode.fr/caesar-cipher

    Si el mensaje es suficientemente largo, podemos analizar la frecuencia de aparición de los carácteres

    -
    +
    César y la fortaleza

    Análisis de frecuencias

    ¡La estadística se mantiene igual (pero movida) después del cifrado César!

    -
    +
    César y la fortaleza

    Rotura de algoritmos criptográficos

    @@ -445,13 +559,13 @@

    Rotura de algoritmos criptogr

    Es decir: no es necesario probar todas las claves ciegamente. Por ejemplo, podemos descartar todas aquellas que darían un texto con un número imposible de Z

    Un algoritmo está roto desde el punto de vista criptográfico cuando se conoce un ataque más eficiente que la fuerza bruta.

    -
    +
    Vigenère y Enigma

    Mejoras al cifrado César: sistemas polialfabéticos

    Vigenère y Enigma

    -
    +
    Vigenère y Enigma

    Transponer y sustituir

    @@ -463,14 +577,14 @@

    Transponer y sustituir

    Todo esto aumenta el espacio de claves, pero sigue siendo vulnerable a análisis de frecuencia.

    -
    +
    Vigenère y Enigma

    Tabula recta

    Johannes Trithemius en 1508, con el primer libro conocido dedicado a la criptografía, inició el sistema de cifrados polialfabéticos...

    ...al principio sin clave.

    -
    +
    Vigenère y Enigma

    Cifrado de Vigenère

    Cifrado polialfabético de Giovan Battista Bellaso en 1553, pero atribuido a Vigenère

    @@ -479,9 +593,9 @@

    Cifrado de Vigenère

    Es decir: la primera letra se desplaza 23 posiciones, la segunda 8, la tercera 3, luego 23 otra vez, luego 8, luego 3...

    Habitualmente se escriben las letras que cifran el texto "AAA":

    -

    +

    -
    +
    Vigenère y Enigma

    @@ -495,19 +609,19 @@

    Cifrado de Vigenère

    EWO XUX KLR
    -
    +
    Vigenère y Enigma

    "Le chiffre indéchiffrable" se utilizó desde el siglo XVI hasta bien entrado el siglo XX.

    ...aunque ya había expertos en romperlo en el siglo XIX.

    -
    +
    Vigenère y Enigma

    Ejemplo

    Wr urutlsyrmjae, wl omxvsda Gwwsr, feefaez ggrgcuhg ggma gajjaps hsj dqwhpszmqaifta, gghaga hw Gwsmv g hwsbpsdsmuifxg dq Gwwsr, qw mrs dq psw leoragss pi umxrmhg qss emetdee c eek ueevek. Ee yf xapa hw gafdevs hod wmwlifyumgn qr wp iuq yfe defvs if ex xwblo avakanmp ww jeqqhpszmhs tgr axje defvs

    https://www.dcode.fr/vigenere-cipher

    -
    +
    Vigenère y Enigma

    Seguridad de Vigenére

    Ahora el espacio de claves es (clave de 3 carácteres):

    @@ -519,7 +633,7 @@

    Seguridad de Vigenére

  • Si , existen claves diferentes. Coste: 100 mil millones de €
  • -
    +
    Vigenère y Enigma

    Vulnerabilidad: la repetición de la clave, que además es de longitud adivinable y normalmente corta.

    @@ -530,7 +644,7 @@

    Seguridad de Vigenére

    Un espacio de claves grande no es suficiente
    No se debe cifrar dos trozos del mensaje con la misma clave

    -
    +
    Vigenère y Enigma

    Máquina Enigma

    -
    +
    Vigenère y Enigma

    -
    +
    Vigenère y Enigma

    Máquina Enigma: seguridad

    -
    +
    Vigenère y Enigma

    Protocolo alemán de uso:

    @@ -567,7 +681,7 @@

    Máquina Enigma: seguridad

  • El texto era natural
  • -
    +
    Vigenère y Enigma

    Se rompió más "por mal protocolo" que porque el sistema fuese defectuoso

    @@ -582,7 +696,7 @@

    Máquina Enigma: seguridad

  • El texto era natural: nada que reportar, hitler, meteorología... aparecían con mucha frecuencia
  • -
    +
    Vigenère y Enigma

    Una vez reducido el espacio de clave, identificados qué textos es probable que apareciesen y otros atajos...

    @@ -590,13 +704,13 @@

    Máquina Enigma: seguridad

    La "Bombe" fue una de las primeras máquinas de procesado binario.

    El descifrado de Enigma fue una de las claves que permitió a los aliados ganar la Segunda Guerra Mundial

    -
    +
    Confidencialidad perfecta

    Confidencialidad perfecta

    One-time-pad (cifrado Vernam)

    -
    +
    Confidencialidad perfecta

    Confidencialidad perfecta

    @@ -609,12 +723,12 @@

    Confidencialidad perfecta

    Communication Theory of Secrecy Systems, Claude E. Shannon, Bell System Technical Journal, vol.28-4, page 656--715, Oct. 1949.

    -
    +
    Confidencialidad perfecta

    Definición exacta:

    Confidencialidad perfecta (perfect secrecy): un sistema es perfectamente seguro si y solo si para cualquier distribución de probabilidad sobre el espacio de mensajes en claro , y para todos los mensajes en claro y para todos los textos cifrados posibles , la probabilidad condicionada de dada y la probabilidad de coinciden

    -
    +
    Confidencialidad perfecta

    Si un cifado perfecto teórico cifra como XHAJSJXXNFHFDOIOJUMNFNNNF:

    @@ -625,7 +739,7 @@

    Confidencialidad perfecta

    Un cifrado perfecto no puede descifrarse ni siquiera por fuerza bruta porque un atacante no puede distinguir el mensaje real de todos los mensajes falsos posibles

    -
    +
    Confidencialidad perfecta

    ¿A qué hora atacamos?

    @@ -639,7 +753,7 @@

    ¿A qué hora atacamos?

    El enemigo captura este mensaje: "Atacamos a las F horas"

    ¿Tiene alguna forma el enemigo de conocer a qué hora le atacarán?

    -
    +
    Confidencialidad perfecta
      @@ -656,7 +770,7 @@

      ¿A qué hora atacamos?

    • Hay que volver a enviar una nueva clave cada vez que queramos enviar un mensaje nuevo, con el riesgo de que el enemigo intercepte el mensaje de envío de clave
    -
    +
    Confidencialidad perfecta

    Convirtiendo Vigènere en cifrado perfecto: cifrado Vernam

    El cifrado de Vigenère sufría un problema similar al del César (aunque camuflado): manifestaba la estadística del mensaje en claro en el mensaje cifrado

    @@ -668,7 +782,7 @@

    Convirtie
  • la clave no se usa nunca más
  • -
    +
    Confidencialidad perfecta

    Vernam patentó el one-time-pad de una manera similar pero equivalente:

    @@ -682,14 +796,14 @@

    Convirtie

    Si lo necesitas, mira la operación XOR en el glosario

    -
    +
    Confidencialidad perfecta

    El teléfono rojo entre Washington y Moscú fue en realidad un teletipo que usaba cifrado de bloque de un solo uso

    La clave se intercambiaba por valija diplomática en cinta perforada que se entregaba en ambos sentidos. Mientras no hacía falta, se guardaba protegida y se destruía después de ser usada

    Además, el one-time-pad permitía trabajar de forma segura sin intercambiar ningún algoritmo secreto que diera ventaja técnica al enemigo

    Para poder usar un one-time-pad, la clave se prepara por adelantado para cuando haga falta enviar algún mensaje inmediatamente.

    -
    +
    Confidencialidad perfecta

    Vulnerabilidades

    Ninguna. Ni siquiera por fuerza bruta: si pruebas claves, puedes "descifrar" el texto cifrado y conseguir cualquier mensaje que se te ocurra...

    @@ -701,7 +815,7 @@

    Vulnerabilidades

    Los humanos somos muy malos para distinguir qué es y qué no es aleatorio

    -
    +
    Confidencialidad perfecta

    Pero el principal problema es que la longitud en bytes de es igual a la longitud en bytes de .

    Cuesta tanto enviar de forma segura como enviar directamente en claro por el mismo canal seguro

    @@ -709,7 +823,7 @@

    Vulnerabilidades

    Más ejemplos: https://www.cryptomuseum.com/covert/conceal/index.htm

    -
    +
    Confidencialidad perfecta
    • Al final de la segunda guerra mundial, EEUU descifró el one-time-pad usado por los diplomáticos alemanes porque utilizaban contraseñas no totalmente aleatorias y podían adivinarse.
    • @@ -717,13 +831,13 @@

      Vulnerabilidades

    • 1962 (ataque canal lateral): las máquinas usadas para cifrar eran eléctricas y emitían un campo magnético, que Japón podría haber aprovechado para captar qué cifraba la embajada de EEUU: TEMPEST
    -
    +

    Resumen y referencias

    -
    +

    center

    -
    +
    • La información de contexto puede ayudar a descifrar un mensaje
    • Definimos la fortaleza de un algoritmo como el tamaño de la clave en bits, si no se puede romper más que por fuerza bruta
    • @@ -739,12 +853,12 @@

      Resumen y referencias

    • Hasta los '70 la criptografía o era "insegura" (cifrados César, Vigenere, Enigma) o no era "práctica" (one-time-pad)
    -
    +

    1976, el año que empezó todo...

    La NSA selecciona un algoritmo de cifrado simétrico de IBM para comunicaciones de la administración: DES (Data Encryption Standard), que es "casi" perfecto.

    Whitfield Diffie y Martin Hellman generan el primer algoritmo práctico de criptografía asimétrica, que permite distribuir fácilmente claves seguras.

    -
    +

    Referencias

    -
    +

    Ejercicios opcionales pero muy recomendables:

    Continúa en: Criptografía simétrica

    -
    +

    ¡Gracias!

    \ No newline at end of file diff --git a/07-pki.html b/07-pki.html index 5bf9a7c..9921984 100644 --- a/07-pki.html +++ b/07-pki.html @@ -217,7 +217,7 @@ Other editor might need these custom code in the YAML header: section: | */ /* section header { display: none; } */ -/* section footer { display: none; } */div#\:\$p>svg>foreignObject>section[data-marpit-scope-7zTrmGhP] p{font-size:150%}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]{columns:initial!important;display:block!important;padding:0!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:before,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:before{display:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction=vertical]{flex-direction:column}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split]>div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split,50%)}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split=right]>div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure>figcaption{position:absolute;border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content],div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo]{background:transparent!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo],div#\:\$p>svg[data-marpit-svg]>foreignObject[data-marpit-advanced-background=pseudo]{pointer-events:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background-split]{width:100%;height:100%}
    +/* section footer { display: none; } */div#\:\$p>svg>foreignObject>section[data-marpit-scope-IULekMpx] p{font-size:150%}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]{columns:initial!important;display:block!important;padding:0!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:before,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:before{display:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction=vertical]{flex-direction:column}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split]>div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split,50%)}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split=right]>div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure>figcaption{position:absolute;border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content],div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo]{background:transparent!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo],div#\:\$p>svg[data-marpit-svg]>foreignObject[data-marpit-advanced-background=pseudo]{pointer-events:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background-split]{width:100%;height:100%}

    Public Key Infrastructure y protocolo HTTPS

    Juan Vera del Campo - juan.vera@professor.universidadviu.com

    @@ -294,7 +294,7 @@

    Ataque man in the middle

    ¿Cómo consigo la clave pública de Bob?

    -
    +
    Gestión de claves públicas

    Hemos cambiado el problema de

    diff --git a/images/historia/modern-algorithms.png b/images/historia/modern-algorithms.png new file mode 100644 index 0000000..5594cf4 Binary files /dev/null and b/images/historia/modern-algorithms.png differ diff --git a/index.html b/index.html index bfb3c18..e999745 100644 --- a/index.html +++ b/index.html @@ -215,7 +215,7 @@ /* hide footer and pagination */display:none}div#\:\$p>svg>foreignObject>section.last-slide a,div#\:\$p>svg>foreignObject>section.last-slide p{color:#111} /* You can add custom style here. VSCode supports this. Other editor might need these custom code in - the YAML header: section: | */div#\:\$p>svg>foreignObject>section[data-marpit-scope-oRa052gN] ol{counter-reset:li 5}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]{columns:initial!important;display:block!important;padding:0!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:before,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:before{display:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction=vertical]{flex-direction:column}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split]>div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split,50%)}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split=right]>div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure>figcaption{position:absolute;border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content],div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo]{background:transparent!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo],div#\:\$p>svg[data-marpit-svg]>foreignObject[data-marpit-advanced-background=pseudo]{pointer-events:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background-split]{width:100%;height:100%}
    + the YAML header: section: | */div#\:\$p>svg>foreignObject>section[data-marpit-scope-6QQUHHvf] ol{counter-reset:li 5}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]{columns:initial!important;display:block!important;padding:0!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:before,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:before{display:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction=vertical]{flex-direction:column}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split]>div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split,50%)}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split=right]>div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure>figcaption{position:absolute;border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content],div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo]{background:transparent!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo],div#\:\$p>svg[data-marpit-svg]>foreignObject[data-marpit-advanced-background=pseudo]{pointer-events:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background-split]{width:100%;height:100%}

    Criptografía y teoría de códigos

    Presentación

    @@ -238,7 +238,7 @@

    Temario

    -
    +
    1. Funciones de Hash y Blockchain
    2. TLS y Public Key Infrastructure