Geri Dön

Instruction extension of RV32i and GCC back end for ascon lightweight cryptography algortihm

RISC-V komut seti mimarsi ve GNU derleyici koleksiyonunun ASCON şifreleme algoritması için genişletilmesi

  1. Tez No: 682851
  2. Yazar: ÖZLEM ALTINAY
  3. Danışmanlar: PROF. DR. SIDDIKA BERNA ÖRS YALÇIN
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Elektrik ve Elektronik Mühendisliği, Computer Engineering and Computer Science and Control, Electrical and Electronics Engineering
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2021
  8. Dil: İngilizce
  9. Üniversite: İstanbul Teknik Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Elektronik Mühendisliği Bilim Dalı
  13. Sayfa Sayısı: 106

Özet

Günümüzde nesnelerin interneti uygulamalarının yaygınlaşması ile birbiri ile bağlantılı cihaz sayısı artmaktadır. Bu cihazlar arasında paylaşılan bilgiler gizli olabilir ve bu sebeple siber saldırılara açık olabilir. Bu gömülü cihazlar bellek, güç, alan vb. açısından sınırlı kaynaklara sahip olduğundan dolayı, üzerlerinde çalıştırılacak olan programların bu kaynakları etkin bir biçimde kullanması son derece kritiktir. Hafif şifreleme algoritmaları, kaynak kısıtlaması olan bu gömülü cihazlarda güvenlik ve gizlilik sağlamak için kullanılır. Ulusal Standartlar ve Teknoloji Enstitüsü tarafından yazılan rapordaki kurallara göre bu algoritmaların nasıl tasarlanması gerektiği açıklanmıştır. Şifreleme anahtarının en az 112-bit olması gerekir. Hafif şifreleme algoritmalarının yüksek güvenlikli şifreleme yapabilmesi için sık tekrar eden turları mevcut olmalıdır. Ayrıca, hafif şifreleme algoritmalarının yazılım ve donanım uygulamalarının da kolayca gerçeklenebilir olması gerekmektedir. Algoritmanın çalışmasındaki gecikme ve bellek tüketimi, hafif şifreleme algoritmaları uygulamaları için performans ölçütlerindeki temel unsurlardandır. ASCON hafif şifreleme algoritması, Ulusal Standartlar ve Teknoloji Enstitüsü tarafından düzenlenen CEASAR yarışmasındaki finalistlerden biridir. ASCON, yardımcı veriler ile doğrulama ve şifreleme çözümü sunar. ASCON'un, 16-bit, 32-bit ve 64-bit işlemciler için gerçeklenmiş yazılım uygulamaları da mevcuttur. 64-bit olmayan işlemciler için bit bölme metodu kullanarak şifreleme ve şifre çözme işlemlerini gerçekleştirir. Farklı uygulama alanlarında farklı güvenlik sunmak adına, çeşitli varyasyonları mevcuttur. Her bir varyant farklı tur sayılarına sahiptir ve uygulamaya özel olarak bu tur sayıları değiştirilebilir. ASCON, VE ve VEYA gibi basit mantıksal işlemleri kullanarak çalışır. ASCON, belirli bir güvenlik düzeyine ulaşmak için tekrarlanan turları kullanır ve 320-bit durumunda çalışır. Yer değiştirme katmanında S-Box'ları ve lineer katmanda sağa kaydırmalı dairesel dönüşü kullanarak şifreleme ve şifre çözme yapar. ASCON'un şifreleme algoritması temel olarak 4 adımdan oluşur. İlk olarak 320-bit durum ilklendirilir. Ardından yardımcı veri işlenir. Üçüncü adımda ise metin işlenir ve şifrelenmiş metin üretilir. Son adımda doğrulma etiketi üretilir. ASCON'un şifre çözme algoritması da benzer adımlara sahiptir. Farklı olarak üçüncü adımda şifreli metin işlenerek düz metin üretilir. RISC-V, açık kaynaklı bir komut seti mimarisidir. 32-bit, 64-bit ve 128-bit olmak üzere üç çeşidi vardır. Ayrıca, tam sayılar ve tam olmayan sayılar ile işlemleri destekler. Toplama ve çıkarma gibi temel işlemler, çapma, bölünemez ve vektör işlemleri gibi işlemler için ayrı komut kümelerinin olması RISC-V'ı modüler kılar. Az xxii sayıda komut içermesinden dolayı ise öğrenmesi ve uygulaması kolay bir komut seti mimarisidir. RISC-V komut seti mimarisi ile tasarlanmış işlemciler, şifreleme, 5G, görüntü işleme vb. gibi belirli uygulamalarda performansı arttırmak için özel komutlar ile genişletilebilir. GNU Derleyici Koleksiyonu açık kaynaklı bir projedir. GCC derleyicisini, assembler, hata ayıklayıcı ve bağlayıcı gibi uygulamaları içerir. GCC, C, C++ gibi yüksek seviyeli programlama dillerini optimizasyon da yaparak işlemcilerin çalıştırabileceği düşük seviyeli makine diline derler. GCC, ön-uç, orta-uç ve arka-uç olmak üzere 3 bölümden oluşmaktadır. Ön-uç desteklenen bir programlama dilinde yazılmış kaynak kodu ortak bir orta-seviye dile çevirerek programlama dilinden soyutlama sağlar. Ön-uç hedef komut seti mimarisinden bağımsız bir katmandır. Orta-uç ise program üzerinde çeşitli optimizasyonları gerçekleştir. Orta-uç programlama dili ve hedef komut seti mimarisinden bağımsız bir katmandır. Arka-uç ise bazı ek optimizasyonlar yapar ve hedef işlemciye uygun makine kodlarını üretir. Arka-uç katmanı programlama dilinden bağımsız fakat hedef komut seti mimarisine ise bağımlı bir katmandır. GCC yeni komut seti mimarileri için genişletilebilir ve komut seti mimarileri için yeni komutlar GCC'ye eklenebilir. GNU Derleyici Koleksiyonu RISC-V komut seti mimarisi için en popüler derleyici koleksiyonudur. Spike bir RISC-V komut seti mimarisi simülatörüdür. Linux tabanlı işletim sistemleri üzerinde komut satırından bir uygulama olarak çalıştırılır. Spike, RISC-V işlemciler için derlenmiş bir programı, gerçek bir RISC-V işlemcisi kullanmadan çalıştırmayı sağlar. RISC-V komutlarının fonksiyonel davranışlarını içerir ve RISC-V işlemcisini yazılımsal olarak modeller. RISC-V işlemcisi gibi davranır ve RISC-V makine kodlarını içeren bir programı çalıştırır. Ayrıca, Spike üzerinden programın hata ayıklaması yapılabilir, işlemci hafızasındaki ve saklayıcılardaki değerler anlık olarak gözlemlenebilir. Bunlara ek olarak Spike da açık kaynaklı bir proje olduğu için, yeni RISC-V komutları simülatöre eklenip çalıştırılabilir. Bu çalışmada, performansta en yüksek faydayı elde etmek ve en iyi özel komutları seçmek için bir profilleme metodolojisi geliştirilmiştir. ASCON'un 32-bit işlemciler için yazılım uygulaması analiz edilmiş ve profillenmiştir. Çeşitli kod bloklarının başı ve sonunda çalıştırılan komut sayısı ve saat döngüsü sayısının farkı alınarak proffilleme yapılmıştır. Algoritmada en çok gecikemeye sebep olan ve en çok tekrar eden işlemler tespit edilerek, bu işlemler için yeni komutlar belirlenmiştir. Saat döngüleri sayısını ve komut belleğini azaltmak için ASCON algoritmasına özel kriptografik standart olmayan 32-bit RISC-V komutları geliştirilmiştir. Yeni komular 32-bit temel komular kümesine eklenerek, RISC-V komut seti mimarisi, ASCON şifreleme algoritması için genişletilmiştir. Bu yeni komutlar yer değiştirme ve sağa kaydırmalı dairesel dönüş işlemleri için tasarlanmıştır. RISC-V işlemcileri için ASCON'a özel şifreleme komutları GNU Derleyici Koleksiyonu ve Spike RISC-V komut seti mimarisi simülatörüne eklenerek uçtan uca bir test ortamı oluşturulmuştur. GNU Derleyici Koleksiyonu'ndaki komut kalıpları ve derleyicide tanımlanmış gömülü özel fonksiyonlar örneklerle incelenerek teorik alt yapısı anlatılmıştır. Bu fonksiyonların ve komut kalıplarının derleyicideki kullanımı ve kullanım amacı uygulamalı örneklerle açıklanmıştır. RISC-V için toplama işlemini gerçekleştiren komut kalıbı incelenerek, GCC RISC-V arka-ucunun toplama işlemi xxiii komutlarının üretilmesi için ne gibi bilgilere ihtiyacı olduğu belirlenmiştir. Kayan nokta aritmetiği destekleten RISC-V işlemcileri için GCC'de bulunan bir gömülü fonksiyon incelenmiş ve yeni bi gömülü fonksiyonun GCC RISC-V arka-ucuna hangi bilgiler ile nasıl eklenmesi gerektiği gösterilmiştir. Bu bilgiler ve örnekler ışığında, ASCON'a özel RISC-V komutları için yeni özel gömülü fonksiyonlar ve komut modelleri GCC RISC-V arka-ucuna entegre edilmiştir. ASCON için tasarlanmış yeni gömülü fonksiyonlar, algoritmanın yazılım uygulamasına entegre edilmiş ve bu fonksiyonlara tekabül eden komutlara derlenmiştir. Spike simülatörü, yeni komutları içeren programı çalıştırmak için, bu komutlarla genişletilmiştir. Yer değiştirme ve sağa dairesel kaydırma işlemlerinin fonksiyonel davranışları simülatöre eklenmiştir. Spike simülatörü bütün RISC-V komutlarını 1 saat döngüsü olarak saydığı için, gerçek bir donanım üzerinde 1 saat döngüsünden fazla süren komutların simüle edilmesi performans analizi anlamında yanlış sonuç edilmesine sebep olabilir. Bu sebeple, simülatör eklenen yeni komutların program üzerindeki toplam saat döngüsüne etkisini doğru hesaplamak adına, simülatöre yeni bir algoritma entegre edilerek sağlıklı bir ölçüm yapmak hedeflenmiştir. Algoritmanın uygulamasındaki gecikme ve kullanılan komut belleği, önerilen yeni komutlar ve farklı derleyici optimizasyon bayrakları ile tekrar profillenmiştir. ASCON hafif şifreleme algoritmasının yazılım uygulamasındaki programın komut hafızası azaltılmıştır. Şifreleme ve şifre çözme işlemleri hızlandırılmıştır ve iyileştirmeler sunulmuştur.

Özet (Çeviri)

Nowadays, the spread of internet of things applications leads more connected devices. The information shared between these devices might be secret and exposed to cyber-attacks. These embedded devices also have limited resources in terms of memory, power, area, etc. Lightweight cryptography is useful to provide security and privacy in resource constrained embedded devices. Latency and memory consumption are the key elements in performance metrics for lightweight cryptography algorithm implementations. ASCON lightweight cryptography algorithm is one of the finalists in CEASAR competition that is organized by National Institute of Standards and Technology. ASCON provides authentication with associated data and hashing functionalities by using basic logical operations such as AND and XOR. It uses repeated rounds to achieve a certain security level and operates on 320-bit state. It operates with S-Boxes in substitution layer and right shift circular rotation in linear layer. ASCON also provides implementations for the 32-bit and 64-bit processors. RISC-V is an open source instruction set architecture developed by University of California, Berkeley. RISC-V is easy to extend with custom instructions for specific applications such as cryptography, 5G, image processing, etc. In this study, special cryptographic non-standard RISC-V instructions are developed to execute some operations in the algorithm with these instructions. The aim of this procedure is to reduce the required number of clock cycles and instruction memory for the execution of the ASCON on RV32I based processors. A profiling methodology is developed to choose the best special instruction for achieving the highest benefit in performance. Software implementation of ASCON is analyzed and profiled. An end-to-end test environment is formed by extending the GNU Compiler Collection and Spike RISC-V ISA Simulator for the special cryptographic instruction extensions of RISC-V processors. GCC instruction patterns and built-in functions are investigated with examples in GCC. Usage and purpose of the built-in functions and instruction patterns are explained with hands-on examples. New built-in functions and instruction patterns for the new instructions have been integrated into the GCC RISC-V back end. Spike has been modified with the new instructions to run the program. The algorithm has been analyzed with the proposed instructions and different optimization flags. The performance improvements in terms of instruction memory and total number of clock cycles of the program are shown in the thesis.

Benzer Tezler

  1. Instruction set extension of RISC-V core with plantard modular reduction for number theoretic transform used in post-quantum cryptography

    RISC-V çekirdeğinin talimat setinin post-kuantum kriptografide kullanılan sayısal teorik dönüşüm için plantard modüler indirgeme metodu ile genişletilmesi

    ALİ ÜSTÜN

    Yüksek Lisans

    İngilizce

    İngilizce

    2024

    Elektrik ve Elektronik Mühendisliğiİstanbul Teknik Üniversitesi

    Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı

    PROF. DR. SIDDIKA BERNA ÖRS YALÇIN

  2. An FPGA implementation of a RISC-V based SOC system with custom instruction set for image processing applications

    Görüntü işleme uygulamaları için özel komut setine sahip RISC-V tabanlı bir SOC sısteminin FPGA gerçeklemesi

    ERFAN GHOLIZADEHAZARI

    Yüksek Lisans

    İngilizce

    İngilizce

    2021

    Elektrik ve Elektronik Mühendisliğiİstanbul Teknik Üniversitesi

    Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı

    PROF. DR. SIDDIKA BERNA ÖRS YALÇIN

  3. Süre uzatımı ve ek ödemelerin KİK ve FIDIC anahtar teslimi sözleşmeleri çerçevesinde incelenmesi

    Review of extension of time and additional payment in the public procurement authority KIK and FIDIC turnkey contracts

    DİDEM AYDIN

    Yüksek Lisans

    Türkçe

    Türkçe

    2015

    İnşaat Mühendisliğiİstanbul Teknik Üniversitesi

    İnşaat Mühendisliği Ana Bilim Dalı

    DOÇ. DR. DENİZ İLTER

  4. Experiences and reflections of first-year teachers in a professional development program based on Community of Inquiry framework

    Sorgulama Topluluğu modeli unsurlarına göre tasarlanmış aday dil öğretmenlerine yönelik bir mesleki gelişim programının tasarımı, uygulanması ve doğrulanması

    YEŞİM NALKESEN AKIN

    Doktora

    İngilizce

    İngilizce

    2023

    Eğitim ve ÖğretimBahçeşehir Üniversitesi

    Eğitim Ana Bilim Dalı

    PROF. DR. TUFAN ADIGÜZEL

  5. Kız teknik öğretim tekstil-konfeksiyon alan öğretim programında kazandırılan teknik bilgi ve becerilerin iş hayatındaki uygulamalarla tutarlılığı

    The technique information and abilities which is gained textile-ready made education programme and consequent of practice in profession life

    ARZU BÖLÜKBAŞI

    Yüksek Lisans

    Türkçe

    Türkçe

    2004

    Eğitim ve ÖğretimGazi Üniversitesi

    Giyim Endüstrisi ve Moda Tasarımı Ana Bilim Dalı

    YRD. DOÇ. DR. FATMA KOÇ