intercambio de claves Diffie-Hellman

4

La siguiente imagen intenta explicar el intercambio de claves diffie-hellman para personas que no son fuertes en matemáticas como yo:

Entiendo cómo el ejemplo de color / pintura ilustra la idea. Pero estoy un poco confundido acerca de cómo se relaciona con el uso de números muy grandes, como es el caso del protocolo real.

En particular, las últimas etapas de la imagen de arriba,

Recibiendo la mezcla de pintura de cada uno, agregan su color secreto y terminan con un secreto común. Este secreto es el mismo color en la foto. Pero, ¿qué pasaría si se usaran otros colores secretos? Quiero decir que eso no garantizaría terminar con el mismo color, ¿verdad?

¿Cómo se relaciona eso con el uso de grandes números? ¿Terminan con el mismo número que el secreto común?

    
pregunta DSF 24.05.2014 - 11:34
fuente

1 respuesta

9

Con grandes números, Diffie-Hellman se ve así: trabajamos en modulo a big prime p , y comenzamos con un gran número entero convencional g (en la sección 2..p-2 rango). Cada módulo entero p representa un color logrado; g en sí mismo es el punto de partida, es decir, "amarillo" en tu imagen.

Cada pintura es un número entero; el rango de tonos de pintura posibles es grande (al menos 2 160 ). Mezclar una nueva pintura x con la mezcla actual v es una exponenciación modular: la nueva mezcla se convierte en vx mod < em> p (subes v a la potencia x , modulo de trabajo p , por lo que regresas a un número entero en el 1..p-1 rango). No mezclar pintura es equivalente a mezclar la pintura "1", porque v 1 = v mod p .

Diffie-Hellman funciona gracias a dos características:

  1. Unidireccional: dados v y vx , es difícil volver a calcular < em> x . En la analogía de la pintura, cualquiera puede mezclar pinturas, pero nadie puede "des-mezclar" lo que fue mezclado.

  2. Comutatividad: mezclar pintura x , luego pintar y , produce el mismo resultado que mezclar y luego x . Con los números: (g x ) y = g xy = (g y ) x mod p . Con las pinturas, esto significa que poner amarillo en azul produce el mismo verde que poner azul en amarillo. Por eso Alice y Bob terminan con el mismo color.

En la imagen, Alice y Bob comienzan con amarillo. Alice mezcla la naranja, mientras que Bob usa el cian en su propio papel. Luego Alice y Bob intercambian sus papeles; Alice obtiene el papel amarillo + cian, mientras que Bob ahora tiene el papel amarillo + naranja. Alice no sabe que lo que tiene en ese momento es amarillo + cian; solo sabe que tiene una mezcla de amarillo y "cualquier color secreto que use Bob". Luego se mezcla en su propio color secreto (el mismo que usó inicialmente en su propia hoja, ahora en manos de Bob), y esto le da amarillo + cian + naranja. De manera similar, Bob agrega cian a la hoja que obtuvo de Alice y obtiene amarillo + naranja + cian, es decir, el mismo tono final . Esto funciona porque cada hoja fue salpicada con los colores secretos de Alice y Bob (naranja y cian), y el orden de mezcla no importa para el tono final. Esto es seguro porque lo que viajó "en el cable" (al alcance de los espías) es solo hojas mixtas: un espía vería una hoja amarilla + naranja, e incluso sabiendo que es una mezcla de amarillo y el color secreto de Alicia, y luego descubrir que el color secreto de Alicia es el naranja es difícil.

Donde se rompe la analogía de la pintura: Como todas las analogías, no es perfecta. Hay dos características de la aritmética modular que son cruciales para la seguridad y no se traducen a pinturas:

  1. Los enteros modulares "envuelven". Puede, al menos en teoría, mezclar muchas pinturas distintas y volver al amarillo inicial. Estas pinturas de números se pueden cancelar entre sí; esto es como si hubiera "pinturas negativas" que eliminan pigmentos en lugar de agregar nuevos. Con las pinturas reales, la mezcla extensa solo puede alcanzar un cierto estado gris oscuro.

  2. Los tonos pueden ser similares entre sí, no enteros. Si un espía (llamémosle Charles) observa la hoja amarilla + naranja de Alicia, puede hacer experimentos con amarillo y con su propio surtido de pinturas. Por ejemplo, si Charles mezcla amarillo con rojo, obtendrá algo más cerca de la hoja que observó, mucho más cerca que si mezcla amarillo con azul. Charles podría volver a intentarlo con varios tonos de rosa, ocre y naranja, hasta localizar el color secreto de Alice. Esto funcionaría con pinturas físicas, pero no con enteros modulares, donde no tiene forma de adivinar si está "cerca" o "no está cerca".

    Esto ilustra un punto fundamental: todo este protocolo trata sobre información . Lo que Charles quiere es "des-mezclar" las pinturas, pero no necesariamente hacerlo de manera destructiva; de hecho, el mejor interés de Charles es dejar que la hoja de Alice llegue a Bob ileso (no tiene sentido romper un protocolo de intercambio de claves si las víctimas no completan realmente el intercambio de claves, y por lo tanto no usan la clave intercambiada). Lo que Charles quiere hacer es obtener una copia del color secreto de Alice (o al menos una copia del tono final), utilizando su propio stock de pinturas.

respondido por el Thomas Pornin 24.05.2014 - 14:55
fuente

Lea otras preguntas en las etiquetas