ECDH vs DH clave secreta tamaño

3

En las últimas semanas he estado leyendo sobre DH y ECDH , que son algoritmos de intercambio de claves para calcular una clave secreta compartida. De acuerdo con los consejos, es mejor usar DH con un tamaño de clave de 2048 bits y ECDH secp521r1 , lo que resulta en una clave secreta de 528 bits. Confundí acerca de la fuerza de estos dos algoritmos, lo que resulta en las siguientes preguntas:

  • Si ECDH secp521r1 tiene la fuerza equivalente a DH-2048 , ¿por qué hay una clave secreta más pequeña para ECDH ?
  • Si una persona usa un KDF conocido como HKDF-SHA-256 para derivar una nueva clave para cifrar; ¿Es ECDH secp521r1 mejor con respecto a DH-2048 porque es más rápido de calcular? ¿Como resultado, si algo es más rápido de computar para ambas partes (cliente, servidor), lo sería para el atacante?
pregunta Hadi 15.01.2017 - 09:21
fuente

1 respuesta

5

AIUI (no soy criptógrafo)

Medimos la seguridad de la criptografía preguntando "dado el ataque más conocido, cuánta potencia de computación se necesitaría para romper esto". Esta es claramente una medida imperfecta, puede haber un mejor ataque que los matemáticos no han descubierto todavía, pero lamentablemente es lo mejor que tenemos en la mayoría de los casos.

DH trabaja en un "grupo finito". Dicho grupo consiste en un conjunto finito de valores posibles junto con un operador que trabaja con dos valores del conjunto y devuelve otro elemento del conjunto. El operador también debe satisfacer una serie de axiomas a los que no voy a entrar aquí. El número de elementos en el conjunto se conoce como el "orden" del grupo.

Confusamente, hay dos formas de escribir grupos. Algunos grupos se escriben "como adición" con el operador representado por "+" y el elemento de identidad representado por "0". Otros se escriben "como multiplicación" con el operador representado por un operador de multiplicación (".", "*", "×" o nada en absoluto) y el elemento de identidad representado por "1".

Podemos aplicar el operador repetidamente. Si pensamos en el grupo por analogía a la suma, entonces la aplicación repetida del operador es análoga a la multiplicación. Si estamos pensando en el grupo por analogía a la multiplicación, la aplicación repetida del operador es análoga a la exponenciación. De aquí en adelante, me referiré a esta aplicación repetida del operador de grupo como exponenciación discreta. Gracias a la asociatividad, la exponenciación discreta se puede calcular en el tiempo proporcional al registro del exponente.

DH se basa en una exponenciación discreta que no es computacionalmente inviable para revertir. Específicamente para "A = g a " no debería ser posible encontrar "a" dado "A" y "g". El problema de revertir la exponenciación discreta se conoce como el problema de registro discreto.

La diferencia entre el DH tradicional y el ECDH es qué grupo se usa. El DH tradicional usa los enteros distintos de cero módulo p en la multiplicación. ECDH utiliza una curva elíptica.

La dificultad de resolver el problema del registro discreto depende en gran medida del grupo particular elegido.

Afaict para curvas elípticas, los algoritmos más conocidos tienen una complejidad de aproximadamente √n donde n es el orden del grupo. Por lo tanto, para 128 bits de seguridad necesitamos un grupo con aproximadamente 2 entradas 256 y nuestras claves tendrán aproximadamente 256 bits de longitud.

Para tradicional (módulo p) es posible usar el tamiz de campo de número general para resolver el problema de registro discreto. Este algoritmo tiene una complejidad mucho menor para un tamaño de grupo dado. Por lo tanto, se necesita una clave mucho más grande para introducirla en el ámbito de lo computacionalmente inviable.

    
respondido por el Peter Green 22.05.2018 - 12:39
fuente

Lea otras preguntas en las etiquetas