¿Existe un estándar para determinar si una clave secreta / hash es segura?

1

¿Cuál es la base para que un determinado algoritmo se declare seguro / roto?
¿Hay algún estándar como el siguiente?
* Entiendo que hay ciertas fallas únicas como colisiones basadas en el algoritmo que se usa.

tiempo para calcular single = T
condiciones = C
número de posibilidades = N
Tiempo mínimo requerido = M

Dado C: T * N > M

    
pregunta Damien Golding 12.06.2017 - 03:25
fuente

2 respuestas

1

Para las contraseñas, por ejemplo, es común calcular el tiempo necesario para forzar brutalmente todas las posibilidades.

El tiempo empleado también depende del hardware utilizado. Brute forcing escala muy bien y al invertir más en hardware, se puede reducir el tiempo para descifrar una contraseña. Por lo general, el hardware de la parte superior de la línea se usa para calcular el tiempo, pero el scrypt paper , por ejemplo, da marcha atrás. enfoque; enumera los costos de una máquina y limita el tiempo:

Estorealmentenoindicalaseguridadgeneral,yaquesoloasumeunataquedefuerzabruta.Laseguridaddeunalgoritmopuedeversecomprometidadeotrasmaneras.Estogeneralmentesenotaporlareduccióneneltrabajonecesariopararealizaralgunaacción.Porejemplo,paracalcularunMD5paraquecoincidaconotroMD5,normalmentesenecesitan2cálculos128.Conun cierto ataque de preimagen , solo se necesitan 2 cálculos 123.4 .

    
respondido por el Sjoerd 12.06.2017 - 09:08
fuente
1

No existe un estándar real para esto a menos que haya declarado uno para usted y su caso de uso.

Pero aquí hay algunos ejemplos de propiedades comunes de los algoritmos seguros :

Algoritmos de cifrado

  • Confidencialidad: fuerza de cifrado con un mínimo de 100 bits
    • Nota: key-size! = fuerza de cifrado
  • Integridad: ¿Se utiliza un MAC?
  • Autenticación: ¿Está firmada?
  • Deniabilidad plausible: Por ejemplo, OTR, Axolotl
  • ...

Hash algorithms

  • resistencia a la colisión
  • resistencia previa a la imagen
  • segunda resistencia de pre-imagen
  • tiempo para calcular un solo hash
    • es posible la paralelización? ( enlace )
    • es la memoria del algoritmo hash difícil, por ejemplo, scrypt
  • ...

Tenga en cuenta que esta no es una lista completa, pero podría ofrecerle una pequeña descripción de la complejidad de la pregunta: ¿Es inseguro / roto?

    
respondido por el nebulak 12.06.2017 - 09:37
fuente

Lea otras preguntas en las etiquetas