DSpace Repository

Parallel implementation of AES algorithm using CUDA & MPI

Show simple item record

dc.contributor.author Pekçağlıyan, Özgür
dc.date.accessioned 2015-04-20T10:32:49Z
dc.date.available 2015-04-20T10:32:49Z
dc.date.issued 2013-09
dc.identifier.citation PEKÇAĞLIYAN, Ö. (2013). parallel implementation of AES algorithm using CUDA & MPI. Yayımlanmamış yüksek lisans tezi. Ankara: Çankaya Üniversitesi Fen Bilimleri Enstitüsü. tr_TR
dc.identifier.uri http://hdl.handle.net/20.500.12416/306
dc.description.abstract According to today’s standards, life goes online. People do their shopping and buying electronics through online stores. They date online and banks are transferring money online. Even, bachelor courses are online [10, 37]. Also, governments may keep their sensitive data such as tactical information for troops or messages for embassies on cloud computing systems which might be located on other countries. Because of its sensitivity, these type of data must be protected from unauthorized access and its integrity should be guaranteed [37]. Cryptography is based on mathematical techniques which concentrated on data confidentiality, integrity and origin authentication [41]. Advanced Encryption Standard (AES) is the national standard of U.S. which is accepted by U.S. government on October 2000 [19, 46]. Encryption is a good way to protect data integrity and confidentiality. Still, encryption requires time and computation power. Today, computers have reached high clocking speed measured by Gigahertz. If one tries to encrypt a data over 1GB it could take more 10 than minutes to finish the operation. Upon thinking of computers, they come with multiple processors. Also, today we have very expensive GPUs installed in our computer cases. These GPUs are almost powerful than CPUs. There are several libraries to get full advantage of CPUs and GPUs. Two examples for these libraries are OpenMPI and CUDA. While OpenMPI allows developer to use all CPUs parallelly, CUDA allows developer to submit his/her code to run on GPU. The application running on GPU might be a serial application or parallel application divided to GPU cores [13, 37]. This study aims to paralleling AES algorithm using both OpenMPI and CUDA libraries and comparing time di↵erences between these two methods and classical serial method on a CPU. tr_TR
dc.description.abstract Bugünün standartlarına göre hayat online olarak ilerlemektedir. İnsanlar mutfak alışverişlerini, elektronik eşyalarını internet üzerinden satın alıyorlar, internet üzerinden arkadaşlık kurup, flört ediyorlar, bankacılık işlemlerini online olarak gerçekleştiriyorlar. Hatta, bazı internet siteleri üzerinden, online dersler verilerek insanların lisans eğitiminde ihtiyaç duyduğu dersleri önceden almasının imkanı sağlanıyor [10, 37]. Bazı devletler, uzak ülkelerdeki askeri birliklerine veya elçiliklerine gönderilmesi gereken hassas bilgilerini internet üzerinde bulunan bulut çözümlerine yükleyebiliyorlar. Bu verilerin, hassaslıkları nedeniyle, yetkisiz erişime karşı korunması gerekiyor [37]. 2000 yılının ekim ayında, Amerikan hükümeti tarafından ulusal standart olarak AES algoritması kabul edilmiştir [19, 46]. Kriptografi, temel olarak, verinin butunluğünü, gizliliğini ve kaynağınının doğrulanmasını hedefleyen matematik metodlardan oluşmaktadır [41]. Kriptografi, verinin gizliliğinin ve bütünlüğünün korunması için güzel bir yöntem olmasına rağmen yine de zaman ve hesaplama gücüne ihtiyaç duymaktadır. Günümüzde bilgisayarlar Gigahertz olarak ölçülen yüksek işlemci frekanslarına ulaşmışlardır. Ancak, boyutu 1GB’dan büyük bir dosya şifrelenmek istendiğinde, yaklaşık olarak 10 dakikadan daha uzun bir süreye ihtiyac duyulabilmektedir. Bankacılık işlemleri göze alındıgında ise, zaman, pahalı bir kaynaktır. Ayrıca bireyler, günümüzde oldukça pahalı ekran kartları kullanmaktadırlar. Bu ekran kartlarından bazıları neredeyse normal işlemcilerden bile daha güçlüdürler. Bu donanımları (ekran kartları ve işlemciler) kullanabilmek için birtakım hazır kütüphaneler bulunmaktadır. OpenMPI ve CUDA bu kütüphanelerden ikisidir. OpenMPI, programcıya CPU üzerinde kodunu paralel olarak çalıştırma ve bilgisayarın bütün işlemcilerini kullanma imkanı sunarken, CUDA ise, aynı kodun ekran kartı üzerinde çalıştırılmasına imkan sağlamaktadır. Ekran kartı üzerinde çalıştırılan bu kod, bütün çekirdekleri kullanarak, paralel olabilecegi gibi, seri olarak da geliştirilebilir [13, 37]. Bu çalışmanın amacı, AES algaritmasını hem OpenMPI, hem de CUDA kütüphanelerini kullanarak paralelleştirmek ve AES’in orijinal seri kodu ile paralelleştirilmiş kodları çalışma süreleri açısından kıyaslamaktır. tr_TR
dc.language.iso en tr_TR
dc.rights info:eu-repo/semantics/openAccess
dc.subject AES tr_TR
dc.subject MPI tr_TR
dc.subject Paralel Programming tr_TR
dc.subject Encryption tr_TR
dc.subject CUDA tr_TR
dc.subject Şifreleme tr_TR
dc.subject Paralel Programlama tr_TR
dc.title Parallel implementation of AES algorithm using CUDA & MPI tr_TR
dc.title.alternative AES algoritmasinin CUDA & MPI kullaılarak parallelleştirilmesi tr_TR
dc.type Thesis tr_TR
dc.contributor.department Çankaya Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Bölümü tr_TR


Files in this item

This item appears in the following Collection(s)

Show simple item record