CHOSUN

Acceleration of Advanced Encryption Standard Algorithm on GPU Using CUDA C

Metadata Downloads
Author(s)
사이플라흐
Issued Date
2013
Keyword
Advanced Encryption Standard, GPU, CUDA C, Acceleration
Abstract
이미지 활용 및 처리 응용 프로그램은 지난 몇 년 동안 폭발적으로 증가했다. 권한이 없는 데이터에 대한 접근이 점차 쉬워지는 문제와 점점 강력해지는 디지털 미디어 조작 도구들이 멀티미디어 보안을 매우 중요한 이슈로 만들었다. 많은 보완 기술이 콘텐츠 보안 및 디지털 권한 관리를 해결하기 위해 개발되었다. 그들 중 일부는 멀티미디어 암호화 / 혼합화, 디지털 홀로그램 인코딩 등이다. 연구의 주요 결과는 대칭 고급 암호화 표준 (AES) 알고리즘을 사용하여 대규모 데이터 파일, 특히 이미지의 빠르고 강력한 암호화를 제안하고 검증하는 것이다. 위에서 언급된 기술로 이미지를 암호화할 때의 장애물은 데이터의 크기가 지속적으로 증가하는 것 같이 입력 데이터의 크기인데 데이터의 크기 증가를 따라가기 위해 암호화의 속도를 증가시켜야 하거나 또는 이것으로 인해 병목현상에 빠진다. GPU에 의한 병렬 산업의 최근 발전은 데이터 집약적 인 문제에 대한 기존의 CPU에 비해 성능 향상을 제공하는 것을 보여준다. 암호화는 디지털 정보 데이터를 보호하는 기본 메커니즘이다. 멀티미디어 데이터의 암호화 연구는 암호화 프로세스에 대한 실행의 측면에서 더 나은 성능을 달성 추구하기 위해 많은 시간을 소비하고 있고, 많은 연구자가 암호화 보조 프로세서 (co-processor)와 같은 그래픽 처리 장치를 사용하려고 노력했다. 연구의 중점은 그래픽 프로세서 상에서 멀티미디어 데이터를 위한 대칭 키 암호의 호환성을 살펴보는 것이다. GPU 기반의 AES에 대해 제안된 방법은 CPU 기반의 가장 빠른 실행결과를 넘어 섰다. GPU의 다용도성과 쉬운 가용성과 성능의 증가는 대규모 데이터의 암호화 인코딩을 위한 새로운 문을 연다. 이 프로젝트에서 우리는 세 가지 플랫폼 즉, MATLAB, 비주얼 스튜디오(C++), GPU에서 멀티미디어 데이터를 위한 AES의 성능을 보여준다. 병렬 AES의 우리의 접근 방식의 유효성을 검사하는 실험 결과는 NVIDIA GPU 지포스 310 프로세서를 사용한 AES알고리즘의 GPU 수행을 기반으로 한 프로토 타입과 함께 각각의 픽셀이 32bit인 이미지 크기 256*256의 테스트 샘플들을 얻는다. 얻어진 결과들은 상당한 수치로 CPU에 비해 GPU의 우수성을 반영한다. 우리의 결과를 바탕으로, 우리는 자신이 선택한 응용 프로그램에 대한 적절한 대상 아키텍처를 선택하는 개발자들을 도울 수 있는 가속기 플랫폼 매핑 응용 프로그램 특성을 제시한다.|Application of image utilization and processing has exploded in the past few years. Progressively effortless access to unauthorized data and increasingly powerful digital media manipulation tools has made multimedia security a very important issue. Many complementary techniques have been developed to address content security and digital rights management. Some of them are multimedia encryption/scrambling, digital holographic encoding and etc. The key outcome of this work is to propose and validate a fast and robust encryption of large data size files particularly images by using symmetrical Advanced Encryption standard (AES) algorithm. The obstacle in encrypting an image with the above mentioned techniques is the size of the input data, as the size of the data continues to grow, the speed of encryption must increase to keep up or it will become a bottleneck. The recent developments in parallel industry by GPUs have shown to offer performance improvements versus conventional CPUs for data intensive problems. Cryptography is the main mechanism to secure digital information data. The encryption of multimedia data are very time consuming so for the pursuit of achieving better performance in terms of execution for cryptographic process, many researchers tried to use the graphical processing unit as a cryptographic co-processor. The spotlight of the research is to explore the compatibility of symmetric key cipher for multimedia data on graphics processor. The proposed methodology for GPU based AES surpassed the fastest CPU based implementation. The versatility, easily availability of GPU and the increase in performance opens new door for the cryptographic encoding of heavy data. In this project, we illustrated the performance of AES for multimedia data on three different platforms i.e. MATLAB, Visual Studio (C++) and GPU. Experimental results validating our approach of parallel AES are obtained with a prototype based on GPU implementation of the AES algorithm using NVIDIA GPU GeForce 310 processor and test samples of image size 256*256 pixels with each pixel having depth of 32 bits. The achieved outputs reflect the superiority of GPU over CPU by significant figures. Based on our results, we present an application characteristic to accelerator platform mapping, which can aid developers in selecting appropriate target architecture for their chosen application.
Alternative Title
GPU 병렬 컴퓨팅 기반 고속 AES 알고리즘 설계
Alternative Author(s)
Saifullah
Affiliation
조선대학교 대학원
Department
일반대학원 컴퓨터공학과
Advisor
Dr. Inkyu Moon
Awarded Date
2013-08
Table Of Contents
Contents i
List of Figures iii
List of Tables iv
ABSTRACT v
한글 요약 vii

1. Introduction 1
2. Related Work 4
3. Cryptography 6
3.1 Symmetrical Cryptography 7
3.2 Asymmetrical Cryptography 7

4. Advanced Encryption Standard 10
4.1 Byte-sub Transformation 10
4.2 Shift-Rows Transformation 11
4.3 MixColumns Transformation 12
4.4 AddRoundKey Transformation 12

5. Platform Overview 13
5.1 Why GPU? 13
5.2 Many-Core Architecture 14
5.3 Parallel Architecture 15
5.4 Compute Unified Device Architecture (CUDA) 16

6. Parallel Advanced Encryption Standard 19
6.1 Preprocessing 19
6.1.1 Data Size 19
6.1.2 Electronic Codebook Mode 20
6.2 Parallel Algorithm 21
6.2.1 Key Scheduling 21
6.2.2 Parallel Sub-Bytes Transformation 24
6.2.3 Parallel Shift-Rows Transformation 26
6.2.3 Parallel Mix-Columns Transformation 26
6.2.4 Parallel Add Round Key Transformation 27
6.3 Summarize Parallel Algorithm 29

7. Experimental Results 31
8. Conclusion 34

References 35
Acknowledgements 39
Degree
Master
Publisher
조선대학교 대학원
Citation
사이플라흐. (2013). Acceleration of Advanced Encryption Standard Algorithm on GPU Using CUDA C.
Type
Dissertation
URI
https://oak.chosun.ac.kr/handle/2020.oak/9846
http://chosun.dcollection.net/common/orgView/200000263892
Appears in Collections:
General Graduate School > 3. Theses(Master)
Authorize & License
  • AuthorizeOpen
  • Embargo2013-08-22
Files in This Item:

Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.