PERANCANGAN DAN IMPLEMENTASI MODUL PERKALIAN MODULO MONTGOMERY UNTUK SISTEM KRIPTOGRAFI KUNCI PUBLIK RSA 512 BIT BERBASIS FPGA (FIELD PROGRAMMABLE GATE ARRAY) (DESIGN AND IMPLEMENTATION OF MONTGOMERY MODULO MULTIPLICATION FOR CRYPTOGRAPHY 512-BIT RSA PUBL Reza Irawan¹, M. Ary Murti², Koredianto Usman³ ¹Teknik Telekomunikasi,, Universitas Telkom Abstrak ABSTRAKSI Salah satu hal yang penting dalam komunikasi data adalah sistem keamanan. Hal ini penting karena pelanggan akan merasa aman dalam berkomunikasi bila menggunakan sistem komunikasi yang aman. Sistem keamanan dengan level tinggi cocok untuk beberapa pengiriman data, misalnya email, e-commerce, dll. Sistem keamanan untuk komunikasi data lazim juga disebut kriptografi. Salah satu algoritma kriptografi yang dipakai untuk penyandian data pada credit card adalah algoritma Rivest-Shamir-Adleman (RSA). Algoritma RSA merupakan jenis algoritma asimetris dimana kunci dalam setiap prosesnya berbeda. Public key digunakan untuk proses enkripsi, sedangkan dalam proses deskripsi menggunakan prívate key. Dalam public key RSA, terdapat dua operasi penting yaitu proses perkalian modulo dan proses operasi eksponensiasi. Operasi perkalian modulo merupakan inti dari algoritma RSA. Operasi tersebut dimplementasikan oleh algoritma Montgomery. Montgomery merupakan algoritma paling efisien dan cocok untuk diimplementasikan pada perangkat keras.lebar data 512 bit merupakan lebar data minimal untuk Kriptografi RSA. Perancangan dimulai dengan menerjemahkan algoritma perkalian modulo tersebut ke dalam alur komputer. Rancangan ini dimodelkan dengan menggunakan bahasa pemrograman VHDL dan disimulasikan menggunakan Modelsim SE 6.0, kemudian disintesis dan diimplementasikan menggunakan iv Xilinx ISE 8.1i, sedangkan devais target menggunakan board FPGA SPARTAN 3 seri XC3S1000 FT256-4C. Hasil implementasi rancangan tugas akhir ini dengan menggunakan target divais FPGA SPARTAN 3 seri XC3S1000 FT256-4C menunjukkan top level entity mampu bekerja pada frekuensi maksimum 39,469 MHz dan membutuhkan slices sebanyak 32% (2485 dari 7680 slices yang tersedia), serta membutuhkan 7% IOBs (13 dari 173 IOBs yang tersedia). Kata Kunci : Kata Kunci: Kriptografi, RSA, FPGA, Montgomery
Powered by TCPDF (www.tcpdf.org) Abstract ABSTRACT One of important things in data communication is a security system. This system is so important that users feel secured when communicate. High-level security system can be applied for some data deliveries, such as e-mail, ecommerce, etc. Security system in data communication is well known as cryptography. One of cryptography algorithms used for credit card coding is Rivest- Shamir-Adleman (RSA). RSA is an asymetric algorithm which uses different keys in its proccess. They are public key and prívate key. Public key is used for encryption and prívate key is used for decryption. Two main operations consisted in public key are modulo multiplication and exponential proccess. Modulo multiplication rules the RSA algorithm. An algorithm which can implement the multiplication is Montgomery. Montgomery can be applied in hardware because of its efficiency. 512-bit width is minimum value for RSA cryptography. The RSA construction starts from translating the multiplication algorithm into a computer. The design is drawn by using VHDL dan simulated by using Modelsim SE 6.0. The implementation and synthesizing are proccessed by Xilinx ISE 8.1i. Finally, the result is transfered to a device named FPGA SPARTAN 3 XC3S1000 FT256-4C. This final project design implementation result by using device target FPGA Spartan 3 XC3S1000 FT256-4C series show top level entity capable work on maximum frequency 39,469 MHz and required slices 32% (2485 out of 7680), and also required 7% IOBs (13 out of 173). Keywords : Keywords:Cryptography, RSA, FPGA, Montgomery
BAB I PENDAHULUAN 1.1 Latar Belakang Berawal dari sebuah keamanan dalam komunikasi data yang merupakan suatu hal yang penting, karena informasi/data tersebut akan menjadi aset bagi perorangan, organisasi, dan instansi pemerintah. Apabila informasi tersebut dapat diakses secara ilegal oleh pihak tertentu maka akan dapat merugikan bagi pemilik informasi.oleh karena itu pengiriman dan penerimaan informasi harus dilakukan secara aman dan legal serta terjamin kerahasiannya.untuk menjaga informasi berupa data penting, salah satunya dapat dilakukan dengan menggunakan metode kriptografi. Kriptografi adalah ilmu yang memanfaatkan fungsi matematis untuk mengubah suatu informasi yang aman melalui suatu transformasi tertentu. Terdapat beberapa algoritma yang dapat digunakan untuk melakuakan transformasi. Algoritma ini dapat diimplementasikan baik dalam bentuk software maupun hardware yang masing-masing memiliki kelebiahan dan kekurangan. Implementasi dalam bentuk hardware pada umumnya memiliki performansi yang lebih baik terutama pada kecepatan proses dibanding implementasi dalam bentuk software, namun biaya implementasi dalam bentuk hardware tentunya lebih besar dari implementasi dalam bentuk software. Sistem keamanan dengan level tinggi cocok untuk beberapa pengiriman data, misalnya email, e-commerce, dll. Sistem keamanan untuk komunikasi data lazim juga disebut kriptografi. Salah satu algoritma kriptografi yang dipakai untuk penyandian data pada credit card adalah algoritma Rivest-Shamir-Adleman (RSA) (Rivest-Shamir-Adleman). Algoritma RSA ini merupakan kriptografi asimetri dimana ada 2 buah kunci yang berbeda, ada public key pada proses enkripsi dan private key pada proses deskripsi. Public key dapat diketahui oleh semua orang, tetapi
Bab I Pendahuluan 2 private key hanya instansi yang mengetahuinya. Sehingga algoritma ini dirasa cukup aman untuk aplikasi e-commerce. Kecepatan, komputasi daya, dan tingkat keamanan adalah hal-hal yang saling berpengaruh dalam kriptosistem ini. Adalah sesuatu yang sulit untuk mencapai kecepatan yang tinggi, komputasi yang rendah, dan tingkat keamanan yang tinggi dalam suatu rancangan. Karena pada umumnya yang tercapai adalah semakin tinggi tingkat keamanan yang diinginkan maka makin tinggi pula komputasi daya yang dibutuhkan dan makin rendah kecepatan yang dihasilkan. 1.2 Perumusan Masalah Dalam penulisan Tugas Akhir ini perumusan masalah akan difokuskan pada beberapa hal, yaitu: 1. Perancangan perkalian modulo RSA yang berbasis pada algoritma Montgomery dengan VHDL (Very High Speed Integrated Circuit Hardware Language). 2. Pengalokasian port yang diperlukan pada implementasi. 3. Sintesis perkalian modulo Montgomery. 4. Implementasi perkalian modulo RSA yang berbasis pada algoritma Montgomery ke devais target FPGA SPARTAN 3 seri XC3S1000 FT256-4C. Gambar 1.1 Blok Sistem yang akan diimplementasikan pada FPGA INSTITUT TEKNOLOGI TELKOM
Bab I Pendahuluan 3 1.3 Batasan Masalah Dalam Tugas Akhir ini, batasan masalah yang digunakan adalah: 1. Pembahasan difokuskan pada perancangan dan implementasi menggunakan algoritma perkalian modulo Montgomery. 2. Input yang digunakan dalam perancangan & implementasi menggunakan lebar data 512 bit. 3. Tidak mengimplementasikan dalam bentuk smartcard. 4. Target device yang digunakan adalah FPGA SPARTAN 3 seri XC3S1000 FT256-4C. 5. Analisa sistem dilakukan dengan mengamati dan menyimpulkan data data keluaran sistem (512 bit) dengan masukan sistem (512 bit ) serta melakukan verifikasi rancangan. 1.4 Tujuan Penulisan Tujuan dari Tugas Akhir ini adalah: 1. Melakukan perancangan dan simulasi perkalian modulo RSA 512 bit yang berbasis pada algoritma Montgomery menggunakan bahasa pemrograman VHDL. 2. Mengimplementasikan perkalian modulo RSA 512 bit yang berbasis pada algoritma Montgomery ke board FPGA Spartan 3 seri XC3S1000 FT256 4C. 3. Menganalisa sistem dalam hal analisa perancangan (simulasi), verifikasi perancangan, dan analisa penggunaan resources. 1.5 Metode penulisan Metode yang akan dilakukan dalam penyusunan Tugas Akhir ini adalah: 1. Studi literatur Pencarian dan pengumpulan literatur yang langsung berkaitan dengan masalah-masalah yang ada pada Tugas Akhir ini baik mengenai algoritma perkalian modulo Montgomery atau tentang bahasa pemrograman VHDL, serta dari Tugas Akhir Mahasiswa ITTelkom dan perguruan tinggi lain, yang mendukung Tugas Akhir ini. INSTITUT TEKNOLOGI TELKOM
Bab I Pendahuluan 4 2. Perancangan dan Simulasi Perancangan sistem yang sesuai dengan spesifikasi algoritma kriptografi A5/2 dengan bahasa VHDL dengan bantuan software Modelsim 6.0 dan Xilinx WebPack Project Navigator 8.1i. Metode perancangan yang digunakan adalah gabungan antara top-down dan bottom-up. 3. Analisa Analisa sistem dalam hal analisa perancangan (simulasi), verifikasi perancangan, dan analisa penggunaan resources. 4. Implementasi Desain yang telah berhasil dijalankan pada software simulasi, kemudian akan disintesis & diimplementasikan pada FPGA SPARTAN 3 Seri XC3S1000 FT256-4C, dan diuji serta dianalisis kinerjanya 1.6 Sistematika Penulisan Laporan Tugas Akhir akan dirancang dengan sistematika sebagai berikut : BAB I : Pendahuluan Bab ini membahas tentang latar belakang, maksud dan tujuan, batasan masalah, rumusan masalah, serta sistematika pembahasan dari perancangan sistem. BAB II : Landasan Teori Membahas landasan teori yang berhubungan dengan keamanan algoritma kriptografi RSA. Teori dasar ini difokuskan pada teoriteori dasar pada mekanisme, kriptografi dan algoritma perkalian Montgomery. BAB III : Perancangan Sistem Bab ini akan membahas perancangan algoritma Perkalian Montgomery dengan menggunakan software VHDL Model sim 6.0, simulasi, dan analisa hasil simulasi. BAB IV : Analisa Sistem INSTITUT TEKNOLOGI TELKOM
Powered by TCPDF (www.tcpdf.org) Bab I Pendahuluan 5 Bab ini berisi analisa hasil perancangan, analisa hasil sintesis, dan akan diimplementasikan sistem hasil simulasi di model sim 6.0 ke devais target board FPGA SPARTAN 3 seri XC3S1000 FT256-4C. BAB V : Kesimpulan & Saran Bab ini berisi kesimpulan mengenai tugas akhir ini dan saran untuk pengembangan TA ini selanjutnya. INSTITUT TEKNOLOGI TELKOM
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan Kesimpulan dari Tugas Akhir yang berjudul : Perancangan dan Implementasi Modul Perkalian Modulo Montgomery Untuk Sistem Kriptografi Kunci Publik RSA 512 Bit Berbasis FPGA (Field Programmable Gate Array) antara lain : 1. Hasil simulasi perancangan menunjukkan bahwa sistem (Main Module) dapat melakukan proses perkalian modulo Montgomery yang sesuai dengan spesifikasi. 2. Hasil simulasi perancangan menunjukkan bahwa sistem main module register (Top level Entity) dapat me-multiplex 512 bit ke 8 bit serial. 3. Hasil simulasi perancangan sistem (Main Module) dengan Model sim 6.0 diperoleh jumlah clkcycle sebanyak 10345 untuk melakukan satu kali proses (512 bit) sehingga diperoleh troughput 0.049 bit/clkcycle. 4. Hasil Sintesis menggunakan Xilinx-ISE Project Navigator 8.1i menunjukkan bahwa maksimum frekuensi clock yang boleh digunakan untuk top level entity adalah sebesar 39,469MHz. 5. Hasil Implementasi sistem (Main Module regsiter) dengan menggunakan FPGA Spartan 3 XC3S1000 FT256-4C didapatkan waktu proses (T) adalah 0,262 ms. 6. Slice yang dibutuhkan untuk implementasi dengan menggunakan FPGA Spartan 3 XC3S1000 FT256 4C sebanyak 1814 slices dari 15360 slices, sedangkan IOB total yang digunakan adalah sebanyak 13 IOB dari 173 IOB.
Powered by TCPDF (www.tcpdf.org) Bab V Kesimpulan dan Saran 57 5.2 Saran Setelah melakukan tugas akhir ini ada beberapa saran yang perlu dipertimbangkan untuk pengembangan lebih lanjut, yaitu: 1. Pelu ditambahkan modul eksponensial Montgomery dan modul Kontroller sehingga dapat berfungsi sebagai Prosesor RSA yang dapat melakukan enkripsi dan dekripsi. 2. Perlu dibuat perbandingan performansi algoritma untuk penyelesaian RSA dengan menggunakan FPGA yang berbeda. 3. Perlu dilakukan optimalisasi penggunaan resources terhadap perancangan sistem. INSTITUT TEKNOLOGI TELKOM
Powered by TCPDF (www.tcpdf.org) DAFTAR PUSTAKA [1] Kurniawan, Yusuf, Kriptografi Keamanan Internet dan Jaringan Telekomunikasi, Informatika, Bandung, 2004. [2] RSA Algorithm, DI Management Services, Sydney, Austarlia, 2006, http://www.di-mgt.com.au/rsa_alg.html [3] S. Kaliski JrBarkan, T. Acar, Analyzing and Comparing Montgomery Multiplication Algorithms, 16(3), 1996, IEEE Micro. [4] J. Smith, Douglas, HDL Chip Design, Madison : Doone Publications, January 1999. [5] www.xilinx.com/products/silicon_solutions/fpgas/spartan_series/spartan3_ fpgas/spartan3_product_table.pdf [6] Thomas Blum, Christof Paar, High Radix Montgomery Modular Exponentiation on Reconfigurable Hardware, Ece Department, Worcester Polytechnic Institute, USA. [7] CK, Koc, RSA Hardware Implementation, Version 2.0, Redwood City : RSA Laboratories, RSA Data Securitis Inc, November 1994. [8] F. Thinder, Richard, Digital Engineering Design, A modern Approarch, New Jersey : Prentice-Hall Inc, 1991 [9] Modelsim, SE/EE Tutorial Versio 5.4a, Portland : Model Technology Inc, April 2000. [10] R.L.Rivest, A.Shamir, L.Adleman, A method for Obtaining Digital Signature and Publik-Key Cryptosystems, 1978. [11] O. Hwang, Enoch, Microprocessor Design Principles and Practices With VHDL, Brooks, Cole, 2004. [12] L. Perry, Douglas, VHDL Programming by Example, Mc-Graw-Hill. [13] Xilinx, Product Overview FPGA, CPLD, and Software Solutions, USA: Xilinx Inc, 1997. xvii