Kaos tabanlı çift entropi çekirdekli gerçek rasgele sayı üreteci tasarımı ve FPGA üzerinde gerçekleştirilmesi
Chaos-based dual entropy core true random number generator design and its realization on FPGA
Yazar: MURAT TUNA
Danışman: YRD. DOÇ. DR. CAN BÜLENT FİDAN
Karabük Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik-Elektronik Mühendisliği Ana Bilim Dalı
Derece: Doktora, 2017
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin: FPGA = FPGA ; VHDL = VHDL

Özet:
Bu tez çalışmasında, FPGA üzerinde 4 farklı nümerik algoritma kullanılarak tasarımı gerçekleştirilen 2 adet yeni kaotik sistem ile 1 adet ring osilatör yapıları kullanılarak, yüksek çalışma ve bit üretim hızına sahip kaos tabanlı çift entropi çekirdekli Gerçek Rasgele Sayı Üreteçleri (GRSÜ) gerçekleştirilmiştir. 

Bu çalışma doğrultusunda, ilk olarak son yıllarda literatüre sunulan ve üzerinde FPGA ile çalışma yapılmamış farklı matematiksel özelliklere sahip 8 adet kaotik sistem seçilmiştir. Bu sistemlerin matematiksel denklem yapıları incelenerek bilgisayar ortamında nümerik çözümleri elde edilmiştir. Ayrıca kaotik sistemlerin zaman serileri, faz portreleri ve Lyapunov üstelleri gibi kaotik dinamik analizleri gerçekleştirilmiştir. 

İkinci aşamada; referans olarak seçilen Pehlivan C Kaotik Sistemi (PCKS) ve Pehlivan 3 Boyutlu Kaotik Sistemi (P3BKS) dört farklı nümerik metot ile modellenmiş ve sistemlerin dinamik davranışları incelenerek kaos analizleri yapılmıştır. Yine bu aşamada PCKS ve P3BKS tasarımları FPGA üzerinde donanım tanımlama dili VHDL ile 32 bit IQ-Math sabit noktalı sayı standardına uygun olarak modellenmiştir. Modelleme aşamasında Euler, Heun, RK4 ve RK5-Butcher olmak üzere dört farklı algoritma kullanılmıştır. Xilinx Virtex–6 ailesi XC6VLX75T-3FF784 nolu çipi kullanılan tasarımlar Xilinx ISE Design Tools 14.2 benzetim programı kullanılarak sentezlenmiştir. Ayrıca bu aşamada FPGA üzerinde VHDL dili kullanılarak ring osilatör tasarımı gerçekleştirilmiştir. Kaotik ve ring osilatör tasarımlarının FPGA çip kaynak kullanımına ve ünitelerin saat hızlarına ait parametrelerinin istatistikleri incelenmiştir. Elde edilen sonuçlara göre ring osilatörün çalışma frekansı 1,5 GHz, kaotik osilatörlerin çalışma frekansı 390-464 MHz dolaylarında değişmektedir. Bu aşamada tasarımlardan elde edilen sonuçlar literatürdeki benzer çalışmalarla karşılaştırılmıştır.

Üçüncü aşamada; Euler, Heun, RK4 ve RK5-Butcher algoritmaları kullanılarak FPGA-tabanlı PCKS ve P3BKS tasarımları ile ring osilatör yapısı birleştirilerek çift entropi çekirdekli yeni GRSÜ tasarımı gerçekleştirilmiştir. Genel olarak iki farklı kaotik sistem, dört farklı nümerik algoritma ve bir kuantalama işlemi ile toplamda 8 farklı GRSÜ ünitesi tasarlanmıştır. FPGA tabanlı GRSÜ modellemelerinde 32 bit IQ-Math sabit noktalı sayı standardı kullanılmıştır. Geliştirilen modeller VHDL donanım tanımlama dili kullanılarak kodlanmıştır. Tasarımı yapılan 8 farklı GRSÜ ünitesi Xilinx firmasının ürettiği Virtex-6 ailesinin XC6VLX75T-3FF784 çipi için sentezlenerek, FPGA çip kaynak kullanımına ve ünitelerin saat hızlarına ait parametrelerin istatistikleri incelenmiştir. GRSÜ ünitelerinin verileri işleme süreleri Xilinx ISE Design Tools 14.2 simülasyon programı kullanılarak elde edilmiştir. Tasarlanan yeni GRSÜ üniteleri sistemin belirtilen çalışma frekansında yaklaşık olarak 390-464 Mbit/s arasında değişen yüksek bit üretim hızları elde edilmiştir. 

Son aşamada; FPGA üzerinde kaos tabanlı çift entropi çekirdekli tasarlanan 8 adet GRSÜ'lerinden elde edilen sayı dizilerinin rasgelelik testleri gerçekleştirilmiştir. Test aşamasında literatürde yoğun bir şekilde kullanılan uluslararası FIPS 140-1 ve NIST 800-22 test paketleri kullanılmıştır. Tasarımı gerçekleştirilen 8 adet GRSÜ ünitesinden alınan 20 Kbit sayı dizileri FIPS testlerine, 1 Mbit sayı dizileri NIST testlerine tabi tutulmuştur. Tüm tasarımlar rasgelelik testlerinden son işlem uygulamasına gerek kalmadan geçerek, sistemin çalışma frekansı ile aynı değerlerde yüksek bit üretim hızları (390-464 Mbit/s) elde edilmiş ve buda önerilen yeni tasarımın özgün bir çalışma olduğunu göstermiştir.
      
Kaotik osilatörlerin gürültü benzeri özellikler taşımaları ve bilgi işaretini gizleyebilme gibi özelliklerinden dolayı kaos tabanlı GRSÜ yapıların geliştirilmesi üzerine son yıllarda büyük çabalar sarf edilmektedir. Rasgele sayı üreteçleri kriptografi, Monte-Carlo metodunun kullanıldığı uygulamalar, bilgisayar benzetimleri ve modellemeleri ile sayısal analiz uygulamaları gibi birçok alanda kullanılmaktadır. Bu tez çalışmasında FPGA üzerinde kaos tabanlı çift entropi çekirdekli tasarımı gerçekleştirilen yeni GRSÜ ünitelerinden elde edilen yüksek çalışma ve bit üretim hızına sahip rasgele sayı dizileri; hızlı, güvenli ve yoğun işlem gerektiren kriptografi ve güvenli haberleşme alanlarında kullanılabileceklerdir.

Abstract:
In this thesis study, chaos-based dual entropy core True Random Number Generators (TRNG) with high operation capacities and bit generation speeds were realized by using 2 new chaotic systems and 1 ring oscillator structures that are designed on FPGA by using 4 different numerical algorithms.
 
In the direction of this study, firstly, 8 chaotic systems having different mathematical characteristics, which have not been studied on FPGA and have been presented to the literature in recent years, were selected. Numerical solutions were obtained in computer environment by examining the mathematical equation structures of these systems. In addition, chaotic dynamic analyzes such as time series, phase portraits and Lyapunov exponents of chaotic systems, were realization.
 
In the second phase; The Pehlivan C Chaotic System (PCCS) and the Pehlivan 3D Chaotic System (P3DCS), which were selected as reference, were modeled by four different numerical methods and chaos analyzes were carried out by analyzing the dynamic behaviors of the systems. Again in this phase, the PCCS and P3DCS designs were modeled on the FPGA in accordance the 32 bit IQ-Math fixed point number standard with hardware description language VHDL. Four different algorithms as Euler, Heun, RK4 and RK5-Butcher were used in the modeling stage. The designs, in which the XC6VLX75T-3FF784 numbered chip of Xilinx Virtex-6 family were utilized, were synthesized using the Xilinx ISE Design Tools 14.2 simulation program. In addition, a ring oscillator design was actualized on the FPGA by using the VHDL language. The statistics of parameters of chaotic and ring oscillator designs belonging to FPGA chip source usage and clock rates of the units have been examined. According to the obtained results, the operating frequency of the ring oscillator is changed around 1,5 GHz, and the operating frequency of the chaotic oscillator is changed around 390-464 MHz. At this phase, the results obtained from the designs are compared with the results of the similar studies in the literature.

In the third phase; new dual entropy core TRNG design was actualized by combining the FPGA-based PCCS and P3DCS designs with the ring oscillator structure, and by using Euler, Heun, RK4 and RK5-Butcher algorithms. In generally, 8 different TRNG units were designed with two different chaotic systems, four different numerical algorithms and a quantization operation. While modeling FPGA-based TRNGs, 32 bit IQ-Math fixed-point number standard was used. The developed models were coded using the VHDL hardware description language. 8 different TRNG units, which were designed, were synthesized for the XC6VLX75T-3FF784 chip of the Virtex-6 family produced by Xilinx Company, and the statistics of parameters belonging to FPGA chip source usage and clock rates of the units were analyzed. Data processing durations of TRNG units were obtained by using the Xilinx ISE Design Tools 14.2 simulation program. High bit production rates of about 390-464 Mbit/s were obtained at the specified operating frequency of the systems of new designed TRNGs.
 
In the last stage; randomness tests of number sequences obtained from the 8 chaos-based dual entropy core TRNGs designed on FPGA were carried out. In the test phase, international FIPS 140-1 and NIST 800-22 test packages, which are intensively used in the literature, were utilized. The 20 Kbit number sequences obtained from the designed 8 TRNG units were subjected to FIPS tests, and the 1 Mbit number sequences were subjected to NIST tests. All designs passed through randomness tests without any need for the application of finishing, high bit production rates (390-464 Mbit/s) having the same values with the operating frequency of the system was obtained, which shows that the proposed new design is a unique study.

Due to the certain characteristics of chaotic oscillators such as having noise and their ability to hide the informatory signs, a massive amount of effort for the development of chaos-based TRNG structures have been spent in the recent years. Random number generators have been utilized in numerous fields such as cryptography, applications using Monte-Carlo method, computer simulations and modeling and numerical analysis applications. In this thesis study, random number arrays with high operation and bit production rate obtained from new chaos-based dual entropy core TRNG units, which are designed on FPGA; will possibly be used in cryptography and secure communication areas that require fast, secure and intensive operations.