$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

GPU용 연산 라이브러리 CUDA를 이용한 블록암호 고속 구현
High-Speed Implementations of Block Ciphers on Graphics Processing Units Using CUDA Library 원문보기

情報保護學會論文誌 = Journal of the Korea Institute of Information Security and Cryptology, v.18 no.3, 2008년, pp.23 - 32  

염용진 (ETRI 부설 연구소) ,  조용국 (한양대학교)

초록
AI-Helper 아이콘AI-Helper

그래픽 프로세서(GPU)의 연산 능력은 이미 CPU를 능가하고 있으며, 그 격차는 점점 벌어지고 있다. 따라서, 범용 계산에 그래픽 프로세서를 활용하는 GPGPU 연구가 활발히 전개되고 있으며, 병렬 처리가 필요한 분야에서 특히 두드러진 성과를 보이고 있다. GPU를 이용한 암호 알고리즘의 구현은 2005년 Cook 등에 의하여 처음 시도되었으며, OpenGL, DirectX 등의 라이브러리를 이용하여 개선된 결과들이 속속 발표되고 있다. 본 논문에서는 2007년 발표된 NVIDIA의 CUDA 라이브러리를 이용한 블록암호 구현 기법과 그 결과를 소개하고자한다. 또한, 소프트웨어로 구현된 블록암호 소스를 GPU 프로그램으로 이식하는 일반적인 방법을 제공하고자 한다. 8800GTX GPU에서 블록암호 AES, ARIA, DES를 구현했으며, 속도는 각각 4.5Gbps, 7.0Gbps, 2.8Gbps로 CPU보다 고속 구현이 가능하였다.

Abstract AI-Helper 아이콘AI-Helper

The computing power of graphics processing units(GPU) has already surpassed that of CPU and the gap between their powers is getting wider. Thus, research on GPGPU which applies GPU to general purpose becomes popular and shows great success especially in the field of parallel data processing. Since t...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 본 논문에서는 2007년 NVIDIA에서 발표한 CUDA (Compute Unified Device Architecture)]]2] 라이브러리를 이용하여 블록암호를 구현하는 방법과 AES, ARIA, DES의 구현 결과를 제시하고자 한다. 또한, 블록암호의 종류에 무관하게 기존의 CPU용 프로그램을 GPU 프로그램으로 변환하는 틀을 제공하여 다른 블록암호에도 쉽게 활용할 수 있도록 하였다,
  • CUDA는 비록 NVIDIA의 GPU에서만 동작한다는 제약이 있지만, 그 성능과 프로그래밍의 편이성 때문에 병렬 연산이 필요한 과학 기술 분야에서 크게 환영받고 있다. 본고에서는 CUDA 라이브러리를 이용한 블록암호의 구현을 소개하였다. 대부분의 블록암호는 기존 CPU용 소스 코드로부터 쉽게 구현할수 있으며, 성능도 CPU를 크게 능가하는 결과를 얻었 匸+.
  • 블록암호를 구현하기 위하여 CUDA를 이용한 프로그램의 제어 흐름과 기본 틀에 대하여 알아보자. CUDA는 C언어의 확장으로 설계되었으며, GPU에서 실행되도록 작성된 커널은 그래픽 카드가 설치된 호스트 PC의 호출에 의해서 시작된다.
  • AMD(구 ATI)의 Yang 등 [11]은 자사의 GPU인 HD 2900 XT에서 AES 키 탐색을 비트 슬라이스 기법으로 구현하는 경우 30 Gbps에 도달할 수 있음을 ASIACRYPT 2007에서 주장하였다. 결과는 DirectX와 ATI CTM 및 GPU 어셈블리를 이용한 최적화를 통하여 얻은 것이다.
  • 이제 그래픽 카드에서 실제로 암호화를 수행하는 커널 함수를 살펴보자. 커널의 구성에 따라 각 쓰레드는 그리드내의 블록 좌표 (bX, bY)와 블록내 쓰레드 좌표 (tX, tY)를 고유 번호로 사용할 수 있다.

가설 설정

  • CPU/GPU 발전속도의 불균형 : CPU의 발전 방향이 연산능력의 증대에서 멀티 코어의 탑재로 전환되고 있어 CPU의 속도 증대는 다소 주춤한 상태이다. 반면 GPU의 계산능력은 매년 약 2배 정도증가하고 있으며 GFLOPS로만 비교한다면 CPU 의 처리능력을 압도하고 있다.
본문요약 정보가 도움이 되었나요?

참고문헌 (15)

  1. M. Houston, "GPGPU : General-Purpose Computation on Graphics Hardware", Course at SIGGRAPH 2007 

  2. The GPGPU Resources and Forums, http://www.gpgpu.org/ 

  3. The first GPGPU workshop, Proceedings of the first Workshop on General Purpose Processing on Graphics Processing Units, http://www.ece.neu.edu/GPGPU, 2007 

  4. Astro GPU, Workshop on General Purpose Computation on Graphics Processing Units in Astronomy and Astrophysics, http://astrogpu.org, 2007 

  5. GPUbench Project, http://graphics.stanford.edu/projects/gpubench/ 

  6. D. Shreiner, M. Woo, J. Neider, T. Davis, OpenGL Programming Guide : The Official Guide to Learning openGL Version 2, Addison Wesley, 2005 

  7. D. L. Cook, J. Ioannidis, A. D. Keromytis, J. Luck "CryptoGraphics : Secret Key Cryptography Using Graphics Cards", CT-RSA, Springer LNCS 3376, 2005 

  8. D. L. Cook, A. D. Keromytis, Cryptographics : Exploiting Graphics Cards for Security, Advances in Information Security series, Springer, 2006 

  9. O. Harrison, J. Waldron, "AES Encryption Implementation and Analysis on Commodity Graphics Processing Units", CHES, Springer LNCS 4727, 2007 

  10. T. Yamanouchi, "AES Encryption and Decryption on the GPU", GPU Gems 3, NVIDIA, 2007 

  11. J. Yang, J. Goodman, "Symmetric Key Cryptography on Modem Graphics Hardware", ASIACRYPT, Springer LNCS 4833, 2007 

  12. NVIDIA CUDA Homepagq http://developer.nvidia.com/object/cuda.html 

  13. D. Goddeke, GPGPU - Basic Math Tutorial, Technical report No. 300, Fachbereich Mathematik, Universitat Dortmund, 2005 

  14. 장환석, 이호정, 구본욱, 송정환, "64비트 마이크로프로세서에 적합한 블록암호 ARIA 구현방안", 정보보보학회논문지 제16권 3호, 2006 

  15. J. Zambreno, D. Nguyen, A. Choudhary, Exploring are/delay tradeoffs in an AES FPGA implementation, Proc. 14th Int Conf. Field-Programmable Logic and its Applications, FPL 2004 

저자의 다른 논문 :

관련 콘텐츠

오픈액세스(OA) 유형

FREE

Free Access. 출판사/학술단체 등이 허락한 무료 공개 사이트를 통해 자유로운 이용이 가능한 논문

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로