Número de operaciones AES-256 por segundo en un Cray XE6 maximizado

0

¿Cuántos FLOP toma una operación AES-256 en modo ECB? ¿Cuántas operaciones AES-256 en modo ECB puede realizar un Cray XE6 maximizado por segundo?

Cray afirma que se puede escalar a más de 1 millón de núcleos de procesadores, pero el folleto no indica cuántos, exactamente. Con 1 millón de núcleos de procesador, trabajando a un nivel máximo de gabinete de 12.2 a 20.2 teraflops por segundo, Cray XE6 puede hacer 3.97 a 6.57 petaflops por segundo.

    
pregunta nlovric 20.11.2011 - 12:46
fuente

3 respuestas

2

El Cray XE6 acepta chips Opteron serie 6200, todos los cuales son compatibles con el conjunto de instrucciones AES. En AES-NI Performance Analyzed (que es Intel, no AMD), Patrick Schmid y Achim Roos encontraron que AES NI tiene un rendimiento de 3.5 ciclos por byte. Si extrapolamos eso al bloque AES-256 de 128 bits (16 bytes), obtenemos 56 ciclos por operación AES-256. El Opteron 6282 SE funciona a 3.1 GHz en modo Todo Turbo. Suponiendo que el conjunto de instrucciones AES del Opteron 6282 SE tenga el mismo rendimiento que las Nuevas instrucciones de AES de Intel, un núcleo de Opteron 6282 SE podría realizar aproximadamente 55,357,142.857143 operaciones AES-256 por segundo. Por lo tanto, un Cray XE6 con un millón de núcleos Opteron 6282 SE podría realizar ~ 55,357,142,857,143 operaciones AES-256 por segundo. La figura no tiene en cuenta las operaciones de E / S necesarias.

Por lo tanto, para forzar una clave de cifrado AES-256-ECB en un ataque de texto plano conocido, utilizando todas las combinaciones posibles, en un Cray XE6 con un millón de núcleos Opteron 6282 SE, tomaría hasta ~ 66,282,862,563,751,221,625,826,507,669,649,000,000,000,000,000,000 años Completa el ataque de texto plano conocido. Sin embargo, si la clave de cifrado se deriva de una frase de paso de 10 caracteres que consiste solo en letras mayúsculas inglesas az (26 ^ 10 = 141,167,095,653,376 combinaciones posibles), tomaría ese mismo Cray XE6 hasta ~ 2.55 segundos para completar un diccionario no incluido. Ataque de texto plano conocido. Si la clave de cifrado se deriva de una frase de paso de 10 caracteres, que posiblemente consiste en letras minúsculas inglesas, letras mayúsculas inglesas, números y otros 22 caracteres (84 ^ 10 = 17,490,122,876,598,091,776 combinaciones posibles), ese mismo Cray XE6 se tomará hasta ~ 87.76 horas para completar un ataque de texto sin formato conocido sin diccionario.

Calculé la duración de los ataques de texto sin formato conocidos no relacionados con el diccionario en AES-256-ECB con un millón de núcleos a 3,1 GHz utilizando las nuevas instrucciones de Intel AES. Puede verlo aquí . Supongo que aún sería útil mantener algo con un millón de núcleos a 3,1 GHz con Intel AES NI alrededor de frases de paso de hasta 10 caracteres de fuerza bruta en un ataque de texto simple conocido.

    
respondido por el nlovric 21.11.2011 - 00:59
fuente
7

Los núcleos en un Cray XE6 son AMD Opteron, ese es el tipo de cosas que se encuentran en una PC básica. Podría esperar que cada núcleo pueda calcular un bloque AES en poco más de 300 ciclos de reloj; pero si los núcleos conocen los códigos de operación AES-NI , esto puede disminuir a 30 ciclos de reloj por instancia de AES-256. Suponiendo que todo funcione a 3 GHz, puede esperar hasta 10 operaciones 8 AES-256 por segundo. Con un millón de núcleos, eso es 10 14 .

Tenga en cuenta que:

  • Una CPU completa es algo bastante grande si solo necesitas una implementación AES. En particular, las operaciones de punto flotante que Cray presume son totalmente inútiles para atacar el AES.

  • La mayor parte del precio de un Cray XE6 se trata de la interconexión de la CPU: un montón de bus auxiliar y controladores, que no se utilizan para el craqueo AES.

  • Incluso en 10 14 operaciones por segundo, aún necesitarías más tiempo que la vida útil del Universo para realmente descifrar una clave.

Comprar un Cray XE6 para romper AES sería una gran pérdida de dinero.

    
respondido por el Thomas Pornin 20.11.2011 - 20:00
fuente
1

No lo sabemos, y si no lo consigues y lo comparas, no podemos decírtelo. En teoría, podría tomar un solo procesador Opteron y probarlo en una computadora de escritorio. Cuando se trabaja en esa escala, las instrucciones individuales de la máquina son muy importantes y el código de ensamblaje adaptado para una operación de levantamiento de pesas puede ser apropiado. El tiempo dedicado a escribir en la memoria, etc. también será importante.

    
respondido por el Jeff Ferland 20.11.2011 - 16:16
fuente

Lea otras preguntas en las etiquetas