Estoy tratando de entender cómo el generador de contraseñas GRC puede obtener 512 bits de datos secretos mientras encripta 128 bits de datos.
La dirección del generador se encuentra aquí: https://www.grc.com/passwords.htm Consulte la sección «Detalles técnicos» al final de la página web.
Escribieron:
El resultado de la combinación de la clave secreta Rijndael / AES de 256 bits, la incognoscible (por lo tanto secreta ) valor actual del contador de incremento monotónico de 128 bits, y el vector de inicialización secreto de 128 bits (IV) son 512 bits de datos secretos que proporcionan una seguridad extremadamente alta para la generación de las «contraseñas perfectas» de esta página. Nadie va a averiguar qué contraseñas acaba de recibir.
Lo que probé es
Hice un nuevo IV (128 bits):
Buffer([00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00])
Un contador monolítico, lo que en realidad está cifrado (128 bits):
Buffer([00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01])
Una clave de cifrado (256 bits): 32 bytes)
Buffer([00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00])
Ellos XOR el IV con el contador monolítico (o el último resultado de cifrado con el monolítico contador, si hay un último resultado).
Dicen que les da 512 bits de datos secretos. Pero cuando cifro todo, obtengo 16 bytes (128 bits) de datos:
<Buffer ad 86 de 83 23 1c 32 03 a8 6a e3 3b 72 1e aa 9f>
¿Cómo obtienen 512 bits de datos «secretos»? ¿Y cómo XOR 512 bits de datos con 128 bits del contador monolítico?
Respuesta
¿Y cómo XOR 512 bits de datos con 128 bits del contador monolítico?
No lo hace. Mire atentamente el algoritmo publicado. Todas las operaciones XOR ocurren en valores de 128 bits. La entrada de 256 bits es la clave para una implementación AES de 256 bits. El interruptor SPDT comienza usando el IV secreto y luego cambia a ejecutarse con un contador de 128 bits. Los 512 bits vienen from 512 = | IV | + | contador | + | clave |. Todo esto es un poco absurdo ya que está poniendo 512 bits de (supuesta) entropía y solo genera una contraseña de 128 bits. Esto es exactamente lo que se ha demostrado a sí mismo. Normalmente, el algoritmo AES-CTR-PRNG es el siguiente (sin interruptores) y el método de Steve es característicamente inusual.
¿Cómo obtienen 512 bits de datos «secretos»?
¿Quién sabe? Probablemente sea una llamada a CryptGenRandom (Steve es un hombre de Windows), pero tal vez esté codificado en algún lugar. Y en ensamblado, sin duda. O podría provenir de su Generador de números pseudoaleatorios de entropía ultra alta basado en cuadrados latinos. Otra maravilla.
Nadie va a averiguar qué contraseñas acabo de recibir.
Alcance la sal. Esto es claramente falso. Cualquier enrutador de interceptación SSL a lo largo de la línea puede descifrar y leer el tráfico web (en el fly). Y Steve también lo sabe. Quizás la moraleja de esta pregunta es: no utilice un servicio web para obtener su contraseña o clave de. Si está realmente atrapado por una clave / contraseña, use los dados o simplemente presione las teclas del teclado al azar. Eso fue lo suficientemente bueno para los blocs de notas de alto secreto durante la Segunda Guerra Mundial, por lo que debería ser suficiente para ti.
De hecho, has hecho la pregunta incorrecta. Deberías haber preguntado quién es Steve Gibson. Búscalo en Google y descúbrelo. Hay una gran cantidad de artículos. No puedo escribir más sin sacrificar mi compostura y profesionalismo.
Comentarios
- Wow jajaja muchas gracias. Respuesta muy interesante. Así que No debería ' confiar en este sitio web porque es ' un sitio web, pero también, y esto es lo que me llamó la atención, porque el sitio web intente ser transparente explicando cómo generan las claves, pero fallaron y demostraron que están bastante mal al hacerlo. Gracias nuevamente por su tiempo
- @JeremyDicaire Es posible que desee echar un vistazo a esto y recuérdelo la próxima vez que vea algo relacionado con GRC …