2017-12-19 47 views
-1

AES-NI는 대량의 데이터를 암호화/해독하는 데 최적화 된 것으로 보입니다. 그러나 암호를 해독하려는 중이 야 노력하는 많은 작은 비트 (iv + 첫 번째 cbc 블록, 총 32 바이트).AES-NI 또는 GPU 가속을 사용하는 초당 독립 AES 256 CBC 암호 해독 작업

나는 각 사이클마다 EVP_DecryptInit_ex, EVP_DecryptUpdate (그리고 스레드 당 한 번 EVP_CIPHER_CTX_init)을 호출하여 현재 openssl을 사용하고 있습니다.

단일 코어에서 초당 약 200 만회를 수행 할 수 있습니다.

나는 이것이 AES-NI 명령어를 사용하여 기대할 수있는 성능이라고 가정하고,이를 더 이상 최적화하는 것에 대해 걱정할 필요가 없습니다. 이 올바른지?

누구나 이것이 하이 엔드 GPU에서 얼마나 빨랐 을까요?

답변

0

FPGA : 입력 블록을 적절한 FPGA의 출력 블록으로 변환 할 수 있습니다.이 블록은 수백 사이클에서 2 사이클 처리량을 제공하며 대기 시간은 16 사이클입니다. 따라서 256 Mblocks/s 파이프 라인 또는 32 Mblocks/s 파이프 라인이 아닐 수도 있습니다. 합리적으로 값싼 FPGA에서 5 개를, 비싼 FPGA에서 30 개를 얻을 수 있습니다. YMMV.