IMPLEMENTASI METODE KRIPTOGRAFI IDEA pada PRIORITY DEALER untuk LAYANAN PEMESANAN dan LAPORAN PENJUALAN HAMDPHONE BERBASIS WEB
IMPLEMENTASI ALGORITMA IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM) DAN RSA (RIVEST SHAMIR ADLEMAN) DALAM MENGAMANKAN DATA

            ABSTRAK—Semakin pesatnya perkembangan dari kemajuan elektronik jaman sekarang membuat setiap orang mewajibkan dirinya untuk mengikuti perkembangan tersebut.
Dengan perkembangan ini tidak sedikit dari sebagian orang memanfaatkan nya untuk membuat usaha atau bisnis dengan menjual berbagai jenis handphone, ada yang berjualan menetap di gedung/bangunan maupun berjualan secara online dengan memanfaatkan pihak aplikasi ketiga, sehingga dengan melakukan penjualan handphone dapat lebih memudahkan para distributor dengan penjual tanpa harus bersusah payah untuk membeli dari jauh untuk datang ketempat, hanya cukup dengan memesan online. Pada proyek kali ini saya akan membahas tentang membuat keamanan dari implementasi metode kriptografi idea pada priority dealer untuk layanan pemesanan dan laporan penjualan handphone berbasis web dimana dengan keamanan ini si distributor dapat menggunakannya tanpa aplikasi ketiga dan hanya cukup dengan website yang dibuat. Penjual hanya perlu daftar dan login untuk mengisi data dan melakukan pemesanan. Selain itu dengan metode ini laporan dari penjualan handphone tersebut sudah secara otomatis tersimpan di database dengan keamanan yang dibuat. Hasil dari metode ini membuat algorima dari kriptografi idea ini untuk lebih menjaga keamanan data berbasis Web.



1.       Pendahuluan
Para penjual maupun distributor dari penjual barang handphone tersebut sudah memastikan barang yang akan di jual sesuai perkembangan dan kebutuhan serta memastikan barang tersebut layak untuk dijual. Penjualan biasanya dilakukan pada priority dealer atau para penjual seperti pengusaha handphone dan ada juga yang langsung menjual kepada konsumen. Namun penjualan yang dilakukan masih menggunakan metode lama yaitu harus datang dan menghampiri si distributor dalam pemesanan sehingga lebih memakan waktu, biaya maupun tenaga. Dengan pemanfaatan fitur berbasis online para distributor, penjual maupun konsumen dapat lebih dimudahkan dalam melakukan jual beli hanya dengan memesan secara online dan barang yang diinginkan tertera di web tersebut. Namun dengan berbasis online tidak menutup kemungkinan adanya pencurian data atau phising yang tidak diinginkan karena rendahnya tingkat keamanan yang diberikan. Jadi dengan metode implementasi kriptografy idea pada priority dealer untuk layanan pemesanan dan laporan penjualan handphone berbasis web yang akan dibuat ini bertujuan untuk menjaga keamanan yang lebih baik terhadap data yang dimiliki pada web server yang akan dibuat.

2.       Kritografy
Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data .Tetapi tidak semua aspek keamanan informasi dapat diselesaikan dengan kriptografi.
Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan.

Pada prinsipnya, Kriptografi memiliki 4 komponen utama yaitu:Plaintext, yaitu pesan yang dapat dibaca Ciphertext, yaitu pesan acak yang tidak dapat dibaca Key, yaitu kunci untuk melakukan teknik kriptografi Algorithm, yaitu metode untuk melakukan enkrispi dan dekripsi 
Kemudian, proses yang akan dibahas dalam artikel ini meliputi 2 proses dasar pada Kriptografi yaitu: Enkripsi (Encryption)Dekripsi (Decryption) dengan key yang digunakan sama untuk kedua proses diatas. Penggunakan key yang sama untuk kedua proses enkripsi dan dekripsi ini disebut juga dengan Secret KeyShared Key atau Symetric Key Cryptosystems. Berikut adalah ilustrasi 4 komponen dan 2 proses yang digunakan dalam teknik kriptografi.
Picture
 














3.       Algoritma IDEA (International Data Encryption Algorithm)
Algoritma ini muncul pada tahun 1990 dan merupakan algoritma simetris yang beroperasi pada sebuah blok pesan terbuka dengan lebar 64-bit Menggunakan kunci yang sama , berukuran 128-bit, untuk proses enkripsi dan dekripsi Algoritma utama dari sistem kriptografi IDEA adalah sebagai berikut : 1. Proses enkripsi : ek (M) = C 2. Proses dekripsi : dk (C) = M Dimana : E = adalah fungsi enkripsi D = adalh fungsi dekripsi M = adalah pesan terbuka C = adalah pesan rahasia K = adalah kunci enkripsi atau dekripsi Konsep desain utama dari IDEA adalah pencampuran operasi dari tiga kelompok aljabar yang berbeda, yang terdiri dari 2n elemen. Operasi-operasi tersebut adalah : - Operasi XOR, operasi ini disimbolkan dengan tanda . - Operasi penjumlahan modulo 216, operasi ini disimbolkan dengan tanda . - Operasi perkalian modulo ( 216 + 1 ), disimbolkan dengan tanda

a.       Proses Enkripsi
Proses enkripsi diawali dari blok pesan terbuka (plaintext)dengan lebar 64 bit (diperumpamakan dengan X), dibagi menjadi 4 subblok 16 bit, X1, X2, X3, X4

Keempat subblok 16 bit itu ditransformasikan menjadi subblok 16 bit, Y1, Y2, Y3, Y4, sebagai pesan rahasia(ciphertext) 64 bit Y = (Y1, Y2, Y3, Y4) dan dikendalikan oleh 52 subkunci 16 bit yang dibentuk dari blok kunci 128 bit

Dari Gambar 1  dapat dilihat keempat subblok 16 bit, X1, X2, X3, X4, digunakan sebagai masukan untuk  iterasi pertama dari algoritma IDEA.  Masing-masing dalam setiap iterasi dilakukan operasi XOR, penjumlahan modulasi 216 dan perkalian modulasi  (216+ 1).

Tahapan yang dilakukan setiap iterasi
Perkalian X1 dengan subkunci pertama (K1)
Penjumlahan X2 dengan subkunci kedua (K2)
Pejumlahan X3 dengan subkunci ketiga (K3)
Perkalian X4 dengan subkunci keempat (K4)
Operasi XOR hasil langkah 1) dan 3) 
Operasi XOR hasil langkah 2) dan 4) 
Perkalian hasil langkah 5) dengan subkunci kelima (K5)
Penjumlahan hasil langkah 6) dengan langkah 7)
Perkalian hasil langkah 8) dengan subkunci keenam (K6)
Penjumlahan hasil langah 7) dengan 9) 
Operasi XOR hasil langkah 1) dan 9) 
Operasi XOR hasil langkah 3) dan 9)  
Operasi XOR hasil langkah 2) dan 10) 
Operasi XOR hasil langkah 4) dan 10) 
Transformasi keluaran akhir yang digunakan setelah iterasi 8 yaitu :
Perkalian X1 dengan  K49
Penjumlahan X2 dengan K50
Penjumlahan X3 dengan K51
Perkalian X4 dengan K52

Langkah terakhir dari proses enkripsi IDEA yaitu keempat subblok 16 bit yang merupakan hasil operasi 1), 2), 3), dan 4) digabung kembali menjadi blok pesan rahasia 64 bit. 

b.      Proses Deskripsi
Proses dekripsi menggunakan algoritma yang sama dengan proses enkripsi. Perbedaannya hanya pada 52 buah subkunci yang digunakan masing-masing merupakan hasil turunan 52 buah subkunci enkripsi.
-          Pembentukan Subkunci IDEA
Sebanyak 52 subkunci 16 bit untuk proses enkripsi diperoleh dari sebuah kunci 128 bit
Pembentukan Subkunci IDEA


4.       PHP (Personal Home Page)
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain.
PHP
Salah satu server side scripting (berjalan pada sisi server) yang populer saat ini adalah PHP. Selain dapat digunakan untuk berbagai sistem operasi, koneksi database yang sangat mudah, dan gratis menyebabkan PHP banyak digunakan.
Konsep Kerja PHP
Konsep kerja PHP diawali dengan permintaan suatu halaman web (file.php) oleh browser atau klien. Kemudian berdasarkan alamat di Internet (URL), browser mendapatkan alamat dari web server, yang akan mengidentifikasi halaman yang diminta, dan menyampaikan segala informasi yang dibutuhkan oleh web server.
Selanjutnya, ketika file PHP yang diminta didapatkan oleh web server, isinya segera dikirimkan ke mesin PHP untuk diproses dan memberikan hasilnya (berupa kode HTML) ke web server, lalu menyampaikannya ke klien. Untuk lebih jelasnya, konsep kerja PHP dapat dilihat pada Gambar berikut:
https://fahmizaleeits.files.wordpress.com/2010/09/prinsip-kerja-php.jpg?w=570
Gambar Konsep kerja PHP
Dan seperti halnya bahasa pemrograman lainnya, PHP juga mengenal variabel, kalimat bersyarat, perulangan, operator, array, dan fungsi. Disamping itu, karena PHP merupakan skrip yang berjalan di server, maka ditambahkan kemampuan untuk mengolah proses di server seperti melakukan koneksi ke database, membaca sistem di server dan client, manajemen sessioncookies, penanganan form, penanganan file, enkripsi, dan lain-lain. Untuk mempelajari PHP lebih lanjut, bacalah manualnya atau buku-buku yang banyak tersedia di pasaran.


5.       MYSQL
MySQL adalah salah satu jenis database server yang banyak digunakan dan sangat terkenal. 
Integrasi PHP dengan MySQL
Salah satu kelebihan unggulan dari PHP adalah mampu berkomunikasi dengan berbagai database terkenal, seperti dBASE, Informix, Interbase, Access, MSQL, MySQL, Oracle, PostgreSQL, Sybase, dan masih banyak lagi. Dengan demikian, untuk menampilkan data yang bersifat dinamis (yang diambil dari database), merupakan hal yang mudah untuk diimplementasikan. Itulah sebabnya sering dikatakan bahwa PHP sangat cocok untuk membangun halaman-halaman dinamis, baik di lingkungan web maupun WAP.
PHP sudah menyediakan fungsi-fungsi bawaan (built-in) untuk mengakses database dan menampilkan data-data yang terdapat didalamnya. Selain itu, PHP juga bisa memasukkan perintah-perintah SQL untuk pengolahan database lebih lanjut, seperti untuk menambah, menghapus, mencari dan mengedit data yang terdapat di database. Untuk mengintegrasikan PHP dengan database di server MySQL, dibutuhkan dua fungsi utama, yaitu:
1. Fungsi mysql_connect ($hostname, $username, $password);
Untk koneksi ke server MySQL dengan alamat $hostname, login $username, dan password $password. Jika parameter nama hostname tidak dideklarasikan, otomatis akan berisi localhost. Koneksi ke database akan secara otomatis terputus pada saat skrip program selesai dieksekusi seluruhnya, kecuali diberikan fungsi mysql_close( ). Fungsi mysql_connect( ) akan menghasilkan nilai true, jika koneksi berhasil dilakukan dan nilai false jika koneksi gagal.
2. Fungsi mysql_select_db ($nama_database);
Untuk menghubungkan database yang bernama $nama_database;
Membuat dan Menampilkan Database
Setelah koneksi ke database berhasil, maka langkah selanjutnya adalah membuat database. Untuk membuat sebuah database, gunakan fungsi mysql_create_db( ), misalnya membuat database dengan nama ‘hotel’: $data=mysql_create_db(”hotel”); Setelah membuat database, selanjutnya adalah cara untuk mengambil data yang ada di dalam database (MySQL) agar dapat ditampilkan dan dilihat oleh user, caranya adalah dengan menggunakan fungsi-fungsi seperti mysql_fetch_array( ), mysql_fetch_row( ), mysql_num_rows( ), dan lain-lain, tergantung pada format tampilan (output) yang diinginkan.

6.       PERANCANGAN ARSITEKTUR

Dari gambar 4 dapat dijelaskan prinsip kerja sistem sebagai berikut : Dalam sistem ini dibuat interaksi antara server dan client yang yang berbasis WEB menggunakan kriptografi dengan metode IDEA yang diimplementasikan pada priority dealer untuk layanan laporan hasil penjualan dan pemesanan handphone. Distributor server memiliki beberapa client yaitu priority dealer, masing – masing priority dealer memiliki ID (username dan password) sehingga mampu mengakses WEB distributor server untuk melakukan permintaan dan pemesanan barang kemudian distributor server akan mengirimkan informasi tentang ketersediaan permintaan barang pada priority dealer. Pada pengiriman data yang dilakukan oleh priority dealer ke distributor server akan dilakukan enkripsi dengan menggunakan metode IDEA. Setelah itu data akan didekripsi disisi server sehingga priority dealer dapat mengakses web layanan pemesanan dan penjualan barang, jumlah pemesanan dan instansi yang memesan secara real time. Lalu server akan memberikan informasi ke pelanggan total harga yang harus dibayar. Priority dealer yang dapat melakukan pemesanan barang online hanya priority dealer yang telah terdaftar pada distributor server. Bila ada priority dealer baru maka harus mendaftar pada distributor server secara manual.

7.        PENGUJIAN DAN HASIL
Pada proyek akhir ini dilakukan pengujian dan analisa system terhadap performansi dari kriptografi IDEA. 7.1 Pengujian dan Analisa Implementasi Metode Enkripsi/Dekripsi IDEA dan Integrasi Client Server Pengujian enkripsi/dekripsi IDEA akan dilakukan pada data string dimana tujuan dari pengujian ini adalah untuk mengetahui kebenaran dari metode enkripsi/dekripsi IDEA yang telah dibuat.
Gambar 4.10 : plain text Hasil Dekripsi Hasil pengujian diatas dilakukan dengan menampilkan ciphertext hasil enkripsi, dan hasil dekripsi kemudian dibandingkan dengan teks aslinya menggunakan metode IDEA. Dari proses enkripsi/dekripsi IDEA pada data string berupa huruf ,angka dan metakarakter (plain text) tersebut terlihat bahwa metode enkripsi/dekripsi yang dibuat telah teruji kebenarannya, karena string yang terenkripsi (cipher text) setelah didekripsi kembali ke string aslinya (plain text).

7.2        Pengujian, Perbandingan dan Analisa Linieritas Hasil Enkripsi Tabel 4.1: Panjang karakter asli dan simbol enkripsi metode IDEA
Dapat diketahui bahwa jumlah karakter teks asli (plain text) dan jumlah karakter hasil enkripsi cipher text dari teks tersebut sama panjangnya yaitu 64 bit atau 8 karakter. Sehingga dapat dikatakan bahwa metode enkripsi IDEA ini adalah linier. 7.3 Pengujian dan Analisa Waktu Enkripsi/Dekripsi Enkripsi Menggunakan Metode IDEA Pengujian waktu proses enkripsi/dekripsi dilakukan pada karakter huruf , angka, dan metakarakter menggunakan algoritma IDEA. Pengujian ini dilakukan untuk bentuk karakter dan panjang karakter. Proses perhitungan waktu proses enkripsi/dekripsinya menggunakan program PHP pada sisi client mulai dari client mengirimkan informasi yang kemudian dienkripsi, server melakukan proses dekripsi hingga client mendapat informasi hasil dekripsi dari server. Berikut ini adalah tabel hasil pengukuran
waktu enkripsi/dekripsi untuk karakter huruf sepanjang 8 karakter dengan panjang kunci 16 karakter: Tabel 4.4: Perhitungan Waktu pada Enkripsi / Dekripsi Metode IDEA

Dari tabel 4.4 dapat diketahui bahwa pada metode enkripsi IDEA, waktu yang diperlukan untuk proses enkripsi/dekripsi dari client ke server adalah 0.023345 detik sampai 0.123432 detik. Hal ini menujukkan bahwa bentuk karakter berpengaruh terhadap waktu proses enkripsi/dekripsi IDEA.

8.       KESIMPULAN
Dari hasil pengujian dan analisa pada bab sebelumnya, maka dapat diambil beberapa kesimpulan sebagai berikut : 1. IDEA menerima masukan berupa 64-bit plaintext dan 128-bit kunci, dan menggunakan subkey 16-bit. Keduanya sama-sama beroperasi dalam 64-bit block, yang terdiri dari 8 putaran identik dan sebuah output transformation. IDEA memiliki fungsi enkripsi yang kuat dan aman. Namun kesederhanaan pada key schedule yang dimiliki IDEA mengakibatkan IDEA memiliki kunci yang lemah. Proses enkripsi pada IDEA menggunakan campuran operasi dari tiga kelompok aljabar, yaitu addition modulo, multiplication modulo, dan bitwise XOR. Campuran ketiga operasi inilah yang menjamin keamanan IDEA. 2. Waktu yang diperlukan oleh algoritma IDEA untuk mengenkripsi dan mendekripsi waktu yang diperlukan untuk proses enkripsi/dekripsi serarah dari client ke server adalah 1,125 detik -1,492 detik . Waktu enkripsi/dekripsi bolakbalik yaitu dari client ke server dan server ke client adalah 1,265 detik - 1,625 detik. Hal ini menujukkan bahwa panjang karakter berpengaruh terhadap waktu proses enkripsi/dekripsi IDEA. Sedangkan waktu proses enkripsi/dekripsi menggunakan software AES adalah 0,3-0,4 detik. Hal ini menujukkan bahwa panjang karakter tidak berpengaruh signifikan terhadap waktu proses enkripsi/dekripsi software AES. 3. Aplikasi integrasi client server tidak dapat mensupport karakter huruf kapital dan form choicegroup. Hal ini disebabkan karena dalam pemrograman IDEA perlu dilakukan konvert data beberapa kali untuk memasukan data inputan ke dalam fungsi enkrip dan dekrip, sedangkan pada PHP dapat langsung mengenali berbagai tipe data tanpa mengkonvert

9.       SARAN
Untuk penelitian lebih lanjut, menggunakan dua metode enkripsi/dekripsi untuk 7 diimplementasikan pada suatu sistem informasi sehingga perbandingan dan analisanya dapat lebih akurat, dan menggunakan metode kriptografi yang memiliki kunci yang asimetris sehingga orang lain sulit untuk menggunakan kunci tersebut untuk mendekripsi chippertext .

10.   DAFTAR PUSTAKA
-          Pembahasan dari Jurnal IMPLEMENTASI ALGORITMA IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM) DAN RSA (RIVEST SHAMIR ADLEMAN) DALAM MENGAMANKAN DATA
-          Pembahasan dari Jurnal IMPLEMENTASI METODE KRIPTOGRAFI IDEA pada PRIORITY DEALER untuk LAYANAN PEMESANAN dan LAPORAN PENJUALAN HAMDPHONE BERBASIS WEB 


Tidak ada komentar:

Posting Komentar