Geri Dön

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

  1. Tez No: 864131
  2. Yazar: ALİ ÜSTÜN
  3. Danışmanlar: PROF. DR. SIDDIKA BERNA ÖRS YALÇIN
  4. Tez Türü: Yüksek Lisans
  5. Konular: Elektrik ve Elektronik Mühendisliği, Electrical and Electronics Engineering
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2024
  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ı: 83

Özet

Kuantum bilgisayarların yükselişi, güvenlik endişelerini ön plana çıkardı. Geleneksel RSA gibi kriptografi algoritmaları, kuantum saldırılarına karşı giderek daha savunmasız hale gelmektedir. Bu nedenle, kuantum bilgisayar tehdidine dayanabilecek güçlü kriptografi algoritmalarına olan talep artmaktadır. Bu talebi karşılamak amacıyla Ulusal Standartlar ve Teknoloji Enstitüsü (NIST), sağlam post-kuantum kriptografi algoritmalarını standardize etmek için bir proje başlattı. Bu projenin odak noktalarından biri CRYSTALS-Kyber ve CRYSTALS-Dilithium algoritmalarıdır. Kriptografi ve post-kuantum kriptografi algoritmaları genellikle karmaşık matematiksel işlemleri içerir ve bu nedenle yavaş olabilirler. Dijitalleşmenin artmasıyla birlikte, siber güvenlik daha da kritik hale gelmiştir. Bu sebeple, hatta Reduced Instruction Set Computer (RISC) mimarisi olan küçük cihazların bile karmaşık kriptografi algoritmalarını kullanması gerekebilir. Bu projenin amacı, RISC-V talimat seti mimarisini genişleterek kriptografi algoritmalarının performansını artırmaktır ve bu kriptografi şemalarının temelini incelemektedir. Post-kuantum kriptografi, kuantum bilgisayarların güçlenmesiyle geleneksel kriptografinin güvenliğini sağlama yeteneğini yitirmesiyle ortaya çıkan bir alanı temsil eder. Kuantum bilgisayarlar, bazı geleneksel algoritmaları çözmek için inanılmaz derecede hızlı bir potansiyele sahiptir, bu da birçok şifreleme yönteminin savunmasız hale gelmesine yol açar. Post-kuantum kriptografide, bu tür saldırılara dayanabilecek yeni algoritmaların geliştirilmesi amaçlanır. NIST gibi kuruluşlar, post-kuantum kriptografi algoritmalarını standardize etmek için çeşitli projeler yürütmektedir. Bu çabalar, CRYSTALS-Kyber, CRYSTALS-Dilithium gibi çeşitli algoritmaların ortaya çıkmasına yol açmıştır. Bu algoritmalar, kuantum bilgisayar saldırılarına karşı dayanıklı olacak şekilde tasarlanmış karmaşık matematiksel işlemleri içerir. Post-kuantum kriptografi, dijital dünyanın güvenliğini gelecek nesillere sağlam bir şekilde aktarmayı amaçlar. Bu, iletişim, veri depolama ve diğer kritik bilgi aktarımlarında kullanılan algoritmaların dayanıklılığını güvence altına alır. Bu yeni algoritmaların geliştirilmesi ve benimsenmesi, siber güvenlik açısından kritik bir öneme sahiptir, çünkü kuantum bilgisayarlar gibi gelişmiş teknolojilerin güvenlik tehditlerini ele almak için hazırlıklı olmak önemlidir. Post-kuantum kriptografi, bu tehditlere karşı dirençli bir dijital dünya inşa etmenin temelini oluşturur, böylece bilgi ve iletişim güvenli bir şekilde korunabilir. RISC-V, temel bir komut seti sunar ve bu set, düşük seviyeli işlemleri gerçekleştirmek için gerekli talimatları içerir. Farklı uygulamalar için özel komutların eklenmesine izin veren modüler bir yapıya sahiptir. Bu, RISC-V'nin geniş bir uygulama yelpazesine hitap etmesini sağlar. Açık kaynaklı olması, RISC-V'in geliştirilmesi ve benimsenmesi için önemli bir faktördür. Ücretsiz lisanslama ve geniş bir topluluk tarafından desteklenmesi, yeni tasarımların ve ürünlerin geliştirilmesini teşvik eder. Ibex gibi çeşitli RISC-V çekirdekleri arasında, modüler ve anlaşılır yapısı nedeniyle tercih edilenler arasındadır. Ibex, RISC-V'nin standart çarpma uzantısını uygular. Ibex'in küçük bir dezavantajı, bir veri yolu arayüzü veya herhangi bir çevresel birim ile gelmemesidir. Çevresel birimleri kolayca eklemek ve kullanmak için, Wishbone arayüzüne sahip bir Ibex projesi kullanılmıştır. Bu proje, Wishbone veri yolu arayüzü modülünü içerir ve çekirdeğe bağlanabilir herhangi bir Wishbone uyumlu çevresel birim modülünü kullanmayı sağlar. Bir örnek proje modülü olarak FPGA için bir temel olarak kullanılmıştır ve bu proje hata ayıklama amaçları için birkaç çevresel birimi içerir. GNU Derleyici Koleksiyonu (GCC), özgür yazılım hareketinin bir parçası olarak geliştirilen ve yaygın olarak kullanılan bir derleyici ailesidir. GCC, C, C++ ve diğer birçok programlama dili için derleyici araçlarını içerir. Çok çeşitli işletim sistemlerinde ve mimarilerde çalışabilir. GCC, performans, optimizasyon ve taşınabilirlik açısından önemli avantajlar sunar. Genişletilebilir ve modüler yapısı sayesinde, farklı mimariler ve platformlar için optimize edilmiş kod üretebilir. Ayrıca, açık kaynaklı olması, kullanıcıların ihtiyaçlarına göre özelleştirmeler yapmalarını sağlar. GCC, özgür yazılım topluluğu tarafından sürekli olarak geliştirilmekte ve güncellenmektedir. GNU Projesi'nin bir parçası olarak, özgür yazılım felsefesini teşvik eder ve kullanıcıların özgürlüklerini korur. GCC, geniş bir kullanıcı tabanına sahiptir ve birçok önemli yazılım projesinde temel derleyici aracı olarak kullanılır. Projenin mevcut aşamasında, işletim sistemi yüklenemiyorsa, her yazılım değişikliğinden sonra proje tekrar sentezlenmeli ve uygulanmalıdır. Bu gecikmeyi önlemek için bir önyükleme programı yazılmıştır. Bu önyükleme programı, uygulama görüntü dosyasını UART üzerinden alır, onu Rastgele Erişimli Bellek (RAM)'e kopyalar ve programı RAM'den çalıştırır. Bu yapılandırma, geliştirme hızını önemli ölçüde artırmıştır. Geliştirme ortamı kurulduktan sonra, CRYSTALS-Kyber kütüphanesi resmi web sitesinden indirilir ve cihazda test edilir. Statik sayaçlar ve GNU Debugger (GDB) kullanılarak, hangi fonksiyonların en çok kullanıldığını analiz etmek için uygulama profillenir. Bu analizlerin sonucunda, modüler çarpma için özel bir talimat eklenir. Özel bir uzantı eklemek için, Aritmetik Mantık Birimi (ALU) ve talimat çözücü düzenlenmelidir. Ayrıca, derleyici kaynak kodu düzenlenmeli ve yeniden derlenmelidir, böylece derleyiciye özel talimatlar hakkında bilgi verilir. Daha sonra, özel talimatlar C kodu içindeki satır içi assembly metodu ile kullanılır. Bu çalışmada, performansta en yüksek verimi sağlamak ve en etkili özel komutları seçmek amacıyla bir profilleme metodolojisi geliştirilmiştir. Post-kuantum kriptografi algoritmalarının 32-bit RISCV işlemcileri için yazılım uygulamaları incelenmiş ve profillenmiştir. Farklı kod bloklarının başında ve sonunda gerçekleştirilen komut sayısı ile saat döngüsü sayısı arasındaki farklar analiz edilerek profilleme yapılmıştır. Algoritmanın en büyük gecikmeye ve en sık tekrar eden işlemlere neden olan kısımları belirlenmiş ve bu işlemler için yeni komutlar tanımlanmıştır. Bu sayede, post-kuantum kriptografi algoritmalarının 32-bit RISCV işlemciler üzerindeki performansını artırmak için özelleştirilmiş bir yaklaşım geliştirilmiştir. Yapılan profillemeye göre Sayısal Teorik Dönüşüm (NTT)'nin çok zaman harcadığı ve içerisinde ise indirgeme operasyonun iyileştirmeye açık olduğu görülmüştür. Bahsedilen değişiklikler hem GCC de hem de RISC-V'ın uygulaması üzerinde yapıldıktan sonra Ibex RISC-V çekirdeğine eklenen plantard modüler indirgeme talimatı için derleyici düzenlendiğinde ve C kodu geliştirme aşamasına geçildiğinde dahiln olan performans sayaçları kullanılarak modüler çarpma fonksiyonu 73 saatlik döngüden 37 saatlik döngüye düştüğü görülmüştür.

Özet (Çeviri)

The advent of quantum computers has underscored the importance of security. Traditional cryptography algorithms, such as RSA, are becoming increasingly vulnerable to quantum attacks. As a result, there is a growing need for cryptography algorithms that can withstand the threat of quantum computers. In response to this need, the National Institute of Standards and Technology (NIST) has initiated a project to standardize robust post-quantum cryptography algorithms. Among the selected algorithms, this study focuses on the CRYSTALS-Kyber and CRYSTALS-Dilithium algorithm. Encryption algorithms and post-quantum cryptography algorithms are often slow due to the complex mathematical operations they involve. With the rise of digitalization, cybersecurity has become even more critical. Therefore, even small devices with Reduced Instruction Set Computer (RISC) architectures may need to use complex cryptography algorithms. This project aims to extend the RISC-V instruction set architecture to enhance the performance of cryptography algorithms, focusing on the foundations of these cryptography schemes. RISC-V is an open-source instruction set architecture that allows for easy addition of custom extensions, making it an ideal architecture for this project. Among various RISC-V cores, Ibex was chosen for its modular and understandable structure. Ibex implements the standard multiplication extension of RISC-V. One minor drawback of Ibex is that it does not come with a bus interface or any peripherals. To easily add and use peripherals, a modified project of Ibex with a Wishbone interface is used. This project includes a Wishbone bus interface module, allowing any Wishbone compatible peripheral module to be easily connected to the core. An example project top module for Field-Programmable Gate Array (FPGA) in the repository is used as a base to prepare a new one for the Nexys 4 DDR FPGA board. For debugging purposes and to familiarize with editing the project, several peripherals are added. These peripherals include General Purpose Input/Output (GPIO), timer, and Universal Asynchronous Receiver/Transmitter (UART) modules. GPIO and timer modules are written from scratch, while the UART module is sourced from an open-source repository. A C library is written for each peripheral to facilitate their use on the software side. At this stage, if you cannot install any operating system the project needs to be synthesized and implemented again after each software modification. To avoid this delay, a bootloader program is written. This bootloader receives the application image file via UART, copies it to the Random Access Memory (RAM), and runs the program from RAM. This configuration significantly speeds up development. Once the development environment is set up, the CRYSTALS-Kyber library is downloaded from the official website and tested on the device. Using static counters and the GNU Debugger (GDB), the application is profiled to analyze which functions are used the most. Based on these analyses, a custom instruction for modular multiplication is added. To add a custom extension, the Arithmetic Logic Unit (ALU) and the instruction decoder must be edited. Additionally, the compiler source code must be edited and rebuilt to inform the compiler about the custom instructions. Later, the custom instructions are used with inline assembly code inside the C code. The addition of the plantard modular reduction instruction to the Ibex RISC-V core reduced the modular multiplication function from 73 cycles to 37 cycles.

Benzer Tezler

  1. 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

  2. Supporting floating point instructions in NEORV32 RİSC-V soft core processor

    NEORV32 RİSC-V işlemcisinde kayan nokta komutların desteklenmesi

    IŞIL HÖCEK

    Yüksek Lisans

    İngilizce

    İngilizce

    2023

    Elektrik ve Elektronik MühendisliğiEskişehir Teknik Üniversitesi

    Elektrik-Elektronik Mühendisliği Ana Bilim Dalı

    PROF. DR. ATAKAN DOĞAN

  3. 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

    ÖZLEM ALTINAY

    Yüksek Lisans

    İngilizce

    İngilizce

    2021

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

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

    PROF. DR. SIDDIKA BERNA ÖRS YALÇIN

  4. Low power general purpose processor design and instructions set extension for AES

    Düşük güç tüketimli genel amaçlı işlemci tasarımı ve AES için komut kümesi genişletilmesi

    MUHAMMED ŞAİROĞLU

    Yüksek Lisans

    İngilizce

    İngilizce

    2020

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

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

    DOÇ. DR. SIDDIKA BERNA ÖRS YALÇIN

  5. Nonlinear systematic fault detection codes for cryptographic algorithms and their implementations

    Kriptografik algoritmalar için doğrusal olmayan sistematik hata korumalı kodlar ve uygulamaları

    KAZIM YUMBUL

    Doktora

    İngilizce

    İngilizce

    2013

    Elektrik ve Elektronik MühendisliğiGebze Yüksek Teknoloji Enstitüsü

    Elektronik Mühendisliği Ana Bilim Dalı

    YRD. DOÇ. DR. SERDAR SÜER ERDEM

    DOÇ. DR. ERKAY SAVAŞ