IMPLEMENTASI ARITMATIK FIELD PRIMA DENGAN BAHASA C HARYADI

Ukuran: px
Mulai penontonan dengan halaman:

Download "IMPLEMENTASI ARITMATIK FIELD PRIMA DENGAN BAHASA C HARYADI"

Transkripsi

1 IMPLEMENTASI ARITMATIK FIELD PRIMA DENGAN BAHASA C HARYADI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2011

2 IMPLEMENTASI ARITMATIK FIELD PRIMA DENGAN BAHASA C HARYADI Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2011

3 ABSTRACT HARYADI. Implementation of Prime-field Arithmetic Using C Programming. Supervised by SUGI GURITMAN. Cryptography is the science of keeping message secure. Cryptography involves encryption and decryption of messages. Encryption is the process of converting a plaintext into chipertext and decryption is the process of getting back the encrypted message. Cryptographic systems can be divided into two kinds: symmetric-key cryptography and asymmetric-key cryptography (publickey cryptography). The major advantage of symmetric-key cryptography is high efficiency, but it has a number of drawbacks like key distribution and the provision of non-repudiation. Public-key cryptography provides solution to the problems in symmetric-key cryptography. Unfortunately, public-key operations are significantly slower than symmetric-key operation. It is caused by using a big number in its operations. The biggest problem of the big number is how to compute it in constrained machines like computer. A computer s hardware can only perform operations on integers smaller than the machine word-size W. If bigger numbers are needed, the programmer has to provide routines for representation and manipulation of big number. In this research, big number is representated with base 2 W. This base is efficient in memory-space. Arithmetic of big number is constrained in prime-field. The big number that is used in this arithmetic is up to 1024 bit. Operations of this arithmetic are addition, subtraction, multiplication, division, and exponentiation. The result of this research shows that operations of big number can be executed fast in 32-bit computer. Keywords: cryptography, public-key cryptography, big number.

4 Judul Skripsi Nama NIM : Implementasi Aritmatik Field Prima dengan Bahasa C : Haryadi : G Menyetujui: Pembimbing Dr. Sugi Guritman NIP Mengetahui: Ketua Departemen Ilmu Komputer Dr. Ir. Sri Nurdiati, M.Sc NIP Tanggal Lulus:

5 PRAKATA Puji dan syukur penulis panjatkan kepada Allah SWT atas segala curahan rahmat dan karunia-nya sehingga skripsi ini dapat diselesaikan. Skripsi ini merupakan hasil penelitian yang dilakukan dari bulan Februari sampai bulan Desember 2010 dengan bidang kajian Implementasi Aritmatik Field Prima dengan Bahasa C. Ucapan terima kasih penulis sampaikan kepada pihak yang telah membantu penyelesaian tugas akhir ini antara lain: 1. Bapak Dr. Sugi Guritman selaku pembimbing atas bimbingan, arahan, dan nasihat yang diberikan selama pengerjaan tugas akhir ini. 2. Bapak Endang Purnama Giri, S.Kom, M.Kom dan Ibu Shelvie Nidya Neyman, S.Kom, M.Si selaku penguji atas waktu, masukan, dan koreksi yang telah diberikan. 3. Ibu, kakak, dan adik tercinta yang selalu memberikan kasih sayang, doa, dan dukungan moral. 4. Departemen Ilmu Komputer, staf, dan dosen yang telah banyak membantu baik selama penelitian maupun pada masa perkuliahan. 5. Rekan-rekan satu bimbingan, rekan-rekan ILKOM 43, dan rekan-rekan Al Izzah yang telah banyak membantu penulis selama menjalani waktu di Departemen Ilmu Komputer IPB. Penulis menyadari masih banyak kekurangan dalam penelitian ini. Oleh karena itu, kritik dan saran sangat penulis harapkan untuk perbaikan di masa mendatang, semoga penelitian ini dapat bermanfaat, Amin. Bogor, Januari 2011 Haryadi

6 RIWAYAT HIDUP Penulis lahir di Kebumen pada tanggal 8 Sepetember Penulis merupakan anak kedua dari tiga bersaudara dengan ayah bernama Dasuki (Alm) dan Ibu bernama Sudarsih. Pada tahun 2006 penulis lulus dari SMA Negeri 1 Gombong dan pada tahun yang sama penulis lulus seleksi masuk Institut Pertanian Bogor (IPB) melalui jalur Seleksi Penerimaan Mahasiswa Baru (SPMB). Pada tahun 2007 penulis diterima di Departemen Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam. Pada tahun 2009 Penulis menjalankan Praktik Kerja Lapangan (PKL) di Rajawali Citra Televisi Indonesia (RCTI) selama kurang lebih dua bulan.

7 DAFTAR ISI Halaman DAFTAR TABEL... vi PENDAHULUAN Latar Belakang... 1 Tujuan... 1 Ruang Lingkup... 1 TINJAUAN PUSTAKA Field... 1 Field Prima... 1 Algoritme Perkalian... 2 Algoritme Invers Perkalian... 2 Algoritme Reduksi... 2 Algoritme Eksponensial... 2 Pengujian Blackbox... 2 METODE PENELITIAN Studi Literatur... 3 Analisis... 3 Implementasi... 3 Lingkungan Pengembangan... 3 Pengujian... 3 HASIL DAN PEMBAHASAN Analisis... 3 Implementasi... 4 Pengujian KESIMPULAN DAN SARAN Kesimpulan Saran DAFTAR PUSTAKA LAMPIRAN v

8 DAFTAR TABEL Halaman 1 Tipe data dalam bahasa C Return value pada fungsi Tanda hasil fungsi mp_add Tanda hasil fungsi mp_sub Total waktu eksekusi fungsi penjumlahan pada field prima Total waktu eksekusi fungsi pengurangan pada field prima Total waktu eksekusi fungsi perkalian pada field prima Total waktu eksekusi fungsi pembagian pada field prima Total waktu eksekusi fungsi eksponensial pada field prima vi

9 Latar Belakang PENDAHULUAN Kriptografi merupakan ilmu pengetahuan yang menggunakan persamaan matematis untuk melakukan proses enkripsi dan dekripsi data. Teknik ini digunakan untuk mengubah data ke dalam kode-kode tertentu dengan tujuan agar informasi yang disimpan tidak dapat dibaca oleh siapapun kecuali orang yang berhak. Algoritme dalam kriptografi ada dua macam yaitu algoritme simetris dan algoritme asimetris. Algoritme simetris adalah algoritme yang menggunakan kunci yang sama pada proses enkripsi dan dekripsinya, sedangkan algoritme asimetris adalah algoritme yang menggunakan kunci publik pada proses enkripsi dan kunci private pada proses dekripsinya. Algoritme simetris mempunyai kecepatan yang tinggi dalam proses enkripsi dan dekripsinya sehingga sangat cocok untuk diimplementasikan pada mesin kecil seperti smartcard. Akan tetapi, algoritme ini mempunyai kekurangan, terutama dalam manajemen kuncinya. Oleh karena itu, digunakanlah algoritme asimetris untuk mengatasi masalah tersebut. Akan tetapi, algoritme ini juga mempunyai kekurangan yaitu proses enkripsi dan dekripsinya jauh lebih lama dari algoritme simetris. Hal ini disebabkan penggunaan bilangan besar dalam proses operasi pada algoritme asimetris. Operasi-operasi bilangan besar dalam bidang kriptografi merupakan operasi modular (perkalian modular, penjumlahan modular, eksponensial modular, invers perkalian modular, dll). Operasi modular ini merupakan operasi suatu field. Salah satu field yang sering digunakan dalam kriptografi adalah field prima. Salah satu algoritme kriptografi yang menggunakan algoritme asimetris adalah RSA. Field yang digunakan oleh RSA adalah field prima. Umumnya, panjang kunci yang digunakan RSA adalah 1024 bit atau setara dengan bilangan 309 digit (Burnett & Paine 2001). Bilangan besar ini tentu tidak dapat dikomputasikan oleh mesin dengan kapasitas memori yang terbatas seperti komputer jika hanya menggunakan kemampuan dari mesin tersebut. Sekarang ini kapasitas mesin komputer secara umum adalah 32 bit sehingga komputer tersebut hanya mampu mengomputasikan data yang mempunyai panjang maksimal 32 bit atau setara dengan bilangan 10 digit. Oleh karena itu, diperlukan suatu algoritme tertentu agar komputer tersebut mampu melakukan komputasi pada bilangan yang jauh lebih besar dari kapasitas komputer tersebut. Algoritme yang digunakan harus efisien baik dari alokasi memori yang digunakan maupun dari waktu eksekusi yang diperlukan. Hal inilah yang mendorong adanya keinginan untuk menerapkan suatu algoritme tertentu agar aritmatik bilangan besar terutama dalam field prima dapat dikomputasikan oleh komputer. Tujuan Tujuan penelitian ini adalah: 1. Merepresentasikan bilangan besar ke dalam suatu basis tertentu agar efisien dalam alokasi memorinya. 2. Menerapkan suatu algoritme tertentu agar komputer mampu mengomputasikan operasioperasi bilangan besar pada field prima dengan benar. Selanjutnya akan diukur kinerja dari algoritme tersebut. Ruang Lingkup Ruang lingkup penelitian ini difokuskan pada implementasi operasi penjumlahan, pengurangan, perkalian, pembagian, reduksi, invers perkalian, dan eksponensial pada field prima dengan menggunakan bahasa pemrograman C. Panjang bit bilangan besar yang digunakan adalah maksimal 1024 bit. Field TINJAUAN PUSTAKA Field merupakan abstraksi dari sistem bilangan (seperti bilangan rasional Q, bilangan real R, dan bilangan kompleks C). Field terdiri atas satu set F bersama dengan dua operasi, penjumlahan (+) dan perkalian ( ), dengan syarat: 1. (F, +) merupakan grup komutatif dengan nilai identitas (F \{0}, ) merupakan grup komutatif dengan nilai identitas Sifat distributif berlaku: (a + b) c = a c + b c untuk a,b,c F (Hankerson et al ). Field Prima Field prima (F p ) merupakan suatu field yang unsurnya terdiri atas 0 sampai dengan p-1 dengan p bilangan prima. Operasi aritmatik pada field prima merupakan operasi modulo p sehingga hasilnya mempunyai struktur field (Hankerson et al ). 1

10 Algoritme Perkalian Algoritme schoolbook merupakan algoritme umum yang digunakan untuk mengalikan dua polinomial. Sebagai contoh, dua polinomial berderajat d dengan n = d + 1 masing-masing sebagai berikut: d i a i x A(x) =, B(x) = i= 0 i= 0 Hasil perkalian C(x) = A(x)B(x) dihitung sebagai berikut: d d C(x) = i= 0 j= 0 a b i j x i+ j d i b i x Polinomial C(x) diperoleh dari n 2 operasi perkalian dan (n-1) 2 operasi penjumlahan. Algoritme Karatsuba merupakan algoritme perkalian yang dikenalkan oleh Karatsuba. Algoritme ini menggunakan teknik divide and conquer dengan membagi bilangan besar menjadi dua. Sebagai contoh, dua polinomial berderajat d dengan n = d + 1 masing-masing sebagai berikut: A(x) = a 1 x + a 0, B(x) = b 1 x + b 0 Variabel D 0, D 1, dan D 0,1 merupakan variabel pembantu dengan D 0 = a 0 b 0, D 1 = a 1 b 1, D 0,1 = (a 0 + a 1 ) (b 0 + b 1 ) Hasil perkalian C(x) = A(x)B(x) dihitung sebagai berikut: C(x) = D 1 x 2 + (D 0,1 - D 0 - D 1 )x + D 0 (Weimerskirch & Paar 2006 ). Algoritme Invers Perkalian Algoritme extended Euclidian merupakan perluasan dari algoritme Euclidian yang digunakan untuk mencari nilai invers perkalian bilangan b pada field prima a dengan mencari nilai x dan y sehingga ax + by = d dengan d = gcd(a,b) = 1. Algoritme invers perkalian lainnya adalah algoritme binary. Algoritme binary merupakan algoritme invers perkalian yang mengganti operasi pembagian pada algoritme extended Euclidian dengan operasi shift dan pengurangan (Hankerson et al ). Algoritme Reduksi Sebuah bilangan a dikatakan direduksi oleh bilangan b dengan mencari nilai sisa dari pembagian a/b. Proses reduksi merupakan proses mencari nilai r pada persamaan. Hasil r dikatakan a=bq + r dengan q = a / b kongruen dengan a dalam modulo b atau dapat ditulis r a (mod b). Tujuan dari reduksi adalah untuk membuat suatu field. Terdapat beberapa algoritme reduksi seperti algoritme klasik, algoritme Barret, dan algoritme Montgomery. Algoritme klasik menggunakan operasi pembagian dalam melakukan reduksi, sedangkan algoritme Barret dan Montgomery mengganti operasi pembagian tersebut dengan operasi yang less-expensive (Denis 2006). Algoritme Eksponensial Salah satu algoritme eksponensial adalah algoritme left to right exponentiation. Proses algoritme ini dimulai dari bit paling signifikan sampai ke bit paling tidak signifikan. Algoritme left to right exponentiation adalah sebagai berikut: Input : a dan b Output : c = a b 1. c 1 2. For i from k-1 to 0 do c c 2 c c a bi 3. Return c ( Denis 2006). Pengujian Blackbox Pengujian blackbox memfokuskan pada keperluan fungsional dari software sehingga metode ini memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Pengujian blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, yaitu: 1. Kesalahan fungsi 2. Kesalahan interface 3. Kesalahan struktur data 4. Kesalahan kinerja 5. Kesalahan inisialisasi dan terminasi Salah satu metode pengujian blackbox adalah comparison testing. Dalam beberapa situasi dimana keandalan suatu software amat kritis, beberapa aplikasi sering menggunakan software dan hardware ganda. Ketika software ganda dibuat, tim pengembang software lainnya membangun versi independen dari aplikasi dengan spesifikasi yang sama. Setiap versi dapat diuji dengan data uji yang sama untuk memastikan seluruhnya menyediakan output yang sama. Kemudian seluruh versi dieksekusi secara paralel dengan perbandingan hasil realtime untuk memastikan konsistensi (Pressman 2001). 2

11 METODE PENELITIAN Penelitian ini dilakukan dalam beberapa tahap. Tahapan-tahapan tersebut dapat dilihat pada Gambar 1 di bawah ini.. Gambar 1 Metodologi Penelitian. Studi Literatur Studi literatur merupakan tahap paling awal dalam metodologi penelitian ini. Tahapan ini diperlukan untuk mempelajari prinsip dasar aritmatik field prima dan kajian umum lain yang berkaitan dengan field prima tersebut. Analisis Studi Literatur Analisis Implementasi Pengujian Pada tahap ini dilakukan analisis bagaimana cara merepresentasikan bilangan besar dalam komputer dengan kapasitas yang jauh lebih kecil dari bilangan tersebut sehingga efisien dalam alokasi memorinya. Setelah itu dilakukan analisis bagaimana komputer dapat melakukan komputasi terhadap operasi penjumlahan, pengurangan, perkalian, pembagian, reduksi, invers perkalian, dan eksponensial pada bilangan besar dengan waktu yang cepat dan hasil yang benar. Hankerson et al. (2004) mengemukakan bahwa untuk dapat melakukan operasi penjumlahan, pengurangan, perkalian, reduksi, dan invers perkalian pada bilangan p yang sangat besar, setiap anggota pada field prima (F p ) dapat dipandang sebagai integer multi-kata dengan basis 2 W, W adalah ukuran mesin dalam W-bit. Dalam pemrograman, suatu a F p diekspresikan sebagai suatu array dengan array paling kanan merupakan array paling signifikan. Setelah itu dapat dilakukan operasioperasi pada bilangan tersebut dengan menggunakan algoritme tertentu. Sebagai contoh, untuk operasi penjumlahan dilakukan dengan menjumlahkan masing-masing array yang dimulai dari array paling tidak signifikan. Implementasi Tahap ini mencakup bagaimana merepresentasikan bilangan besar dalam basis 2 W dengan W adalah ukuran mesin dalam W-bit dengan menggunakan bahasa C. Selanjutnya dilakukan proses implementasi algoritme penjumlahan, pengurangan, perkalian, pembagian, invers perkalian, reduksi, dan eksponensial pada bilangan tersebut. Lingkungan Pengembangan Sistem dibangun dan diuji dengan menggunakan hardware dan software dengan spesifikasi tertentu. Hardware yang digunakan berupa personal computer (PC) dengan spesifikasi: 1. Prosesor AMD Sempron 902 MHz 2. RAM 512 MB Software yang digunakan yaitu: 1. Sistem Operasi Windows XP 2. Bloodshed Dev-C Maple 12 Pengujian Pengujian pada penelitian ini dilakukan dengan menggunakan metode blackbox. Pengujian dilakukan dengan membandingkan antara output yang dihasilkan sistem pada penelitian ini dan output yang dihasilkan software penguji sehingga dapat diketahui nilai kebenaran dari output tersebut. Selanjutnya dari masing-masing operasi dihitung nilai kecepatan eksekusinya untuk mengukur kinerja dari algoritme yang digunakan. Operasi-operasi yang akan diuji yaitu penjumlahan, pengurangan, perkalian, pembagian, dan eksponensial. Panjang bit bilangan besar yang diuji yaitu 256 bit, 512 bit, dan 1024 bit untuk masing-masing operasi. Analisis HASIL DAN PEMBAHASAN Mesin yang digunakan pada penelitian ini adalah sebuah komputer 32 bit. Oleh karena itu, basis yang digunakan untuk merepresentasikan bilangan besar dalam komputer adalah Akan tetapi, basis dasar dari bilangan besar adalah 10 sehingga perlu dilakukan proses perubahan basis/konversi dari basis 10 ke dalam basis Proses konversi tersebut dilakukan dengan cara membagi bilangan besar dalam 3

12 basis 10 tersebut dengan 2 32 secara berulangulang sampai hasil baginya bernilai 0. Dari setiap proses pembagian tersebut dihasilkan nilai sisa bagi. Nilai sisa bagi inilah yang merupakan hasil representasi bilangan besar tersebut dalam basis Untuk lebih jelasnya dapat dilihat pada algoritme di bawah ini. Input : (a) 10 Output : (b) 2 32 = (a) n 0 2. While a 0 do b n a mod 2 32 a a / 2 32 n n Return (b 0 b 1 b 2... b n-1 ) Secara matematis representasi bilangan besar adalah sebagai berikut: b = b b (n-1) (32) b n-1, dengan b i {0, 1, 2,..., }untuk i = 0, 1,..., (n-1). Representasi ini menunjukkan bahwa digit array paling kanan (b n-1 ) merupakan digit array paling signifikan. Hal ini bertujuan memudahkan proses komputasi terutama ketika terjadi carry atau penambahan digit array yang paling signifikan. Representasi bilangan besar dengan basis 2 32 mempunyai keuntungan yaitu efisien dalam alokasi memori yang terlihat dari banyaknya digit array yang digunakan. Untuk merepresentasikan bilangan 1024 bit hanya dibutuhkan 32 digit array. Semakin sedikit digit array yang digunakan tentu akan mempercepat proses komputasi pada bilangan tersebut. Selain efisien dalam alokasi memori, hasil representasi tersebut merupakan nilai bit dari bilangan besar. Nilai bit ini akan berguna dalam operasi eksponensial terutama yang menggunakan algoritme left to right exponentiation. Tipe data yang digunakan untuk merepresentasikan bilangan besar dalam basis 2 32 adalah mp_int. Struktur mp_int dalam bahasa C dapat dilihat di bawah ini. typedef struct { int used, alloc, sign; unsigned long *dp; } mp_int; Struktur mp_int tersebut dapat dijelaskan sebagai berikut: Variabel used menggunakan tipe data int. Variabel ini menunjukkan banyaknya digit array dp yang telah digunakan. Nilai used harus berupa bilangan positif dan tidak boleh melebihi jumlah nilai variabel alloc. Variabel alloc menggunakan tipe data int. Variabel ini menunjukkan banyaknya digit array dp yang tersedia dan siap digunakan. Ketika nilai used melebihi nilai alloc maka terjadi penambahan ukuran array dp sehingga dapat merepresentasikan bilangan multipresisi. Variabel sign menggunakan tipe data int. Variabel ini menunjukkan tanda suatu bilangan mp_int. Nilai variabel ini hanya ada dua yaitu 0 (MP_ZPOS) dan 1 (MP_NEG). MP_ZPOS menandakan bilangan positif dan MP_NEG menandakan bilangan negatif. Variabel dp menggunakan tipe data unsigned long dan merupakan sebuah pointer. Variabel ini dapat mengalokasikan digit array secara dinamis (dapat mengalami penambahan) sehingga dapat merepresentasikan bilangan multipresisi. Implementasi Operasi-operasi bilangan besar pada aritmatik field prima diimplementasikan dalam bahasa C. Jenis-jenis tipe data dalam bahasa C dapat dilihat pada Tabel 1 di bawah ini. Tabel 1 Tipe data dalam bahasa C Tipe Data Panjang Bit char 8 short 16 long 32 long long 64 Tabel 1 di atas menunjukkan bahwa bahasa C mempunyai tipe data long long yang mempunyai panjang 64 bit. Tipe data ini berguna dalam merepresentasikan bilangan besar dalam basis Tipe data ini digunakan dalam proses perkalian yaitu sebagai variabel sementara untuk menyimpan hasil perkalian. Bahasa C merupakan bahasa prosedural sehingga operasi-operasi bilangan besar pada aritmatik field prima diimplementasikan dalam bentuk librari yang berisi fungsi-fungsi. Masing-masing fungsi mempunyai return value yang berguna untuk mendeteksi kesalahan. Jenis-jenis return value yang ada dapat dilihat pada Tabel 2 di bawah ini. 4

13 Tabel 2 Return value pada fungsi Return Value MP_OKAY (0) Keterangan Jika fungsi berhasil MP_MEM (-2) Jika fungsi melebihi memori MP_VAL (-3) Jika nilai input tidak valid Librari dalam penelitian ini mempunyai beberapa fungsi yang menjadi dasar dalam proses komputasi. Fungsi-fungsi tersebut yaitu: a. init Fungsi init digunakan untuk melakukan inisialisasi terhadap bilangan mp_int. Proses insialisasi ini akan memberikan nilai default pada variabel-variabel yang ada pada tipe data mp_int. Algoritme fungsi init adalah sebagai berikut: Input : mp_int a Output : alokasi memori a sebanyak 10 digit array 1. Alokasi memori untuk 10 digit 2. Jika gagal, return (MP_MEM) 3. For n from 0 to 9 do a n 0 4. a.sign MP_ZPOS 5. a.used 0 6. a.alloc Return ( MP_OKAY ) Algoritme fungsi init di atas menunjukkan bahwa fungsi tersebut akan mengalokasikan memori sebanyak 10 digit array atau setara dengan bilangan 320 bit. Jika terjadi kegagalan, maka fungsi tersebut akan mengembalikan nilai MP_MEM. Fungsi ini memberikan nilai default pada variabel-varibel yang ada dengan a.sign=mp_zpos, a.used=0, a.alloc=10, dan a n = 0, untuk n=0,1,...,9. b. mp_free_mem Fungsi mp_free_mem merupakan kebalikan dari fungsi init. Fungsi ini digunakan untuk mengembalikan memori yang telah dialokasikan ke kondisi semula sehingga memori tersebut dapat digunakan kembali. Algoritme fungsi mp_free_mem adalah sebagai berikut: Input : mp_int a Output : memori a didealokasi 1. For n from 0 to a.used-1 do a n 0 2. Free alokasi memori pada a 3. a.used 0 4. a.alloc 0 5 a. sign MP_ZPOS 6. Return ( MP_OKAY ) Algoritme fungsi mp_free_mem di atas menunjukkan bahwa fungsi tersebut akan mengembalikan memori yang telah terpakai. Selanjutnya fungsi tersebut akan memberikan nilai pada variabel-varibel yang ada dengan a.sign = MP_ZPOS, a.used = 0, dan a.alloc =0. c. mp_grow Fungsi mp_grow digunakan untuk menambah digit array ketika memori yang akan dipakai melebihi memori yang telah dialokasikan (alloc < used). Algoritme fungsi mp_grow adalah sebagai berikut: Input : mp_int a dan int b Output : alokasi memori a ditambahkan sampai b digit array 1. If a.alloc < b Realokasikan digit array a menjadi b For n from a.used to b do a n 0 a.alloc b 2. Return ( MP_OKAY ) Algoritme fungsi mp_grow di atas menunjukkan bahwa fungsi tersebut akan memeriksa banyaknya memori yang dialokasikan terlebih dahulu. Jika banyaknya memori yang ingin ditambahkan lebih besar dari memori yang telah dialokasikan, maka fungsi tersebut akan mengalokasikan kembali memori sebanyak memori yang ingin ditambahkan. d. mp_clear_zero Fungsi mp_clear_zero digunakan untuk menghilangkan semua nilai 0 pada digit array paling signifikan yang merupakan nilai tidak penting. Algoritme fungsi mp_clear_zero adalah sebagai berikut: Input : mp_int a Output : semua nilai 0 yang tidak penting pada a dhilangkan 1. If a a.used-1 = 0 While a.used 0 and a a.used-1 = 0 a a.used a a.used If a.used = 0 a.sign MP_ZPOS 3. Return ( MP_OKAY ) Algoritme fungsi mp_clear_zero di atas menunjukkan bahwa fungsi tersebut akan 5

14 memeriksa nilai pada digit array paling signifikan. Jika bernilai 0, maka fungsi tersebut akan melakukan proses looping sampai digit array tidak bernilai 0. Selama proses looping, nilai a.used berkurang 1. Librari dalam penelitian ini mempunyai beberapa fungsi yang digunakan sebagai operasi dasar dalam proses komputasi. Fungsi-fungsi tersebut yaitu: a. mp_copy Fungsi mp_copy digunakan sebagai operasi sama dengan (=) pada bilangan mp_int. Fungsi ini akan melakukan proses copy dari suatu bilangan mp_int ke bilangan mp_int yang lainnya. Algoritme fungsi mp_copy adalah sebagai berikut: Input : mp_int a dan mp_int b Output : b = a 1. If b.alloc < a.used mp_grow ( b, a.used) 2. For n from 0 to a.used b n a n 3. b.used a.used 4. b.alloc a.alloc 5 b.sign a.sign Algoritme fungsi mp_copy di atas menunjukkan bahwa fungsi tersebut akan memeriksa jumlah alokasi memori pada bilangan b terlebih dahulu. Jika alokasi memori pada b lebih kecil dari a, maka dilakukan proses penambahan alokasi memori pada b sampai sebanyak a.used. Selanjutnya semua variabel yang ada pada b diberikan nilai yang sama dengan a. b. mp_zero Fungsi mp_zero digunakan untuk memberikan nilai 0 pada bilangan mp_int. Algoritme fungsi mp_zero adalah sebagai berikut: Input : mp_int a Output : a = 0 1. a.used = 0 2. For n from 0 to a.used a n 0 3 a. sign MP_ZPOS c. mp_cmp Fungsi mp_cmp digunakan untuk membandingkan dua bilangan mp_int. Fungsi ini mempunyai tiga return value. Ketiga return value tersebut yaitu MP_LT (-1) untuk menyatakan lebih kecil, MP_GT (1) untuk menyatakan lebih besar, dan M P_EQ (0) untuk menyatakan sama dengan. Algoritme fungsi mp_cmp adalah sebagai berikut: Input : mp_int a dan mp_int b Output : nilai perbandingan antara a dan b 1. If a.used > b.used Return ( MP_GT ) 2. Else if a.used < b.used Return ( MP_LT ) 3. Else For n from a.used-1 to 0 If a n > b n Return ( MP_GT ) Else if a n < b n Return ( MP_LT ) Return ( MP_EQ ) Algoritme fungsi mp_cmp di atas menunjukkan bahwa fungsi tersebut akan membandingkan jumlah memori yang digunakan oleh a dan b. Jika memori yang digunakan a lebih banyak dari memori yang digunakan b, maka a > b dan sebaliknya jika memori yang digunakan b lebih banyak dari memori yang digunakan a, maka a < b. Jika memori yang digunakan keduanya sama, maka akan dibandingkan dari digit array paling signifikan antara keduanya. Jika semua nilai digit array sama, maka a = b. Librari dalam penelitian ini mempunyai beberapa operasi aritmatik dalam field prima. Operasi-operasi tersebut yaitu: a. Penjumlahan Operasi penjumlahan yang terdapat dalam librari dibagi menjadi beberapa fungsi. Fungsifungsi tersebut yaitu: 1. s_mp_add Fungsi s_mp_add digunakan untuk melakukan proses penjumlahan dua bilangan mutlak mp_int. Algoritme yang digunakan seperti yang diajarkan di sekolah dasar. Fungsi ini melakukan proses penjumlahan antar digit array sebanyak n sehingga kompleksitasnya adalah O(n) dengan n adalah banyaknya digit array. Algoritme fungsi s_mp_add adalah sebagai berikut: Input : mp_int a dan mp_int b Output : c = a + b 1. If a.used > b.used min b.used max a.used x a 6

15 2. Else min a.used max b.used x b 3 If c.alloc < max +1 mp_grow(c,max +1) 4. u 0 5. For n from 0 to min-1 c n ( a n + b n + u) mod basis u ( a n + b n + u) / basis 6. For n from min to max-1 c n (x n + u) mod basis u (x n + u) / basis 7. If u > 0 c n u c.used max Else c.used max 9. Return ( MP_OKAY ) Algoritme fungsi s_mp_add di atas menunjukkan bahwa fungsi tersebut akan melakukan proses penjumlahan antar digit array yang dimulai dari digit array paling tidak signifikan. Jika hasil penjumlahannya melebihi basis yang digunakan, maka akan menghasilkan nilai carry 1. Nilai carry ini akan ditambahkan ke penjumlahan digit array berikutnya. 2. mp_add Fungsi mp_add merupakan fungsi penjumlahan dua bilangan mp_int dengan melihat tanda dari bilangan tersebut. Beberapa kemungkinan tanda yang dihasilkan dari penjumlahan dua bilangan mp_int dapat dilihat pada Tabel 3. Algoritme fungsi mp_add adalah sebagai berikut: Input : mp_int a dan mp_int b Output : c = a + b 1. If a.sign = b.sign c.sign a.sign c a + b (s_mp_add) 2. Else If a < b c.sign b.sign c b - a (s_mp_sub) Else if a > b c.sign a.sign c a - b (s_mp_sub) Else c.sign MP_ZPOS c 0 (mp_zero) 3. Return ( MP_OKAY ) Algoritme fungsi mp_add di atas menunjukkan bahwa fungsi tersebut akan melakukan penjumlahan dua bilangan mp_int dengan melihat tanda dari kedua bilangan tersebut. Jika kedua bilangan mempunyai tanda yang sama, maka operasi yang dilakukan adalah penjumlahan dan hasil yang diperoleh mempunyai tanda yang sama dengan bilangan yang ditambahkan. Akan tetapi, jika kedua bilangan mempunyai tanda yang berbeda, maka operasi yang dilakukan adalah operasi pengurangan dan tanda dari hasil yang diperoleh bergantung pada perbandingan kedua bilangan tersebut. Tabel 3 Tanda hasil fungsi mp_add Tanda a b Ket Operasi Tanda + + c = a + b c = a + b a < b c = b - a a < b c = b - a a > b c = a - b a > b c = a- b a = b c = a = b c = mp_add_mod Fungsi mp_add_mod merupakan fungsi penjumlahan yang digunakan dalam field prima dimana hasil yang diperoleh harus merupakan anggota field tersebut. Jika hasil penjumlahan yang diperoleh bukan merupakan anggota dalam field prima tersebut, maka hasil tersebut harus dilakukan proses reduksi dengan bilangan p. Algoritme fungsi mp_add_mod adalah sebagai berikut: Input : mp_int a, mp_int b dan mp_int p Output : c = (a + b) mod p 1. c a + b (mp_add) 2. If c = p c 0 (mp_zero) 3. Else if c > p c c p (mp_sub) 4. Return ( MP_OKAY ) b. Pengurangan Operasi pengurangan yang terdapat dalam librari dibagi menjadi beberapa fungsi. Fungsifungsi tersebut yaitu: c 7

16 1. s_mp_sub Fungsi s_mp_sub digunakan untuk melakukan proses pengurangan dua bilangan mutlak mp_int. Fungsi ini melakukan pengurangan antar digit array sebanyak n sehingga kompleksitasnya adalah O(n) dengan n adalah banyaknya digit array. Algoritme fungsi s_mp_sub adalah sebagai berikut: Input : mp_int a dan mp_int b Output : c = a - b 1. min b.used 2. max a.used 3. If c.alloc < max mp_grow(c,max ) 4. u 0 5. For n from 0 to min-1 If a n b n + u c n a n - b n - u u 0 Else c n a n + basis - b n u u 1 6. For n from min to max-1 If a n u c n a n - u u 0 Else c n a n + basis u u 1 7. c.used max 8. mp_clear_zero ( c ) 9. Return ( MP_OKAY ) Algoritme fungsi s_mp_sub di atas menunjukkan bahwa fungsi tersebut akan melakukan proses pengurangan antar digit array yang dimulai dari digit array paling tidak signifikan. Jika nilai digit array a lebih besar dari digit array b ditambah carry, maka akan menghasilkan nilai carry 1. Nilai carry ini akan digunakan untuk mengurangi digit array a berikutnya. 2. mp_sub Fungsi mp_sub merupakan fungsi pengurangan dua bilangan mp_int dengan melihat tanda dari bilangan tersebut. Beberapa kemungkinan tanda yang dihasilkan dari pengurangan dua bilangan mp_int dapat dilihat pada Tabel 4. Algoritme fungsi mp_sub adalah sebagai berikut: Input : mp_int a dan mp_int b Output : c = a b 1. If a.sign b.sign c.sign a.sign c a + b (s_mp_add) 2. Else If a < b c.sign ~ a.sign c b - a (s_mp_sub) Else if a > b c.sign a.sign c a - b (s_mp_sub) Else c.sign MP_ZPOS c 0 (mp_zero) 3. Return ( MP_OKAY ) Algoritme fungsi mp_sub di atas menunjukkan bahwa fungsi tersebut akan melakukan pengurangan dua bilangan mp_int dengan melihat tanda dari kedua bilangan tersebut. Jika kedua bilangan mempunyai tanda yang berbeda, maka operasi yang dilakukan adalah penjumlahan dan hasil yang diperoleh mempunyai tanda yang sama dengan bilangan yang dikurangi. Akan tetapi, jika kedua bilangan mempunyai tanda yang sama, maka operasi yang dilakukan adalah operasi pengurangan dan tanda dari hasil yang diperoleh bergantung pada perbandingan kedua bilangan tersebut. Tabel 4 Tanda hasil fungsi mp_sub Tanda a b Ket Operasi Tanda + - c = a + b c = a + b a < b c = b - a a < b c = b - a a > b c = a - b a > b c = a- b a = b c = a = b c = mp_sub_mod Fungsi mp_sub_mod merupakan fungsi pengurangan yang digunakan dalam field prima dimana hasil yang diperoleh harus merupakan anggota field tersebut. Jika hasil yang diperoleh bukan merupakan anggota dalam field prima tersebut, maka hasil tersebut harus dilakukan proses reduksi dengan bilangan p. Algoritme c 8

17 fungsi mp_sub_mod adalah sebagai berikut: Input : mp_int a, mp_int b dan mp_int p Output : c = (a - b) mod p 1. c a - b (mp_sub) 2. Else if c.sign = MP_NEG c c + p (mp_add) 3. Return ( MP_OKAY ) c. Perkalian Operasi perkalian yang terdapat dalam librari dibagi menjadi beberapa fungsi. Fungsifungsi tersebut yaitu: 1. s_mp_mul Fungsi s_mp_mul merupakan fungsi perkalian dua bilangan mutlak mp_int yang menggunakan algoritme schoolbook. Jika dua bilangan mp_int a dan b mempunyai digit array yang sama sebanyak n, maka banyaknya perkalian antar digit array adalah n 2 dan banyaknya penjumlahan adalah (n-1) 2 (Weimerskirch & Paar 2006). Algoritme fungsi s_mp_mul adalah sebagai berikut: Input : mp_int a dan mp_int b Output : c = a b 1. Inisialisasi x dan y 2. For n from 0 to b.used-1 u 0 For m from 0 to a.used-1 x m+n (a m b n + u) mod basis u (a m b n + u) / basis If u > 0 x m+n u x.used m + n +1 Else x.used m + n y y + x (mp_add) x 0 (mp_zero) 3. c y 4. Bersihkan variabel sementara 5. Return ( MP_OKAY ) Algoritme fungsi s_mp_mul di atas menunjukkan bahwa fungsi tersebut melakukan perkalian bilangan a dengan seluruh digit array b dimana setiap perkalian menghasilkan bilangan x. Hasil akhir dari fungsi ini merupakan penjumlahan seluruh bilangan x yang dihasilkan. 2. s_mp_sqr Fungsi s_mp_sqr merupakan fungsi kuadrat atau fungsi perkalian khusus dimana nilai multiplicand sama dengan nilai multiplier. Untuk bilangan n-digit array, diperlukan (n 2 + n)/ 2 perkalian tunggal. Hal ini tentu akan lebih baik jika dibandingkan dengan perkalian biasa yang memerlukan n 2 perkalian tunggal. Algoritme fungsi s_mp_sqr adalah sebagai berikut: Input : mp_int a Output : b = a 2 1. Inisialisasi c (init) 2. c.used 2 a.used 3. For i from 0 to a.used-1 r c 2i + a i 2 c 2i r mod basis u r / basis k 1 For j from i + 1 to a.used-1 r 2 a i a j + u + c 2i + k c 2i + k r mod basis u r / basis k k +1 While u > 0 do r u + c 2i + k c 2i + k r mod basis u r / basis k k mp_clear_zero(c) 5. b c 6. Bersihkan variabel sementara 7. Return ( MP_OKAY ) 3. mp_mul Fungsi mp_mul merupakan fungsi perkalian dua bilangan mp_int dengan melihat tanda dari kedua bilangan tersebut. Algoritme fungsi mp_mul adalah sebagai berikut: Input : mp_int a dan mp_int b Output : c = a b 1. c = a b (s_mp_mul) 2. If a.sign = b.sign c.sign MP_ZPOS 3. Else If c= 0 c.sign MP_ZPOS Else c.sign MP_NEG 4. Return ( MP_OKAY ) Algoritme fungsi mp_mul di atas menunjukkan bahwa fungsi tersebut akan mengalikan dua bilangan mp_int dengan melihat tanda dari kedua bilangan tersebut. Jika kedua bilangan mempunyai tanda yang sama, maka hasil yang diperoleh bernilai 9

18 positif. Akan tetapi, jika kedua bilangan mempunyai tanda yang berbeda maka hasil yang diperoleh bernilai negatif tetapi jika salah satu bilangannya bernilai 0 maka hasil yang diperoleh bernilai positif. 4. mp_mul_mod Fungsi mp_mul_mod merupakan fungsi perkalian yang digunakan dalam field prima dimana hasil yang diperoleh harus merupakan anggota field tersebut. Jika hasil yang diperoleh bukan merupakan anggota dalam field tersebut, maka hasil tersebut harus dilakukan proses reduksi. Algoritme fungsi mp_mul_mod adalah sebagai berikut: Input : mp_int a, mp_int b, dan mp_int p Output : c =( a b) mod p 1. c = a b (mp_mul) 2. If c = a c 0 ( mp_zero) 3. Else if c > p c c mod p (mp_mod) 4. Return ( MP_OKAY ) d. Pembagian Operasi pembagian yang terdapat dalam librari dibagi menjadi beberapa fungsi. Fungsifungsi tersebut yaitu: 1. mp_div Fungsi mp_div digunakan untuk melakukan operasi pembagian antara bilangan mutlak mp_int a dan bilangan mutlak mp_int b. Fungsi ini akan menghasilkan nilai hasil bagi dan sisa bagi. Algoritme yang digunakan pada fungsi ini adalah algoritme pembagian klasik seperti yang diajarkan di sekolah dasar hanya saja sebelum dilakukan proses pembagian terdapat proses normalisasi. Proses normalisasi dilakukan agar nilai digit array paling signifikan b lebih besar atau sama dengan basis/2 (b n basis/2) dengan mengalikan suatu konstanta k pada a dan b. Nilai k sebaiknya merupakan kelipatan 2 sehingga operasinya hanya shift. Dengan adanya proses normalisasi ini, nilai perkiraan hasil bagi (q ) akan mendekati nilai hasil bagi sebenarnya (q). Jika digit array a = digit array b + 1 maka nilai q diperoleh dari persamaan : anb + a q' = min bn 1 n 1, B 1 B adalah basis yang digunakan. Jika pada persamaan di atas nilai b n-1 a / b, maka q -2 q q (Knuth 1998, diacu dalam Welschenbach 2005). Dengan asumsi bahwa nilai b n-1 mendekati nilai B, maka nilai q adalah q -2 q q. Proses normalisasi pada fungsi mp_div hanya akan mengubah nilai sisa bagi pada proses pembagian tanpa mengubah nilai hasil bagi. Oleh karena itu, untuk mendapatkan nilai sisa bagi yang sebenarnya diperlukan proses denormalisasi yaitu dengan membagi sisa bagi dengan k. Algoritme fungsi mp_div dapat dilihat pada Lampiran mp_div_mod Fungsi mp_div_mod merupakan fungsi pembagian yang digunakan dalam field prima dimana pembagian suatu bilangan a oleh b merupakan perkalian bilangan a dengan b -1. Jika hasil yang diperoleh bukan merupakan anggota dalam field tersebut, maka hasil tersebut harus dilakukan proses reduksi. Algoritme fungsi mp_div_mod adalah sebagai berikut: Input : mp_int a, mp_int b, dan mp_int p Output : c =( a / b) mod p 1. Inisialisasi d 2. d b -1 (mp_invmod) 3. c a b -1 (mp_mul) 4. If c = a c 0 ( mp_zero) 5. Else if c > a c c mod p (mp_mod) 6. Return ( MP_OKAY ) e. Reduksi Reduksi merupakan operasi yang dilakukan untuk mencari nilai sisa bagi dari pembagian dua bilangan mp_int sehingga hasil yang diperoleh merupakan anggota field prima. Fungsi dalam librari yang digunakan untuk melakukan operasi reduksi yaitu: mp_mod Algoritme fungsi mp_mod menggunakan algoritme pembagian klasik sama seperti pada fungsi mp_div dimana output dari fungsi mp_div adalah nilai hasil bagi dan nilai sisa bagi. Nilai sisa bagi inilah yang diperlukan oleh fungsi mp_mod. 10

19 f. Invers Perkalian Invers perkalian suatu bilangan mp_int a adalah a -1 dengan a a -1 = 1. Nilai invers tersebut diperlukan dalam operasi pembagian pada field prima. Fungsi dalam librari yang digunakan untuk melakukan operasi invers perkalian yaitu: mp_invmod Fungsi mp_invmod digunakan untuk mencari nilai invers perkalian pada suatu bilangan mp_int a pada field prima p. Algoritme yang digunakan fungsi ini adalah extended Euclidean. Algoritme ini menggunakan operasi pembagian dalam prosesnya sehingga membutuhkan cost yang cukup tinggi. Algoritme fungsi mp_invmod adalah sebagai berikut: Input : mp_int a dan mp_int p Output : c = a -1 1.Inisialisasi q, r, y 1, y 2, mul, y, t a, dan t b 2. t a p 3. t b a 4. y If b=0 Return (MP_VAL) 6. While t b 0 q t a / t b r t a mod t b y y 1 q y 2 t a t b t b r y 1 y 2 y 2 y 7. c y 1 mod p 8. Bersihkan variabel sementara 9. Return ( MP_OKAY ) g. Eksponensial Operasi eksponensial merupakan operasi yang berperan penting dalam kriptografi kunci asimetrik. Operasi ini digunakan dalam proses enkripsi dan dekripsi. Fungsi dalam librari yang digunakan untuk melakukan operasi eksponensial yaitu: mp_exp_mod Fungsi mp_exp_mod merupakan fungsi eksponensial yang digunakan pada field prima. Algoritme yang digunakan pada fungsi ini adalah left to right exponentiation. Algoritme ini bekerja dengan menggunakan nilai biner dari bilangan pemangkatnya (b). Algoritme ini melakukan proses perkalian multipresisi sebanyak n + t dengan n adalah panjang bit b dan t adalah banyaknya bit b yang bernilai 1. Algoritme fungsi mp_exp_mod adalah sebagai berikut: Input : mp_int a, mp_int b, dan mp_int p Output : c = a b mod p 1. c 1 2. x 1 << bitlength(basis) For i from b.used-1 to 0 temp b i For j from 0 to bitlength(basis)-1 c c 2 mod p If temp & x 0 c (c a) mod p temp temp << 1 4. Return ( MP_OKAY ) Pengujian Pengujian dilakukan dengan cara membandingkan output yang dihasilkan sistem dengan output yang dihasilkan oleh software pembanding sehingga dapat diketahui nilai kebenaran dari output tersebut. Software yang digunakan sebagai pembanding adalah MAPLE 12. Pengujian dilakukan sebanyak 10 kali untuk masing-masing operasi dan dihasilkan output yang benar. Untuk mengetahui kinerja sistem, dihitung nilai total waktu eksekusinya. Total waktu eksekusi dari hasil pengujian terhadap masing-masing fungsi aritmatik field prima dapat dilihat pada tabel-tabel di bawah ini. Tabel 5 Total waktu eksekusi fungsi penjumlahan pada field prima Bit Total Waktu Konversi Basis (s) Waktu Operasi ( s) Total Waktu (s) Tabel 5 di atas menunjukkan bahwa total waktu konversi basis (dari basis 10 ke basis 2 32 kemudian dikonversi kembali dari basis 2 32 ke basis 10) jauh lebih besar dari waktu operasi penjumlahan. Oleh karena itu, proses konversi basis sangat mempengaruhi total waktu eksekusi operasi penjumlahan. 11

20 Tabel 6 Total waktu eksekusi fungsi pengurangan pada field prima Bit Total Waktu Konversi Basis (s) Waktu Operasi ( s) Total Waktu (s) Tabel 6 di atas menunjukkan bahwa total waktu eksekusi operasi pengurangan sama seperti operasi penjumlahan. Hal ini dikarenakan banyaknya proses pada operasi pengurangan dan operasi penjumlahan adalah sama atau dengan kata lain kedua proses ini memiliki kompleksitas yang sama. Tabel 7 Total waktu eksekusi fungsi perkalian pada field prima Bit Total Waktu Konversi Basis (s) Waktu Operasi ( s) Total Waktu (s) Tabel 7 di atas menunjukkan bahwa total waktu eksekusi operasi perkalian tidak berbeda jauh dengan operasi penjumlahan dan pengurangan. Hal ini disebabkan perbandingan antara total waktu konversi basis dan waktu operasi sangat besar. Akan tetapi, jika dilihat pada waktu operasinya, waktu operasi pada perkalian jauh lebih besar dari operasi penjumlahan dan pengurangan. Tabel 8 Total waktu eksekusi fungsi pembagian pada field prima Bit Total Waktu Konversi Basis (s) Waktu Operasi ( s) Total Waktu (s) Tabel 8 di atas menunjukkan bahwa total waktu konversi basis pada operasi pembagian lebih kecil dari pada waktu operasinya tetapi perbedaannya tidak terlalu signifikan. Akan tetapi, jika hanya dilihat pada waktu operasinya, operasi pembagian memerlukan waktu yang jauh lebih besar dari operasi perkalian. Hal ini disebabkan jumlah proses pada operasi pembagian jauh lebih banyak dari operasi perkalian dimana pada operasi pembagian terdapat proses invers dan juga perkalian. Tabel 9 Total waktu eksekusi fungsi eksponensial pada field prima Bit Total Waktu Konversi Basis (s) Waktu Operasi ( s) Total Waktu (s) Tabel 9 di atas menunjukkan bahwa waktu operasi pada operasi eksponensial jauh lebih besar dari total waktu konversi basisnya. Hal itu menyebabkan total waktu eksekusi operasi eksponensial tidak berbeda jauh dengan waktu operasinya. KESIMPULAN DAN SARAN Kesimpulan Bilangan besar direpresentasikan dalam basis 2 32 pada komputer 32 bit. Representasi ini akan membutuhkan jumlah digit array paling sedikit bila dibandingkan dengan representasi lainnya sehingga efisien dalam penggunaan memori. Untuk bilangan 1024 bit hanya dibutuhkan 32 digit array. Semakin sedikit digit array yang dibutuhkan untuk merepresentasikan bilangan besar, maka semakin cepat komputasi pada bilangan besar tersebut. Dari pengujian yang dilakukan sebanyak 10 kali untuk masing-masing operasi pada field prima, sistem menghasilkan output yang benar. Pada bilangan 1024 bit, operasi penjumlahan membutuhkan waktu eksekusi sebesar s, operasi pengurangan membutuhkan waktu eksekusi sebesar s, operasi perkalian membutuhkan waktu eksekusi sebesar s, operasi pembagian membutuhkan waktu eksekusi sebesar s, dan operasi pengurangan membutuhkan waktu eksekusi sebesar s. 12

21 Saran Penelitian ini dapat dikembangkan lebih lanjut dengan menggunakan algoritme lain yang lebih baik. Untuk operasi perkalian, dapat digunakan algoritme Karatsuba. Jika dilihat dari kompleksitasnya, algoritme Karatsuba mempunyai kompleksitas yang lebih baik dari algoritme schoolbook sehingga diharapkan dapat mempercepat operasi perkalian. Untuk operasi reduksi, dapat digunakan algoritme Montgomery. Algoritme Montgomery merupakan algoritme reduksi yang mengganti operasi pembagian pada algoritme klasik dengan operasi lain yang less-expensive sehingga diharapkan dapat mempercepat proses reduksi. DAFTAR PUSTAKA Burnett S, Paine S RSA Security s Official Guide to Cryptography. New York: McGraw-Hill. Denis TS BigNum Math: Implementing Cryptographic Multiple Precision Arithmetic. Canada: Syngress Publishing, Inc. Hankerson D, Menezes A, Vanstone S Guide to Elliptic Curve Cryptography. New York: Springer. Knuth D The Art of Computer Programming. Addison-Wesley, Reading, MA. Pressman R Software Engineering: a Practitioner s Approach. New York: McGraw-Hill. Weimerskirch A, Paar C Generalizations of the Karatsuba Algorithm for Efficient Implementations. imperia/md/content/texte/publications/tecrep orts/kaweb.pdf [3 November 2010]. Welschenbach M Cryptography in C and C++. New York: Springer. 13

22 LAMPIRAN

23 Lampiran 1 Algoritme fungsi mp_div Input : mp_int a dan mp_int b Output : c = b a / dan d = a bq 1. Inisialisasi tb, q, r, t1, tempq, dan tempb 2. If b=0 Return (MP_VAL) 3. If a < b c 0 d a Return ( MP_OKAY ) Proses Normalisasi 4. temp b b.used-1 5. If temp < basis/2 While temp < basis /2 temp = 2 temp norm r 2 norm a 7. tb 2 norm b 8. While r tb sumzr r.used-tb.used If r r.used-1 tb tb.used-1 tq 1 t1 tb (basis sumzr ) If t1 > r sumzr -- temp (r r.used-1 basis + r r.used-2 ) / tb tb.used-1 tq min(temp,basis-1) t1 tb tq (basis sumzr ) If t1 > r tempb tb (basis sumzr ) While t1 > r tq-- t1 t1 tempb Else sumzr -- temp (r r.used-1 basis + r r.used-2 ) / tb tb.used-1 tq min(temp,basis-1) t1 tb tq (basis sumzr ) If t1 > r tempb tb (basis sumzr ) While t1 > r tq-- t1 t1 tempb r r t1 tempq tq (basis sumzr ) q q + tempq 9. c q 10. d r / 2 norm 11. Bersihkan variabel sementara 12. Return ( MP_OKAY ) 15

METODE PENELITIAN HASIL DAN PEMBAHASAN

METODE PENELITIAN HASIL DAN PEMBAHASAN METODE PENELITIAN Penelitian ini dilakukan dalam beberapa tahap. Tahapan-tahapan tersebut dapat dilihat pada Gambar 1 di bawah ini.. Gambar 1 Metodologi Penelitian. Studi Literatur Studi literatur merupakan

Lebih terperinci

Software yang digunakan yaitu: 1. Sistem Operasi Windows 7 2. Bloodshed Dev-C Notepad++ 4. Winmerge

Software yang digunakan yaitu: 1. Sistem Operasi Windows 7 2. Bloodshed Dev-C Notepad++ 4. Winmerge dapat dilihat pada Gambar 1. Penjelasan untuk masing-masing langkah adalah sebagai : Studi Literatur Tahapan ini diperlukan untuk mempelajari prinsip dasar aritmetika optimal extension field. Selain itu,

Lebih terperinci

IMPLEMENTASI ARITMETIKA OPTIMAL EXTENSION FIELD (OEF) MENGGUNAKAN BAHASA PEMROGRAMAN C LUQMAN AZIZ FEBRIAN NUGRAHA

IMPLEMENTASI ARITMETIKA OPTIMAL EXTENSION FIELD (OEF) MENGGUNAKAN BAHASA PEMROGRAMAN C LUQMAN AZIZ FEBRIAN NUGRAHA IMPLEMENTASI ARITMETIKA OPTIMAL EXTENSION FIELD (OEF) MENGGUNAKAN BAHASA PEMROGRAMAN C LUQMAN AZIZ FEBRIAN NUGRAHA DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN

Lebih terperinci

PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI

PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI Dengan ini saya menyatakan bahwa tesis Konstruksi Algoritme Aritmetik (5 ) Dengan Operasi Dibangkitkan Dari Sifat Grup siklik adalah karya saya dengan arahan

Lebih terperinci

EKSPLORASI MASALAH LOGARITMA DISKRET PADA FINITE FIELD ( ) Y A N A

EKSPLORASI MASALAH LOGARITMA DISKRET PADA FINITE FIELD ( ) Y A N A EKSPLORASI MASALAH LOGARITMA DISKRET PADA FINITE FIELD ( ) Y A N A SEKOLAH PASCA SARJANA INSTITUT PERTANIAN BOGOR BOGOR 2009 PERNYATAAN MENGENAI TUGAS AKHIR DAN SUMBER INFORMASI Dengan ini saya menyatakan

Lebih terperinci

PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE SKRIPSI NOVY

PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE SKRIPSI NOVY PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE SKRIPSI NOVY 071401034 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS

Lebih terperinci

KRIPTOGRAFI KUNCI PUBLIK ALGORITMA ELGAMAL DENGAN METODE THE SIEVE OF ERATOSTHENES UNTUK PEMBANGKITAN BILANGAN PRIMA SKRIPSI SYAUVIKA LUBIS

KRIPTOGRAFI KUNCI PUBLIK ALGORITMA ELGAMAL DENGAN METODE THE SIEVE OF ERATOSTHENES UNTUK PEMBANGKITAN BILANGAN PRIMA SKRIPSI SYAUVIKA LUBIS KRIPTOGRAFI KUNCI PUBLIK ALGORITMA ELGAMAL DENGAN METODE THE SIEVE OF ERATOSTHENES UNTUK PEMBANGKITAN BILANGAN PRIMA SKRIPSI SYAUVIKA LUBIS 061401001 PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

Lebih terperinci

Desain Class Dan Analisis Operator Pada Class Integer Tak Terbatas

Desain Class Dan Analisis Operator Pada Class Integer Tak Terbatas J. Math. and Its Appl. ISSN: 1829-605X Vol. 1, No. 2, Nov. 2004, 21 27 Desain Class Dan Analisis Operator Pada Class Integer Tak Terbatas Bandung Arry Sanjoyo Jurusan Matematika FMIPA - ITS email:bandung@matematika.its.ac.id

Lebih terperinci

PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI

PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI Dengan ini saya menyatakan bahwa tesis Konstruksi Algoritme Aritmetik (5 ) Dengan Operasi Dibangkitkan Dari Sifat Grup siklik adalah karya saya dengan arahan

Lebih terperinci

PERANCANGAN PROTOKOL PENYEMBUNYIAN INFORMASI TEROTENTIKASI SHELVIE NIDYA NEYMAN

PERANCANGAN PROTOKOL PENYEMBUNYIAN INFORMASI TEROTENTIKASI SHELVIE NIDYA NEYMAN PERANCANGAN PROTOKOL PENYEMBUNYIAN INFORMASI TEROTENTIKASI SHELVIE NIDYA NEYMAN SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2007 PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI Dengan ini saya menyatakan

Lebih terperinci

Analisis Kompleksitas Algoritma dalam Operasi BigMod

Analisis Kompleksitas Algoritma dalam Operasi BigMod Analisis Kompleksitas Algoritma dalam Operasi BigMod Calvin sadewa / 13512066 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

HASIL DAN PEMBAHASAN. Algoritma Modular Exponentiation mempunyai kompleksitas sebesar O((lg n) 3 ) (Menezes et al. 1996).

HASIL DAN PEMBAHASAN. Algoritma Modular Exponentiation mempunyai kompleksitas sebesar O((lg n) 3 ) (Menezes et al. 1996). pengukuran running time dari setiap perlakuan. Ulangan setiap perlakuan dilakukan sebanyak 10 kali untuk masing-masing RSA dan RSA-. Lingkungan Penelitian Perangkat keras dan perangkat lunak yang digunakan

Lebih terperinci

Operator dan Assignment. Pertemuan 3 Pemrograman Berbasis Obyek

Operator dan Assignment. Pertemuan 3 Pemrograman Berbasis Obyek Operator dan Assignment Pertemuan 3 Pemrograman Berbasis Obyek Topik Unary operator Arithmetic operator Shift operator: , dan >>> Comparison operator Bitwise operator: &, ^, dan. Short Circuit operator

Lebih terperinci

ANALISIS DAN PERANCANGAN SISTEM KRIPTOGRAFI SIMETRIS TRIPLE DES DAN KRIPTOGRAFI ASIMETRIS RSA SKRIPSI BENY

ANALISIS DAN PERANCANGAN SISTEM KRIPTOGRAFI SIMETRIS TRIPLE DES DAN KRIPTOGRAFI ASIMETRIS RSA SKRIPSI BENY ANALISIS DAN PERANCANGAN SISTEM KRIPTOGRAFI SIMETRIS TRIPLE DES DAN KRIPTOGRAFI ASIMETRIS RSA SKRIPSI BENY 101421002 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

OBJECT ORIENTED PROGRAMMING. Day 3 : Operator dan Assignment

OBJECT ORIENTED PROGRAMMING. Day 3 : Operator dan Assignment OBJECT ORIENTED PROGRAMMING Day 3 : Operator dan Assignment TOPIK Membedakan antara instance dan local l variabel. Urutan pemrosesan Unary operator Arithmetic operator Shift operator: , dan >>> Comparison

Lebih terperinci

SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH

SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH JOVI TANATO NPM: 2012730011 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI DAN SAINS UNIVERSITAS KATOLIK PARAHYANGAN 2017 UNDERGRADUATE

Lebih terperinci

Arsitektur dan Organisasi

Arsitektur dan Organisasi Arsitektur dan Organisasi Komputer 6-1 Aditya Wikan Mahastama, S.Kom Week 9 Computer Arithmetic (1) ALU dan Operasi Integer Arithmetic & Logic Unit Arsitektur dan Organisasi Komputer Tugas ALU: Melakukan

Lebih terperinci

Algoritma Pendukung Kriptografi

Algoritma Pendukung Kriptografi Bahan Kuliah ke-20 IF5054 Kriptografi Algoritma Pendukung Kriptografi Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 20. Algoritma Pendukung Kriptografi

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN 3.1 Analisis Sistem Analisis sistem merupakan uraian dari sebuah sistem kedalam bentuk yang lebih sederhana dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan

Lebih terperinci

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA Daryono Budi Utomo, Dian Winda Setyawati dan Gestihayu Romadhoni F. R Jurusan Matematika Fakultas Matematika dan

Lebih terperinci

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara Konsep Enkripsi dan Dekripsi Berdasarkan Kunci Tidak Simetris Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara Dalam tulisan saya pada bulan Agustus lalu telah dijelaskan

Lebih terperinci

Arsitektur Komputer. Pertemuan ke-2 - Aritmatika Komputer >>> Sistem bilangan & Format Data - Perkembangan Perangkat Keras Komputer

Arsitektur Komputer. Pertemuan ke-2 - Aritmatika Komputer >>> Sistem bilangan & Format Data - Perkembangan Perangkat Keras Komputer Arsitektur Komputer Pertemuan ke-2 - Aritmatika Komputer >>> Sistem bilangan & Format Data - Perkembangan Perangkat Keras Komputer ARITMATIKA KOMPUTER Materi : Englander, bab 2 dan 3 Stallings, bab 8 IEEE

Lebih terperinci

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya Algoritma Kriptografi Kunci Publik Dengan Menggunakan Prinsip Binary tree Dan Implementasinya Hengky Budiman NIM : 13505122 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10,

Lebih terperinci

Aplikasi Merkle-Hellman Knapsack Untuk Kriptografi File Teks

Aplikasi Merkle-Hellman Knapsack Untuk Kriptografi File Teks Aplikasi Merkle-Hellman Knapsack Untuk Kriptografi File Teks Akik Hidayat 1, Rudi Rosyadi 2, Erick Paulus 3 Prodi Teknik Informatika, Fakultas MIPA, Universitas Padjadjaran Jl. Raya Bandung Sumedang KM

Lebih terperinci

REPRESENTASI DATA. Arsitektur Komputer

REPRESENTASI DATA. Arsitektur Komputer REPRESENTASI DATA Arsitektur Komputer Abstraksi Data Raw data kehidupan manusia - Personal data input [lewat 5 indra] - Mass media [audio/visual] data input [populer, ilmiah, fiksi, riset, dll.] Pengertian

Lebih terperinci

PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI SIMETRI IDEA SKRIPSI DEWI TRY AGUSTINA

PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI SIMETRI IDEA SKRIPSI DEWI TRY AGUSTINA PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI SIMETRI IDEA SKRIPSI DEWI TRY AGUSTINA 041401015 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message). BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message). Kata cryptography berasal dari kata Yunani yaitu kryptos yang artinya tersembunyi

Lebih terperinci

ANALISIS KINERJA ALGORITMA RABIN DAN RIVEST SHAMIR ADLEMAN ( RSA ) PADA KRIPTOGRAFI TESIS WIDIARTI RISTA MAYA

ANALISIS KINERJA ALGORITMA RABIN DAN RIVEST SHAMIR ADLEMAN ( RSA ) PADA KRIPTOGRAFI TESIS WIDIARTI RISTA MAYA ANALISIS KINERJA ALGORITMA RABIN DAN RIVEST SHAMIR ADLEMAN ( RSA ) PADA KRIPTOGRAFI TESIS WIDIARTI RISTA MAYA 117038061 PROGRAM STUDI MAGISTER ( S2 ) TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

Lebih terperinci

BAB I PENDAHULUAN. terbuka bagi setiap orang. Informasi tersebut terkadang hanya ditujukan bagi

BAB I PENDAHULUAN. terbuka bagi setiap orang. Informasi tersebut terkadang hanya ditujukan bagi BAB I PENDAHULUAN I.1 Latar Belakang Dalam era globalisasi sekarang ini, keamanan merupakan aspek yang sangat penting dalam transaksi informasi. Informasi yang dipertukarkan tidak semuanya terbuka bagi

Lebih terperinci

PENGEMBANGAN ALGORITMA CAESAR CIPHER DALAM PESAN RAHASIA DENGAN QUICK RESPONSE CODE (QR CODE)

PENGEMBANGAN ALGORITMA CAESAR CIPHER DALAM PESAN RAHASIA DENGAN QUICK RESPONSE CODE (QR CODE) PENGEMBANGAN ALGORITMA CAESAR CIPHER DALAM PESAN RAHASIA DENGAN QUICK RESPONSE CODE (QR CODE) TIANUR SITIO 41511120025 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2015

Lebih terperinci

ANALISIS PERBANDINGAN ALGORITMA SIMETRIS TINY ENCRYPTION ALGORITHM DAN LOKI DALAM ENKRIPSI DAN DEKRIPSI DATA

ANALISIS PERBANDINGAN ALGORITMA SIMETRIS TINY ENCRYPTION ALGORITHM DAN LOKI DALAM ENKRIPSI DAN DEKRIPSI DATA ANALISIS PERBANDINGAN ALGORITMA SIMETRIS TINY ENCRYPTION ALGORITHM DAN DALAM ENKRIPSI DAN DEKRIPSI DATA 1 Pradana Marlando 2 Wamiliana, 3 Rico Andrian 1, 3 Jurusan Ilmu Komputer FMIPA Unila 2 Jurusan Matematika

Lebih terperinci

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI-DEKRIPSI CITRA DIGITAL BERWARNA

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI-DEKRIPSI CITRA DIGITAL BERWARNA JURNAL SAINS DAN SENI POMITS Vol. 1, No. 1, (2014) 1-6 1 KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI-DEKRIPSI CITRA DIGITAL BERWARNA Gestihayu Romadhoni F. R, Drs. Daryono Budi Utomo, M.Si

Lebih terperinci

Pemanfaatan Metode Pembangkitan Parameter RSA untuk Modifikasi SHA-1

Pemanfaatan Metode Pembangkitan Parameter RSA untuk Modifikasi SHA-1 Pemanfaatan Metode Pembangkitan Parameter RSA untuk Modifikasi SHA-1 Miftah Mizan NIM : 13507064 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

ANALISIS GRAFOLOGI BERDASARKAN HURUF a DAN t MENGGUNAKAN ALGORITME K-NEAREST NEIGHBOR AMANDA KARATIKA HUBEIS

ANALISIS GRAFOLOGI BERDASARKAN HURUF a DAN t MENGGUNAKAN ALGORITME K-NEAREST NEIGHBOR AMANDA KARATIKA HUBEIS ANALISIS GRAFOLOGI BERDASARKAN HURUF a DAN t MENGGUNAKAN ALGORITME K-NEAREST NEIGHBOR AMANDA KARATIKA HUBEIS DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

Lebih terperinci

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC Perbandingan Sistem Kriptografi Publik RSA dan ECC Abu Bakar Gadi NIM : 13506040 1) 1) Jurusan Teknik Informatika ITB, Bandung, email: abu_gadi@students.itb.ac.id Abstrak Makalah ini akan membahas topik

Lebih terperinci

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD https://wayansuparta.wordpress.com/ 3 9 April 2018

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD https://wayansuparta.wordpress.com/ 3 9 April 2018 ARSITEKTUR SISTEM KOMPUTER Wayan Suparta, PhD https://wayansuparta.wordpress.com/ 3 9 April 2018 Penjumlahan dan Pengurangan Operasi Penjumlahan Operasi Pengurangan Aturan umum 0 + 0 = 0 0 + 1 = 1 1 +

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi terminologinya, kata kriptografi berasal dari bahasa Yunani yaitu crypto yang berarti secret (rahasia) dan graphia yang berarti writing (tulisan).

Lebih terperinci

Proses enkripsi disetiap putarannya menggunakan fungsi linear yang memiliki bentuk umum seperti berikut : ( ) ( ) (3) ( ) ( ) ( )

Proses enkripsi disetiap putarannya menggunakan fungsi linear yang memiliki bentuk umum seperti berikut : ( ) ( ) (3) ( ) ( ) ( ) 1 Pendahuluan Penyadapan semakin marak terjadi belakangan ini Masalah ini semakin besar apabila konten yang disadap adalah informasi rahasia suatu negara Indonesia beberapa kali diberitakan disadap oleh

Lebih terperinci

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi Wiwin Styorini 1), Dwi Harinitha 2) 1) Jurusan Teknik Elektro, Politeknik Caltex Riau, Pekanbaru 28265, email: wiwin@pcr.ac.id

Lebih terperinci

TUGAS AKHIR IMPLEMENTASI ALGORITMA KRIPTOGRAFI LOKI97 UNTUK PENGAMANAN AUDIO FORMAT AMR KOMPETENSI JARINGAN SKRIPSI

TUGAS AKHIR IMPLEMENTASI ALGORITMA KRIPTOGRAFI LOKI97 UNTUK PENGAMANAN AUDIO FORMAT AMR KOMPETENSI JARINGAN SKRIPSI TUGAS AKHIR IMPLEMENTASI ALGORITMA KRIPTOGRAFI LOKI97 UNTUK PENGAMANAN AUDIO FORMAT AMR KOMPETENSI JARINGAN SKRIPSI A.A. NGURAH PRADNYA ADHIKA NIM. 0608605084 JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

ALGORITMA THE SIEVE OF ERATOSTHENES DAN LINEAR CONGRUENTIAL GENERATOR ( LCG ) DALAM PERANCANGAN APLIKASI KRIPTOGRAFI RSA TESIS.

ALGORITMA THE SIEVE OF ERATOSTHENES DAN LINEAR CONGRUENTIAL GENERATOR ( LCG ) DALAM PERANCANGAN APLIKASI KRIPTOGRAFI RSA TESIS. ALGORITMA THE SIEVE OF ERATOSTHENES DAN LINEAR CONGRUENTIAL GENERATOR ( LCG ) DALAM PERANCANGAN APLIKASI KRIPTOGRAFI RSA TESIS Oleh M FAKHRIZA 097038035/TINF PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA

Lebih terperinci

1 ABSTRAK. Masalah keamanan merupakan salah satu aspek penting dari sebuah

1 ABSTRAK. Masalah keamanan merupakan salah satu aspek penting dari sebuah 1 ABSTRAK Masalah keamanan merupakan salah satu aspek penting dari sebuah sistem informasi. Pentingnya nilai sebuah informasi menyebabkan seringkali informasi diinginkan hanya boleh diakses oleh orang-orang

Lebih terperinci

KOMBINASI ALGORITMA RSA DAN ELGAMAL DALAM IMPLEMENTASI ALGORITMA KRIPTOGRAFI SKRIPSI HASNAN AULIA HAQ

KOMBINASI ALGORITMA RSA DAN ELGAMAL DALAM IMPLEMENTASI ALGORITMA KRIPTOGRAFI SKRIPSI HASNAN AULIA HAQ KOMBINASI ALGORITMA RSA DAN ELGAMAL DALAM IMPLEMENTASI ALGORITMA KRIPTOGRAFI SKRIPSI HASNAN AULIA HAQ 100823019 DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA

Lebih terperinci

PERANCANGAN APLIKASI PENGAMANAN DATA FILE MENGGUNAKAN KOMBINASI METODE AFFINE CIPHER DAN RSA SKRIPSI FITRA MAULIDA

PERANCANGAN APLIKASI PENGAMANAN DATA FILE MENGGUNAKAN KOMBINASI METODE AFFINE CIPHER DAN RSA SKRIPSI FITRA MAULIDA PERANCANGAN APLIKASI PENGAMANAN DATA FILE MENGGUNAKAN KOMBINASI METODE AFFINE CIPHER DAN RSA SKRIPSI FITRA MAULIDA 101402101 PROGRAM STUDI S-1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat 41 BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Masalah Analisis masalah bertujuan untuk mengidentifikasi permasalahanpermasalahan yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat keras

Lebih terperinci

III PEMBAHASAN. enkripsi didefinisikan oleh mod dan menghasilkan siferteks c.

III PEMBAHASAN. enkripsi didefinisikan oleh mod dan menghasilkan siferteks c. enkripsi didefinisikan oleh mod dan menghasilkan siferteks c 3 Algoritme 3 Dekripsi Untuk menemukan kembali m dari c, B harus melakukan hal-hal berikut a Menggunakan kunci pribadi a untuk menghitung mod

Lebih terperinci

Bab 2: Kriptografi. Landasan Matematika. Fungsi

Bab 2: Kriptografi. Landasan Matematika. Fungsi Bab 2: Kriptografi Landasan Matematika Fungsi Misalkan A dan B adalah himpunan. Relasi f dari A ke B adalah sebuah fungsi apabila tiap elemen di A dihubungkan dengan tepat satu elemen di B. Fungsi juga

Lebih terperinci

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik RSA, ElGamal, dan ECC Vincent Theophilus Ciputra (13513005) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

Perancangan Perangkat Lunak Bantu Bantu Pemahaman Kritografi Menggunakan Metode MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER)

Perancangan Perangkat Lunak Bantu Bantu Pemahaman Kritografi Menggunakan Metode MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER) JURNAL ILMIAH CORE IT ISSN 2339-1766 Perancangan Perangkat Lunak Bantu Bantu Pemahaman Kritografi Menggunakan Metode MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER) Yudi 1), Albert 2) STMIK IBBI Jl. Sei

Lebih terperinci

IMPLEMENTASI PENGENKRIPSIAN DATA NILAI SISWA DENGAN MENGGUNAKAN ALGORITMA DES (Data Encryption Standard) BERBASIS WEB

IMPLEMENTASI PENGENKRIPSIAN DATA NILAI SISWA DENGAN MENGGUNAKAN ALGORITMA DES (Data Encryption Standard) BERBASIS WEB 0 IMPLEMENTASI PENGENKRIPSIAN DATA NILAI SISWA DENGAN MENGGUNAKAN ALGORITMA DES (Data Encryption Standard) BERBASIS WEB Naskah Publikasi diajukan oleh Pramulyandi 04.11.0476 kepada SEKOLAH TINGGI MANAJEMEN

Lebih terperinci

IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI AHDA ANDI KURNIA

IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI AHDA ANDI KURNIA IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI AHDA ANDI KURNIA 111401104 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

METODE PENELITIAN HASIL DAN PEMBAHASAN

METODE PENELITIAN HASIL DAN PEMBAHASAN 1 Dalam segi keamanan penyandian data algoritme IDEA mempunyai standar yang lebih sederhana namun cukup ampuh untuk mencegah serangan cryptanalysis terhadap kunci enkripsi dan dekripsi. Pembangkit kunci

Lebih terperinci

IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA) SKRIPSI ANDRUS

IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA) SKRIPSI ANDRUS IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA) SKRIPSI ANDRUS 111401094 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

Perbandingan Penggunaan Bilangan Prima Aman Dan Tidak Aman Pada Proses Pembentukan Kunci Algoritma Elgamal

Perbandingan Penggunaan Bilangan Prima Aman Dan Tidak Aman Pada Proses Pembentukan Kunci Algoritma Elgamal 194 ISSN: 2354-5771 Perbandingan Penggunaan Bilangan Prima Aman Dan Tidak Aman Pada Proses Pembentukan Kunci Algoritma Elgamal Yudhi Andrian STMIK Potensi Utama E-mail: yudhi.andrian@gmail.com Abstrak

Lebih terperinci

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA SEMINAR HASIL TUGAS AKHIR KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA Elliptic Curve ElGamal Cryptography For Encvryption- Decryption Process of Colored Digital

Lebih terperinci

ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE PEMBANGKITAN BILANGAN PRIMA FERMAT DAN LUCAS-LEHMER DALAM KRIPTOGRAFI ELGAMAL SKRIPSI

ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE PEMBANGKITAN BILANGAN PRIMA FERMAT DAN LUCAS-LEHMER DALAM KRIPTOGRAFI ELGAMAL SKRIPSI ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE PEMBANGKITAN BILANGAN PRIMA FERMAT DAN LUCAS-LEHMER DALAM KRIPTOGRAFI ELGAMAL SKRIPSI RATNANINGTYAS YOGA WIJAYANTI 081401011 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN

Lebih terperinci

PENYANDIAN DATA TEKS DENGAN ALGORITMA ELGAMAL DAN ALGORITMA KOMPRESI DATA DENGAN ALGORITMA ELIAS GAMMA CODE SKRIPSI WIWIN AGUSTINI LUBIS

PENYANDIAN DATA TEKS DENGAN ALGORITMA ELGAMAL DAN ALGORITMA KOMPRESI DATA DENGAN ALGORITMA ELIAS GAMMA CODE SKRIPSI WIWIN AGUSTINI LUBIS PENYANDIAN DATA TEKS DENGAN ALGORITMA ELGAMAL DAN ALGORITMA KOMPRESI DATA DENGAN ALGORITMA ELIAS GAMMA CODE SKRIPSI WIWIN AGUSTINI LUBIS 131421061 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU

Lebih terperinci

Kriptografi Elliptic Curve Dalam Digital Signature

Kriptografi Elliptic Curve Dalam Digital Signature Kriptografi Elliptic Curve Dalam Digital Signature Ikmal Syifai 13508003 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

Enkripsi Teks dengan Algoritma Affine Cipher

Enkripsi Teks dengan Algoritma Affine Cipher Konferensi Nasional Sistem Informasi dan Komputer-1520 1 Enkripsi Teks dengan Algoritma Affine Cipher Text Encryption using Affine Cipher Algorithm Andysah Putera Utama Siahaan Fakultas Ilmu Komputer,

Lebih terperinci

ARSITEKTUR DAN ORGANISASI KOMPUTER

ARSITEKTUR DAN ORGANISASI KOMPUTER ARSITEKTUR DAN ORGANISASI KOMPUTER PART 3: THE CENTRAL PROCESSING UNIT CHAPTER 9: COMPUTER ARITHMETIC PRIO HANDOKO, S.KOM., M.T.I. CHAPTER 9: COMPUTER ARITHMETIC Kompetensi Dasar Mahasiswa memiliki pengetahuan

Lebih terperinci

Bab 2 Tinjauan Pustaka

Bab 2 Tinjauan Pustaka Bab 2 Tinjauan Pustaka 2.1 Penelitian Sebelumnya Pada penelitian sebelumnya, yang berjudul Pembelajaran Berbantu komputer Algoritma Word Auto Key Encryption (WAKE). Didalamnya memuat mengenai langkah-langkah

Lebih terperinci

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB Rian Arifin 1) dan Lucky Tri Oktoviana 2) e-mail: Arifin1199@gmail.com Universitas Negeri Malang ABSTRAK: Salah satu cara

Lebih terperinci

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Penelitian sebelumnya yang terkait dengan penelitian ini adalah penelitian yang dilakukan oleh Syaukani, (2003) yang berjudul Implementasi Sistem Kriptografi

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya secret (rahasia), sedangkan gráphein artinya writing (tulisan), jadi kriptografi berarti secret

Lebih terperinci

ABSTRAK. Universitas Kristen Maranatha

ABSTRAK. Universitas Kristen Maranatha ABSTRAK Masalah keamanan dan kerahasiaan data merupakan salah satu aspek yang sangat penting dalam era informasi sekarang ini. Salah satu solusi untuk mengatasinya adalah dengan melakukan enkripsi (penyandian)

Lebih terperinci

BAB III HASIL DAN PEMBAHASAN

BAB III HASIL DAN PEMBAHASAN BAB III HASIL DAN PEMBAHASAN Pada bab ini akan dijelaskan hal-hal yang berhubungan dengan masalah dan bagaimana mengeksplorasinya dengan logaritma diskret pada menggunakan algoritme Exhaustive Search Baby-Step

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Keamanan informasi merupakan hal yang sangat penting dalam menjaga kerahasiaan informasi terutama yang berisi informasi sensitif yang hanya boleh diketahui

Lebih terperinci

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara 5 BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi adalah ilmu yang mempelajari bagaimana mengirim pesan secara rahasia sehingga hanya orang yang dituju saja yang dapat membaca pesan rahasia tersebut.

Lebih terperinci

Studi dan Implementasi Sistem Kriptografi Rabin

Studi dan Implementasi Sistem Kriptografi Rabin Studi dan Implementasi Sistem Kriptografi Rabin Anugrah Adeputra Program Studi Teknik Informatika, Institut Teknologi Bandung, Jl.Ganesha No.10 Email: if15093@students.if.itb.ac.id Abstraksi Sistem Kriptografi

Lebih terperinci

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA ABSTRAK ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA Makalah ini membahas tentang pengamanan pesan rahasia dengan menggunakan salah satu algoritma Kryptografi, yaitu algoritma ElGamal. Tingkat keamanan

Lebih terperinci

MASALAH PENJADWALAN KERETA SECARA PERIODIK DENGAN BIAYA MINIMUM PADA JALUR GANDA MUHAMMAD RIZQY HIDAYATSYAH

MASALAH PENJADWALAN KERETA SECARA PERIODIK DENGAN BIAYA MINIMUM PADA JALUR GANDA MUHAMMAD RIZQY HIDAYATSYAH MASALAH PENJADWALAN KERETA SECARA PERIODIK DENGAN BIAYA MINIMUM PADA JALUR GANDA MUHAMMAD RIZQY HIDAYATSYAH DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

Lebih terperinci

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi. BAB 2 LANDASAN TEORI 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi. 2.1.1 Pengertian Kriptografi Kriptografi (cryptography) berasal dari bahasa yunani yaitu

Lebih terperinci

Sifat Prima Terhadap Fungsionalitas Algoritma RSA

Sifat Prima Terhadap Fungsionalitas Algoritma RSA Sifat Prima Terhadap Fungsionalitas Algoritma RSA Kamal Mahmudi Mahasiswa Jurusan Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Labtek V, Jalan Ganeca 10 Bandung

Lebih terperinci

Kegunaan Chinese Remainder Theorem dalam Mempercepat dan Meningkatkan Efisiensi Peforma Sistem Kriptografi RSA

Kegunaan Chinese Remainder Theorem dalam Mempercepat dan Meningkatkan Efisiensi Peforma Sistem Kriptografi RSA Kegunaan Chinese Remainder Theorem dalam Mempercepat dan Meningkatkan Efisiensi Peforma Sistem Kriptografi RSA Shauma Hayyu Syakura NIM : 13507025 Program Studi Teknik Informatika Sekolah Teknik Elektro

Lebih terperinci

IMPLEMENTASI DIGITAL SIGNATURE DENGAN ALGORITMA RSA DAN LEHMANN PRIME GENERATOR PADA PESAN TEKS SKRIPSI MIRNAWATI

IMPLEMENTASI DIGITAL SIGNATURE DENGAN ALGORITMA RSA DAN LEHMANN PRIME GENERATOR PADA PESAN TEKS SKRIPSI MIRNAWATI IMPLEMENTASI DIGITAL SIGNATURE DENGAN ALGORITMA RSA DAN LEHMANN PRIME GENERATOR PADA PESAN TEKS SKRIPSI MIRNAWATI 081401005 DEPARTEMEN ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS

Lebih terperinci

STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL SKRIPSI VERA MAGDALENA SIANTURI

STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL SKRIPSI VERA MAGDALENA SIANTURI STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer VERA MAGDALENA SIANTURI 041401056 PROGRAM STUDI

Lebih terperinci

PENGAMANAN TEKS DENGAN HYBRID CRYPTOSYSTEM ALGORITMA MULTI-POWER RSA DAN ALGORITMA BLOWFISH SKRIPSI MAHADI PUTRA

PENGAMANAN TEKS DENGAN HYBRID CRYPTOSYSTEM ALGORITMA MULTI-POWER RSA DAN ALGORITMA BLOWFISH SKRIPSI MAHADI PUTRA PENGAMANAN TEKS DENGAN HYBRID CRYPTOSYSTEM ALGORITMA MULTI-POWER RSA DAN ALGORITMA BLOWFISH SKRIPSI MAHADI PUTRA 131401057 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi. BAB I PENDAHULUAN 1.1 Latar Belakang Pada proses pengiriman data (pesan) terdapat beberapa hal yang harus diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi. Oleh karenanya

Lebih terperinci

DAFTAR ISI ABSTRAK KATA PENGANTAR

DAFTAR ISI ABSTRAK KATA PENGANTAR ABSTRAK Masalah keamanan dan kerahasiaan data merupakan salah satu aspek yang sangat penting dalam era informasi sekarang ini. Salah satu solusi untuk mengatasinya adalah dengan melakukan enkripsi (penyandian)

Lebih terperinci

ELLIPTIC CURVE CRYPTOGRAPHY. Disarikan oleh: Dinisfu Sya ban ( )

ELLIPTIC CURVE CRYPTOGRAPHY. Disarikan oleh: Dinisfu Sya ban ( ) ELLIPTIC CURVE CRYPTOGRAPHY Disarikan oleh: Dinisfu Sya ban (0403100596) SEKOLAH TINGGI SANDI NEGARA BOGOR 007 A. Fungsi Elliptic Curves 1. Definisi Elliptic Curves Definisi 1. : Misalkan k merupakan field

Lebih terperinci

SKRIPSI MUHAMMAD AHYAL HUSNA

SKRIPSI MUHAMMAD AHYAL HUSNA IMPLEMENTASI ALGORITMA MMB (MODULAR MULTIPLICATION BASED BLOCK CIPHER) PADA PEMBUATAN APLIKASI MANAJEMEN KATA SANDI (PASSWORD MANAGEMENT) SKRIPSI MUHAMMAD AHYAL HUSNA 061401034 PROGRAM STUDI ILMU KOMPUTER

Lebih terperinci

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER Arga Dhahana Pramudianto 1, Rino 2 1,2 Sekolah Tinggi Sandi Negara arga.daywalker@gmail.com,

Lebih terperinci

Kriptografi Citra Menggunakan Metode Rivest-Shamir-Adleman Chinese Remainder Theorem Di Konsultan XYZ

Kriptografi Citra Menggunakan Metode Rivest-Shamir-Adleman Chinese Remainder Theorem Di Konsultan XYZ Kriptografi Citra Menggunakan Metode Rivest-Shamir-Adleman Chinese Remainder Theorem Di Konsultan XYZ Eko Budi Setiawan, Yogie Setiawan Nugraha Program Studi Teknik Informatika, Universitas Komputer Indonesia,

Lebih terperinci

Pemrograman Berbasis Objek Operator dan Assignment

Pemrograman Berbasis Objek Operator dan Assignment Operator dan Assignment Macam-macam macam Operator Arithmetic Op. : + - * / % Relational Op. : > >= < >>> Conditional

Lebih terperinci

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang BAB II LANDASAN TEORI Pada bab ini akan diberikan beberapa definisi, penjelasan, dan teorema yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang diberikan diantaranya adalah definisi

Lebih terperinci

IMPLEMENTASI SISTEM KEAMANAN DATA DENGAN MENGGUNAKAN TEKNIK STEGANOGRAFI END OF FILE (EOF) DAN RABIN PUBLIC KEY CRYPTOSYSTEM SKRIPSI

IMPLEMENTASI SISTEM KEAMANAN DATA DENGAN MENGGUNAKAN TEKNIK STEGANOGRAFI END OF FILE (EOF) DAN RABIN PUBLIC KEY CRYPTOSYSTEM SKRIPSI IMPLEMENTASI SISTEM KEAMANAN DATA DENGAN MENGGUNAKAN TEKNIK STEGANOGRAFI END OF FILE (EOF) DAN RABIN PUBLIC KEY CRYPTOSYSTEM SKRIPSI HENNY WANDANI 081401001 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU

Lebih terperinci

IMPLEMENTASI SANDI HILL UNTUK PENYANDIAN CITRA

IMPLEMENTASI SANDI HILL UNTUK PENYANDIAN CITRA IMLEMENTASI SANDI HILL UNTUK PENYANDIAN CITRA (J.J. Siang, et al.) IMPLEMENTASI SANDI HILL UNTUK PENYANDIAN CITRA J. J. Siang Program Studi Ilmu Komputer, Fakultas MIPA, Universitas Kristen Immanuel Yogyakarta

Lebih terperinci

IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID

IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID SKRIPSI HARI RAHMAN NIHE 111401114 PROGRAM STUDI S1 ILMU

Lebih terperinci

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP Muhammad Indra NS - 23515019 1 Program Magister Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

JARINGAN KOMPUTER I WAYAN MULIAWAN NIM

JARINGAN KOMPUTER I WAYAN MULIAWAN NIM i LAPORAN TUGAS AKHIR PENGAMANAN SUARA DALAM VIDEO FORMAT 3GP DENGAN MENGGUNAKAN ALGORITMA ELGAMAL DAN STEGANOGRAFI DENGAN METODE LSB (LEAST SIGNIFICANT BIT) JARINGAN KOMPUTER I WAYAN MULIAWAN NIM. 0608605097

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN. Perancangan program aplikasi dalam skripsi ini menggunakan aturan linear sequential

BAB 3 ANALISIS DAN PERANCANGAN. Perancangan program aplikasi dalam skripsi ini menggunakan aturan linear sequential BAB 3 ANALISIS DAN PERANCANGAN Perancangan program aplikasi dalam skripsi ini menggunakan aturan linear sequential (waterfall). Metode ini terdiri dari empat tahapan yaitu analisis, perancangan, pengkodean/pembuatan,

Lebih terperinci

DAFTAR ISI. Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)

DAFTAR ISI. Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) DAFTAR ISI PERNYATAAN... i ABSTRAK... ii KATA PENGANTAR... iii UCAPAN TERIMA KASIH... iv DAFTAR ISI... v DAFTAR TABEL... ix DAFTAR GAMBAR... x DAFTAR LAMPIRAN... xi ARTI LAMBANG... xii BAB 1 PENDAHULUAN

Lebih terperinci

Implementasi dan Analisis Performa Kriptografi Metode WAKE Pada Kombinasi Data Numerik dan Karakter. Skripsi

Implementasi dan Analisis Performa Kriptografi Metode WAKE Pada Kombinasi Data Numerik dan Karakter. Skripsi Implementasi dan Analisis Performa Kriptografi Metode WAKE Pada Kombinasi Data Numerik dan Karakter Skripsi Diajukan kepada Fakultas Teknologi Informasi untuk memperoleh Gelar Sarjana Komputer Oleh: Christian

Lebih terperinci

PERANCANGAN SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI ELGAMAL BERDASARKAN MASALAH LOGARITMA DISKRET PADA GRUP PERGANDAAN Zp SKRIPSI

PERANCANGAN SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI ELGAMAL BERDASARKAN MASALAH LOGARITMA DISKRET PADA GRUP PERGANDAAN Zp SKRIPSI PERANCANGAN SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI ELGAMAL BERDASARKAN MASALAH LOGARITMA DISKRET PADA GRUP PERGANDAAN Zp SKRIPSI NISA DEWI ASMAR 041401004 PROGRAM STUDI S1 ILMU KOMPUTER

Lebih terperinci

Operator dan Assignment

Operator dan Assignment Operator dan Assignment Macam-macam Operator Arithmetic Op. : + - * / % Relational Op. : > >= < >>> Conditional Op.

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Teori Bilangan 2.1.1 Keterbagian Jika a dan b Z (Z = himpunan bilangan bulat) dimana b 0, maka dapat dikatakan b habis dibagi dengan a atau b mod a = 0 dan dinotasikan dengan

Lebih terperinci

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi JURNAL DUNIA TEKNOLOGI INFORMASI Vol. 1, No. 1, (2012) 20-27 20 Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi 1 Program Studi

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1. Kriptografi Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak

Lebih terperinci

BAB III BAB III METODE PENELITIAN

BAB III BAB III METODE PENELITIAN BAB III BAB III METODE PENELITIAN Sesuai dengan tujuan penelitian yaitu membangun model perangkat lunak algoritma Pohlig-Hellman multiple-key berdasarkan algoritma RSA multiple-key, maka pada bab ini dimulai

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 ANALISIS Analisis adalah penguraian dari suatu pembahasan, dalam hal ini pembahasan mengenai perancangan keamanan data menggunakan algoritma kriptografi subtitusi

Lebih terperinci