El artículo está algo equivocado. Un Core Duo calculará unas 200 constraseñas por segundo... si estas son bcrypt(las de OpenBSD), que además no pueden acelerarse usando GPU's.
Contraseñas que sean simples MD5 como las NTLM (no confundir con las que se usan en Linux/Cisco que son originales de FreeBSD) un único Core de un Core Duo puede hacer unos 2-4 millones, con lo que si es cierto que pueden hacer 1000 millones usando GPU's, es bastante impresionante, pero no tanto como sugiere el artículo.
--
Programs should be written for people to read,
and only incidentally for machines to execute
* NVIDIA GPU acceleration (patent pending) reduces password recovery time by a factor of 20
Esto ya es el colmo. Ahora también patentamos el crackeo de contraseñas?
Si te interesa el tema te recomiendo que leas el artículo [openbsd.org] que describe las contraseñas bcrypt. No solo explica como se calculan, sino que pone en analiza los problemas de otros algoritmos.
El algoritmo que usan las bcrypt está diseñado expresamente para que sea costoso y no pueda optimizarse. Cito del artículo:
We hope that the unpredictable and changing content of the Parray and SBoxes will reduce the applicability of yet unknown optimizations additionally the eksblowish SBoxes require 4 KB of constantly accessed and modified memory.Thus the SBoxes cannot be shared across key schedules separate SBoxes must exist for every simultaneous execution. This vastly limits the usefulness of anyattempts to pipeline the Feistel network in hardware
In contrast bcrypt will adapt to more powerful attackers Moreover its inner loop relies exclusively on operations that are efficient on general purpose CPUs leaving little opportunity for specialized hardware to achieve dramatic improvements
Sobre las tablas que me pides, de memoria no sé ninguna comparativa, pero es fácil hacer los cáculos uno mismo. 80 caracteres posibles y longitud 16, son 80^16 posibles contraseñas y 62 caracteres posibles y longitud 8, 62^8. Lo divides por la tasa de cálculo de contraseñas y ya tienes lo que cuesta explorar todo el espacio de contraseñas(divide por 2 para hallar el caso medio).
Como comparación de lo que se puede calcular en un equipo actual de sobremesa para cada tipo de contraseña:
$./john --test Benchmarking: Traditional DES [24/32 4K]... DONE Many salts: 339891 c/s real, 339891 c/s virtual Only one salt: 321126 c/s real, 321126 c/s virtual
Benchmarking: BSDI DES (x725) [24/32 4K]... DONE Many salts: 12235 c/s real, 12235 c/s virtual Only one salt: 12043 c/s real, 12043 c/s virtual
200 contraseñas por segundo??
(Puntos:4, Informativo)( Última bitácora: Lunes, 22 Febrero de 2016, 07:16h )
Contraseñas que sean simples MD5 como las NTLM (no confundir con las que se usan en Linux/Cisco que son originales de FreeBSD) un único Core de un Core Duo puede hacer unos 2-4 millones, con lo que si es cierto que pueden hacer 1000 millones usando GPU's, es bastante impresionante, pero no tanto como sugiere el artículo.
Programs should be written for people to read, and only incidentally for machines to execute
Re:200 contraseñas por segundo??
(Puntos:1)( http://dsgp.blogspot.com/ )
Programación | Juegos | Linux [blogspot.com]
Re:Tan difícil era ponerlo en la noticia?
(Puntos:3, Informativo)( Última bitácora: Lunes, 22 Febrero de 2016, 07:16h )
El algoritmo que usan las bcrypt está diseñado expresamente para que sea costoso y no pueda optimizarse. Cito del artículo:
We hope that the unpredictable and changing content of the Parray and SBoxes will reduce the applicability of yet unknown optimizations additionally the eksblowish SBoxes require 4 KB of constantly accessed and modified memory.Thus the SBoxes cannot be shared across key schedules separate SBoxes must exist for every simultaneous execution. This vastly limits the usefulness of anyattempts to pipeline the Feistel network in hardware
In contrast bcrypt will adapt to more powerful attackers Moreover its inner loop relies exclusively on operations that are efficient on general purpose CPUs leaving little opportunity for specialized hardware to achieve dramatic improvements
Sobre las tablas que me pides, de memoria no sé ninguna comparativa, pero es fácil hacer los cáculos uno mismo. 80 caracteres posibles y longitud 16, son 80^16 posibles contraseñas y 62 caracteres posibles y longitud 8, 62^8. Lo divides por la tasa de cálculo de contraseñas y ya tienes lo que cuesta explorar todo el espacio de contraseñas(divide por 2 para hallar el caso medio).
Como comparación de lo que se puede calcular en un equipo actual de sobremesa para cada tipo de contraseña:
$
Benchmarking: Traditional DES [24/32 4K]... DONE
Many salts: 339891 c/s real, 339891 c/s virtual
Only one salt: 321126 c/s real, 321126 c/s virtual
Benchmarking: BSDI DES (x725) [24/32 4K]... DONE
Many salts: 12235 c/s real, 12235 c/s virtual
Only one salt: 12043 c/s real, 12043 c/s virtual
Benchmarking: FreeBSD MD5 [32/32]... DONE
Raw: 9223 c/s real, 9223 c/s virtual
Benchmarking: OpenBSD Blowfish (x32) [32/32]... DONE
Raw: 461 c/s real, 461 c/s virtual
Benchmarking: Kerberos AFS DES [24/32 4K]... DONE
Short: 312012 c/s real, 312012 c/s virtual
Long: 794828 c/s real, 794828 c/s virtual
Benchmarking: NT LM DES [32/32 BS]... DONE
Raw: 3707K c/s real, 3707K c/s virtual
Programs should be written for people to read, and only incidentally for machines to execute