AES-NI scheint für das Verschlüsseln/Entschlüsseln großer Datenmengen optimiert zu sein. Ich versuche jedoch, ein Passwort zu entschlüsseln, und ich habe viele sehr kleine Bits zu versuchen (iv + erster cbc Block, 32 Bytes insgesamt).Anzahl der unabhängigen AES 256 CBC-Entschlüsselungsoperationen pro Sekunde mit AES-NI- oder GPU-Beschleunigung
Ich benutze OpenSSL im Moment, Anruf EVP_DecryptInit_ex
, EVP_DecryptUpdate
für jeden Zyklus (und einmal pro Thread).
Ich kann dies etwa 2 Millionen Mal pro Sekunde auf einem einzigen Kern tun.
Ich gehe davon aus, dass dies die Art von Leistung ist, die ich mit AES-NI-Anweisungen erwarten kann, und ich sollte mich nicht darum kümmern, dies weiter zu optimieren. Ist das richtig?
Hat jemand eine Idee, wie viel schneller dies auf einer High-End-GPU oder nicht zu teuer FPGA sein könnte?