Farklı eğri formları için eliptik eğri nokta işlemleri yapan C # kütüphanesi geliştirilmesi

Yükleniyor...
Küçük Resim

Tarih

Dergi Başlığı

Dergi ISSN

Cilt Başlığı

Yayıncı

Gebze Yüksek Teknoloji Enstitüsü, Lisansüstü Eğitim Enstitüsü

Erişim Hakkı

info:eu-repo/semantics/openAccess

Özet

Eliptik eğri algoritmalarında verimlilik ve performans, nokta işlemlerinin hızına bağlıdır. Nokta işlemlerinde skaler çarpma operasyonu en önemli özelliktir. Bir nokta ile skaler çarpma operasyonu yapılırken, bu işlem içerisinde nokta toplama ve nokta çiftleme ardışıl işlemleri (double-and-add) bulunmaktadır. Farklı koordinat sistemlerinde bu iki işlemin gerçeklenebilmesi için ise modüler çarpmaya göre ters alma, modüler çarpma ve modüler toplama gibi işlemlere ihtiyaç vardır. Çarpmaya göre ters alma işlemi hem işlev olarak hem de donanım olarak gerçeklenmesi yüksek maliyetlere neden olduğundan, değişkenler üzerinde dönüşümler yapılarak projektif koordinat sistemlerine geçilirse bu maliyetler azaltılabilmektedir. Projektif koordinat sistemlerinin Jacobian, Chudnovsky, Extended Jacobian, Inverted Projective ve Lopez Dahap gibi farklı formları da mevcuttur. İkili sonlu alan veya daha yüksek güvenlik sağlayan karekteristiği büyük sonlu alanlarda eliptik eğriler üzerinde çok hızlı nokta çarpma ve nokta toplama işlemi yapabilen eliptik eğri algoritmaları geliştirilmiştir. Bunlardan teze konu olan bazı eliptik eğri formları; Jacobian eğri formu, Edwards eğri formu, Huff eğri formu, Hessian eğri formu ve bunların varyasyonlarıdır. Bu tezde eliptik eğrilerin matematiksel temelleri incelenmiş, Microsoft .Net geliştirme ortamında Framework 4.0 tabanında BigInteger kütüphanesi kullanılarak modüler aritmetik, sonlu alan aritmetik işlemleri tanımlanmış ve eliptik eğrilerde nokta toplama, nokta çiftleme işlemleri farklı eliptik eğri formları ve farklı koordinatlarda uygulamaları gerçekleştirilerek bir eliptik eğri kütüphanesi hazırlanmıştır. Uygulamada C# programlama dili kullanılmıştır.

Efficiency and performance in elliptic curve algorithm depend on the speed of point operations. Scalar multiplication operation is the most important feature of point operation in ECC. There are series of point doubling and point addition operations in scalar multiplication of a point. These two operations are required operations such as modular inversion, modular multiplication, and modular addition to be implemented on different projective coordinates. Due to the fact that the implementation of the modular inversion costs very high, the projective coordinates are used to reduce these costs. The Projective coordinate systems have many different forms such as Jacobian, Chudnovsky, Extended Jacobian, Inverted Projective and Lopez Dahap. Elliptic curve algorithms have been developed to obtain faster point multiplications and point addition over the binary finite field or the large characteristic fields providing high level security. This master thesis concentrates on the various curve models Jacobian curves, Edwards curves, Huff curves, Hessian curves, and their variations. In this thesis, the mathematical foundations of elliptic curve are examined. Modular arithmetic, field arithmetic operations are defined by using Big Integer library at the Microsoft .Net development environment Framework 4.0. An elliptic curve library was prepared by performing point addition and point doubling operations in different elliptic curve forms and different coordinates applications by elliptic curve. C # programming language has been used in this practice.

Açıklama

Anahtar Kelimeler

Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control, Elektrik ve Elektronik Mühendisliği

Kaynak

WoS Q Değeri

Scopus Q Değeri

Cilt

Sayı

Künye

Onay

İnceleme

Ekleyen

Referans Veren