¿Cómo se comparan las matrices de puertas programables en campo (FPGA) con las unidades de procesamiento de gráficos (GPU); ¿Para craquear hashes?

1

Como regla general, las GPU son más efectivas que las CPU cuando se trata de realizar tareas extremadamente repetitivas, como iterar sobre listas y generar permutaciones de un conjunto (es decir, diccionarios y conjuntos de claves exhaustivos), para descifrar un hash.

Obviamente, no todas las CPU y amp; Las GPU son las mismas. Tal vez una CPU en particular podría superar a una GPU en particular para tal propósito, pero generalmente ese no es el caso.

Entonces, ¿qué pasa con los arreglos de puertas programables de campo (FPGA)? En términos generales, ¿son más adecuados para romper hashes que las GPU?

Vea también: ¿Por qué las GPU son tan buenas para descifrar contraseñas?

    
pregunta tjt263 19.10.2018 - 08:20
fuente

1 respuesta

2

¿Qué es exactamente un FPGA?

Un FPGA no es como una GPU. Una GPU es un procesador prediseñado con todos los circuitos que ya están allí. Todo lo que tienes que hacer es conectarlo y dejar que el software interfaz con él. Los FPGA, por otro lado, son bestias completamente diferentes. Son un procesador de "pizarra en blanco". Debe diseñar un FPGA, no solo comprar uno. Usted determina qué transistores hacen qué, cómo se conectan, etc. Son eficientes porque cada parte tiene un trabajo, pero requieren que tenga un conocimiento profundo de la electrónica y el diseño del circuito integrado.

En la pregunta que vinculó explicando qué hace que una GPU sea tan buena para descifrar contraseñas, dice que una GPU tiene una gran número de cores idénticos que pueden ejecutar el mismo algoritmo en paralelo. Cómo funciona el núcleo internamente es algo que no necesita saber para utilizarlo (y es probable que no pueda saberlo legalmente). Para un FPGA, sin embargo, no existe tal unidad. Usted crea cada núcleo y lo diseña. Usted configuró las puertas lógicas individuales. Básicamente, usted diseña el chip, utilizando el FPGA como nada más que el hardware físico real que contiene los transistores. Desarrollar en ellos puede ser difícil.

¿Cuál es más rápido para el crackeo de hash?

Por el mismo precio, es probable que una GPU de gama alta sea más rápida que una FPGA en el procesamiento de hashes, pero es probable que una FPGA use menos energía para procesar la misma cantidad de hashes. Es importante tener en cuenta que hay varios tipos diferentes de FPGA. Una "conversión" de FPGA implica la creación de un ASIC de FPGA HDL . Esto suele ser bastante costoso y solo se realiza cuando se compra en cantidad, pero tiende a ser un poco más rápido que un FPGA normal ( al parecer alrededor de un 30% más rápido), y mucho más fácil y más barato que diseñar un ASIC. Un verdadero ASIC es, por supuesto, mucho más eficiente que cualquiera de los dos. Diseñar un ASIC es incluso más difícil que programar un FPGA y requiere mucho más conocimiento del diseño de circuitos integrados de bajo nivel. En general, los ASIC son eficientes y rápidos, pero costosos y difíciles de diseñar.

¿Qué debes obtener?

Si desea el MHash / s más alto posible para un precio determinado, o si necesita la flexibilidad de soportar múltiples algoritmos, obtenga una GPU. Si desea el MHash / J más alto posible ( joule , una unidad de energía), obtenga un FPGA. Si desea velocidad y eficiencia y no le importa el precio, diseñe un ASIC.

Si eres nuevo en el descifrado de contraseñas y solo quieres construir una plataforma de craqueo eficiente, obtén algunas GPU rápidas. Los FPGA y los ASIC se usan normalmente si usted es una empresa con un equipo de desarrolladores con un gran presupuesto (pero estricto) para trabajar, cuando se necesitan soluciones personalizadas. Para la mayoría de las necesidades de descifrado de contraseñas, una GPU funcionaría bien, no solo por su velocidad competitiva, sino también por el popular software de craqueo de hash como Hashcat está diseñado para hacer uso de GPU para la aceleración. Nada de eso existe para los FPGA o ASIC, lo que significa que tendrías que diseñarlo todo tú mismo.

Una excelente publicación en el Electronics Stack Exchange explica la diferencia entre FPGA, ASIC y microcontroladores de uso general (que una GPU es más similar a) con más detalle, desde una perspectiva de diseño electrónico, en lugar de una perspectiva de craqueo de hash.

    
respondido por el forest 19.10.2018 - 08:57
fuente

Lea otras preguntas en las etiquetas