2016-12-02 4 views
1

내가 작업하고있는 프로젝트에서 키의 일부가 주어진다면 AES로 암호화 된 암호문을 해독해야합니다. 암호문의 나머지 키 공간은 2^40입니다.CUDA를 사용하는 AES 암호 해독

저는 CUDA (GPU 코어를 통해 키 공간을 나눕니다)를 사용하여 암호 해독을 실행하고 싶지만 적합한 CUDA AES 라이브러리를 찾을 수없는 것 같습니다. 커널에서 C AES 라이브러리 복호화를 실행하는 것과 같은 방법이 있을지 궁금합니다.

this question에서 보면 이것이 가능하지 않을 수 있음을 알 수 있습니다.

다른 옵션 - 현재 파이썬에서 구현되어 있습니다. PyCuda를 병렬화하기 위해 (배우고) 사용하는 것이 타당할까요, 아니면 파이썬 AES 라이브러리 함수를 사용하여 위와 동일한 문제에 부딪 힐까요?

또한 내가하려는 일을 성취하기위한 대안은 크게 인정 될 것입니다! 감사!

+1

내 의견으로는 약간의 주제가 될 수 있지만, 어쨌든 나는 두 가지 제안을 가지고 답변을 게시하고 있습니다. – Taro

답변

2

필요에 맞는 라이브러리를 찾을 수 없다면 (기대하는 기능의 CUDA 구현을 의미 함) 직접 구현해야합니다. 그러나 다른 언어로 된 출처가 있고이 문제가 순수 수학 인 것 같으면 다른 언어로도 "동급"을 쓸 수 있어야합니다. 나의 제안은 다음과 같습니다

  • 먼저
  • 그런 다음 하나 또는 여러 개의을 사용하는 C 및 CUDA C와이 포트의 적응을 쓰기 당신이 가지고있는 파이썬 구현 ("고전"CPU 코드)의 자신의 C 포트를 쓰기 계산의 GPUs

언어에서 다른 언어로 전환하는 것만 큼 다른 점은 "적용"하고 "변환"하지 않는다는 것입니다. 특정 종류의 작업에서 GPU를 사용하는 프로젝트를 만들 것입니다. CPU와 GPU 프로그래밍 간의 모든 차이점을 고려해야합니다. 어쨌든 이것은 GPGPU에 대해 너무 광범위하며 사용자 자신의 소스 코드에 대한 특정 문제에만 집중하지 않기 때문에 다소 혼란 스럽습니다.