• Tidak ada hasil yang ditemukan

BAB I PENDAHULUAN

1.5 Manfaat Penelitian

algoritma hasil pengubahan tersebut diberi nama IPES (Improyed Proposed Encryption Algorithm). Kemudian pada tahun 1992, IPES mengganti namanya menjadi IDEA (International Data Encryption Algorithm). Metoda ini menggunakan beberapa operasi dasar, seperti operasi logika XOR (Exclusive-OR), operasi perkalian Mod 216+1 ( Multiplication module 216+1 ) dan operasi penambahan Mod 216 (Addition Modulo 216). Metode ini terdiri dari 8 putaran (Round) dan menggunakan 64 bit plaintext dengan panjang kunci sebesar 128 bit.

Berdasarkan latar belakang diatas, penulis mengangkat tema penelitian dengan judul “Metode Enkripsi dan Deskripsi Menggunakan Kriptografi IDEA”.

1.2 RUMUSAN MASALAH

Dari latar belakang diatas, penulis membuat suatu perumusan masalah yaitu bagaimana merancang perangkat lunak kriptografi dengan algoritma IDEA (International Data Encryption Algorithm).

1.3 BATASAN MASALAH

Adapun batasan masalah dalam merancang perangkat lunak ini adalah : 1. Data yang akan di enkripsi berbentuk teks.

2. Perangkat lunak tidak menampilkan tahap-tahap konversi bilangan ke dalam bilangan biner

3. Menggunakan Bahasa pemrograman Visual Basic 6.0.

1.4 MAKSUD DAN TUJUAN PENELITIAN

Adapun tujuan dari penelitian ini adalah untuk merancang sebuah perangkat lunak yang dapat digunakan untuk kriptografi dengan algoritma IDEA (International Data Encryption Algorithm).

1.5 MANFAAT PENELITIAN

Dari hasil perancangan perangkat lunak ini, diharapkan perangkat lunak kriptografi ini dapat mengamankan sebuah data/tulisan yang bersifat penting dan rahasia supaya tidak di ketahui oleh orang lain.

3 2.1 SEJARAH KRIPTOGRAFI

Adapun sejarah kriptografi dimulai pertama sekali dengan menggunakan metode pertukaran posisi untuk mengenkripsi suatu pesan. Dalam sejarah perkembangannya, Julius Caesar dalam mengirimkan pesan yang dibawa oleh hulubalangnya, sengaja mengacak pesan tersebut sebelum diberikan kepada kurir.

Hal ini dilakukan untuk menjaga kerahasiaan pesan baik bagi kurir maupun bagi musuh jika kurir tertangkap di tengah jalan oleh musuh. Ada orang yang mengatakan bahwa apa yang dilakukan oleh Julius Caesar dianggap sebagai awal dari kriptografi.

Dalam sebuah buku yang berjudul The Codebreaker yang dikarang oleh David Kahn pada tahun 1963, disebutkan bahwa kriptografi digunakan pertama sekali oleh bangsa Mesir 4000 tahun yang lalu sampai saat sekarang ini. Sejak munculnya buku tersebut maka kriptografi pun mulai diperbincangkan secara luas. Peminat dari buku tersebut ialah peminat yang berhubungan dengan kemiliteran, layanan diplomatik dan pemerintahan. Kriptografi digunakan sebagai suatu alat untuk melindungi rahasia dan strategi-strategi negara.

Sampai pada akhir Perang Dunia I, kriptografi merupakan disiplin ilmu matematika yang spesial. Penelitian dalam bidang ini tidak pernah sampai kepada umum sehingga tidaklah mengherankan kalau banyak orang tidak mengetahui keberadaan ataupun manfaat darinya. Kemudian pada Perang Dunia II, pihak militer pun mulai menyadari akan manfaat dari penggunaan kriptografi maupun kriptanalisis. Kriptografi memungkinkan untuk berkomunikasi dalam saluran yang aman (misalnya komunikasi melalui radio gelombang panjang) dengan cara membuatnya menjadi tidak dapat dimengerti oleh musuh. Kriptografi mencapai kemajuan yang pesat pada akhir Perang Dunia II. Akan tetapi kriptografi masih merupakan sesuatu yang sangat rahasia karena kriptografi telah menjadi bagian yang penting dalam komunikasi militer.

Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik, yaitu metode enkripsi yang menggunakan kertas dan pensil atau mungkin dengan bantuan alat mekanik sederhana. Secara umum algoritma kriptografi klasik dikelompokan menjadi dua kategori, yaitu algoritma transposisi (transposition cipher) dan algoritma subtitusi (substitusion chipper). Cipher transposisi mengubah susuna huruf-huruf di dalam pesan, sedangkan cipher subtitusi menganti setiap huruf atau kelompok huruf dengan sebuah huruf atau kelompok huruf lain. Sejarah kriptografi klasik mencatat penggunaan cipher trasposisi oleh tentara Sparta di Yunani pada permulaan tahun 400 SM. Mereka menggunakan alat yang namanya scytale.

Gambar 2.1 Scytale

Sedangkan algoritma substitusi paling awal dan paling sederhana adalah Caesar cipher, yang digunakan oleh raja Yunani kuno, Julius Caesar. Caranya adalah dengan mengganti setiap karakter di dalam alfabet dengan karakter yang terletak pada tiga posisi berikutnya di dalam susunan alfabet (Rinaldi Munir, 2006).

Perkembangan komputer dan sistem komunikasi pada tahun 1960-an mengakibatkan munculnya kebutuhan pihak swasta akan alat untuk melindungi informasi dalam bentuk digital dan untuk menyediakan layanan keamanan informasi. Kriptografi digital dimulai pada tahun 1970 atas usaha Feistel dari IBM dan memuncak pada tahun 1977 dengan diadopsinya sistem kriptografi DES (Data Encryption Standard) oleh U.S. Federal Information Processing Standard untuk mengenkripsi informasi rahasia. DES merupakan mekanisme kriptografi

yang paling terkenal dalam sejarah dan tetap menjadi standar pengamanan data elektronik komersial pada kebanyakan institusi keuangan di seluruh dunia.

2.2 KRIPTOGRAFI

Kriptografi berasal dari bahasa Yunani yakni kriptos yang artinya tersembunyi dan graphia yang artinya sesuatu yang tertulis, sehingga kriptografi dapat disebut sebagai sesuatu yang tertulis secara rahasia.

Menurut (Rinaldi Munir, 2006), Kriptografi merupakan suatu bidang ilmu yang mempelajari tentang bagaimana merahasiakan suatu informasi penting ke dalam suatu bentuk yang tidak dapat dibaca oleh siapapun serta mengembalikannya kembali menjadi informasi semula dengan menggunakan berbagai macam teknik yang telah ada sehingga informasi tersebut tidak dapat diketahui oleh pihak manapun yang bukan pemilik atau yang tidak berkepentingan. Sisi lain dari kriptografi ialah kriptanalisis (Cryptanalysis) yang merupakan studi tentang bagaimana memecahkan mekanisme kriptografi.

Bagi kebanyakan orang, kriptografi lebih diutamakan dalam menjaga komunikasi tetap rahasia dan khusus. Seperti yang telah diketahui dan disetujui bahwa perlindungan (proteksi) terhadap komunikasi yang sensitif telah menjadi penekanan kriptografi selama ini. Akan tetapi hal tersebut hanyalah sebagian dari penerapan kriptografi dewasa ini.

2.2.1 Terminologi

Beberapa terminologi atau istilah yang penting untuk diketahui didalam kriptografi menurut (Rinaldi Munir, 2006) dalam bukunya yang berjudul Kriptografi adalah sebagai beriku:

A. Pesan, Plainteks, dan Cipherteks

Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks (plaintext) atau teks-jelas (cleartext). Pesan tidak hanya berupa teks, tetapi juga dapat berbentuk gambar (image), suara (audio), vidio, atau berkas biner lainnya.

Pesan perlu disandikan ke bentuk lain yang tidak dipahami agar tidak dapat dimengerti maknanya oleh pihak lain. Bentuk pesan yang tersandi disebut cipherteks (ciphertext) atau kriptogram (cryptogram). Cipherteks harus dapat ditransformasikan kembali menjadi plainteks semula agar pesan yang diterima bisa dibaca.

B. Pengirim dan Penerima

Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya.

Penerima (receiver) adalah entitas yang menerima pesan. Entitas di sini dapat berupa orang, komputer, kartu kredit, dan sebagainya.

C. Enkripsi dan Dekripsi

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption) atau enciphering (standar nama menurut ISO 7498-2).

Sedangkan proses mengembalikan cipherteks menjadi plainteks semula disebut dekripsi (decryption) atau deciphering (standard nama menurut ISO 7498-2).

Enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus.

Keuntungan dari enkripsi adalah kode asli kita tidak dapat dibaca oleh orang lain.

Dekripsi adalah proses mengembalikan suatu informasi dengan cara tertentu dan sesuai dengan algoritma enkripsi yang dipakai. Dekripsi merupakan proses kebalikan dari proses enkripsi, mengubah ciphertext kembali ke dalam bentuk plaintext. Proses utama dalam suatu algoritma kriptografi adalah enkripsi dan deskripsi.

D. Cipher dan kunci

Cipher atau algoritma kriptografi adalah aturan untuk enchipering dan dechipering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enchipering dan dechipering. Kunci (key) adalah parameter yang

digunakan untuk tranformasi enchipering dan dechipering. Kunci biasanya berupa string atau deretan bilangan.

E. Penyadap

Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan selama ditransmisikan. Tujuan penyadap adalah untuk mendapatkan informasi sebanyak-banyaknya mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan cipherteks.

F. Kriptanalisis dan Kriptologi

Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan.

Pelakunya disebut kriptanalis. Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalisis.

2.2.2 Tujuan Kriptografi

Tujuan dari kriptografi yang juga merupakan aspek keamanan informasi adalah sebagai berikut (Rinaldi Munir, 2006) :

1. Kerahasiaan (confidentiality)

Kerahasiaan bertujuan untuk melindungi suatu informasi dari semua pihak yang tidak berhak atas informasi tersebut. Terdapat beberapa cara yang dapat digunakan untuk menjaga kerahasiaan suatu informasi, mulai dari penjagaan secara fisik misalnya menyimpan data pada suatu tempat khusus sampai dengan penggunaan algoritma matematika untuk mengubah bentuk informasi menjadi tidak terbaca.

2. Integritas data (data integrity)

Integritas data bertujuan untuk mencegah terjadinya pengubahan informasi oleh pihak-pihak yang tidak berhak atas informasi tersebut. Untuk menjamin integritas data ini kita harus mempunyai kemampuan untuk mendeteksi terjadinya manipulasi data oleh pihak-pihak yang tidak berkepentingan. Manipulasi data yang dimaksud di sini meliputi penyisipan, penghapusan, maupun penggantian data.

3. Otentikasi (authentication)

Otentikasi merupakan identifikasi yang dilakukan oleh masing – masing pihak yang saling berkomunikasi, maksudnya beberapa pihak yang berkomunikasi harus mengidentifikasi satu sama lainnya. Informasi yang didapat oleh suatu pihak dari pihak lain harus diidentifikasi untuk memastikan keaslian dari informasi yang diterima. Identifikasi terhadap suatu informasi dapat berupa tanggal pembuatan informasi, isi informasi, waktu kirim dan hal-hal lainnya yang berhubungan dengan informasi tersebut.

4. Non-repudiation

Non-repudiation berfungsi untuk mencegah terjadinya penyangkalan terhadap suatu aksi yang telah dilakukan oleh pelaku aksi itu sendiri. Jika terjadi penyangkalan maka diperlukan suatu prosedur yang melibatkan pihak ketiga untuk menyelesaikan masalah tersebut.

2.3 APLIKASI KRIPTOGRAFI

Kriptografi telah banyak digunakan di dalam aplikasi-aplikasi khususnya aplikasi pengamanan data pada saat sekarang ini. Aplikasi khas dari kriptografi adalah sistem yang dikembangkan dengan teknik dasar. Sistem seperti ini, dapat memiliki tingkat kompleksitas yang beraneka ragam. Beberapa aplikasi yang lebih sederhana antara lain , komunikasi yang aman, identifikasi, otentikasi, dan secret sharing. Aplikasi yang lebih rumit seperti sistem untuk electronic commerce (e-commerce), sertifikasi, electronic mail yang aman, penemuan kunci dan akses komputer yang aman. Secara umum, makin sederhana aplikasi makin cepat menjadi realita.

2.3.1 Komunikasi Aman (Secure Communication)

Komunikasi aman merupakan penggunaan kriptografi yang paling sederhana. Dua pihak dapat berkomunikasi secara aman dengan cara mengenkripsi pesan-pesan yang mereka kirimkan di antara mereka. Hal ini dapat dicapai sedemikian rupa sehingga pihak ketiga yang mendapat bocoran

(menyadap) pembicaraan antar kedua pihak tadi mungkin tidak pernah mengembalikan pesan dalam bentuk acak ke dalam bentuk yang berarti.

2.3.2 Identifikasi dan Otentikasi

Identifikasi dan otentikasi merupakan dua aplikasi kriptografi yang sangat banyak digunakan saat ini. Identifikasi adalah proses verifikasi identitas seseorang atau sesuatu. Sebagai contoh, ketika menarik uang dari bank dengan menggunakan kartu Automatic Teller Machine (ATM) dilengkapi dengan satu Personal Identification Number (PIN) yang rahasia yang memadukan pemilik kartu dengan kartu tersebut demikian juga dengan rekening yang bersangkutan.

Ketika kartu dimasukkan ke dalam mesin ATM, mesin tersebut akan meminta pengguna kartu untuk memasukkan PIN. Jika PIN yang dimasukkan benar, mesin akan mengidentifikasikan orang tersebut benar sebagai pemilik kartu sehingga kepada orang tersebut akan diberikan akses. Aplikasi penting lainnya dari kriptografi adalah otentikasi. Otentikasi mirip dengan indetifikasi, dimana keduanya memberikan kesempatan untuk akses ke dalam sumber daya tertentu misalnya Internet Account, tetapi otentikasi memiliki cakupan lebih luas karena tidak perlu mengidentifikasikan orang atau entity.

2.3.3 Secret Sharing

Menurut (Akhmad Mukhlis, 2011

)

, Secret Sharing merupakan salah satu aplikasi dari kriptografi yang memungkinkan pendistribusian satu rahasia di antara sekumpulan orang yang tidak saling mempercayai. Skema secret sharing merupakan sebuah protokol multi-party yang berhubungan dengan penyediaan kunci. Adapun latar belakang dari dibuatnya secret sharing adalah: untuk menjamin kunci kriptografi agar tidak hilang, maka dibuatlah sebuah salinan sebagai back up-nya. Dimana semakin banyak salinan yang dibuat, maka semakin besar pula resikonya. Disisi lain, jika salinan yang dibuat sedikit maka resiko kunci hilang juga akan semakin besar. Dari masalah ini, maka skema secret sharing dibuat untuk mempertinggi reliabilitas tanpa menambah resiko. skema secret sharing bisa jadi merupakan sebuah skema sharing control jika input yang di-share dari dua atau lebih entitas dibutuhkan utuk memungkinkan dilakukan

critical action (mungkin proses recovery kunci menjadi pemicu dari action ini, atau mungkin juga proses recovery itu sendiri yang menjadi critical action).

Dalam sembarang secret sharing scheme, terdapat kumpulan orang yang terpilih yang informasi kumulatif mereka cukup untuk memecahkan rahasia.

Dalam beberapa implementasi secret sharing schemes, setiap partisipan menerima rahasia setelah rahasia dimaksud dihasilkan. Dalam implementasi lain, rahasia sebenarnya tidak pernah dibuat kelihatan kepada partisipan, walaupun akses diberikan untuk mendapatkan rahasia tersebut diberikan (misalnya akses ke dalam ruangan atau izin untuk melakukan proses).

2.3.4 Sertifikasi (Certification)

Sertifikasi merupakan salah satu aplikasi lainnya dari kriptografi.

Sertifikasi adalah sebuah skema dimana pihak yang dipercayai seperti penguasa atau pihak yang berwenang mengeluarkan sertifikat untuk pihak lain. Pihak yang dipercayai mengeluarkan kupon (vouchers) yang disebut sertifikat yang memiliki sejumlah arti yang mendalam, misalnya nomor ijazah. Teknologi sertifikasi dikembangkan untuk identifikasi dan otentikasi dimungkinkan dalam skala besar.

2.3.5 Penemuan Kunci (Key Recovery)

Penemuan kunci adalah suatu teknologi yang memungkinkan sebuah kunci ditemukan dalam kondisi tertentu tanpa pemilik memberitahukan. Ini perlu untuk dua alasan, pertama, jika pemilik kunci menghilangkan atau secara tidak sengaja menghapus kuncinya, penemuan kunci dapat menghindarkan malapetaka. Kedua, jika aparat penegak hukum ingin mengetahui suatu tindak kriminal tanpa sepengetahuan tersangka, aparat tersebut harus mampu mendapatkan kunci yang diinginkan. Teknik penemuan kunci sudah banyak digunakan saat ini, akan tetapi, penggunaan teknik ini dalam hal penegakan hukum telah menimbulkan kontroversi.

2.4 JENIS-JENIS KRIPTOGRAFI

Berdasarkan kunci yang dipakai untuk enkripsi dan dekripsi, kriptografi dapat dibedakan atas dua golongan, yaitu :

1. Kriptografi Kunci Simetris (symmantric key cryptography ) 2. Kriptografi Kunci Asimetris (Asymmetric key cryptography) 2.4.1 Kriptografi Kunci Simeteris

Algoritma kriptografi kunci simeteris atau disebut juga algoritma kriptografi konvensioanal adalah algoritma yang menggunakan kunci untuk proses enkripsi sama dengan kunci yang digunakan untuk melakukan proses dekripsi (Iswanti Suprapti, 2003).

Algoritma kriptografi simeteris dibagi menajdi 2 kategori yaitu algoritma aliran (Stream Ciphers) dan algoritma blok (Block Ciphers). Pada algoritma aliran, proses penyandiannya berorientasi pada satu bit atau satu byte data. Sedang pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok). Contoh algoritma kunci simetris yang terkenal adalah DES (Data Encryption Standard), IDEA (International Data Encryption Algorithm).

Metode yang paling umum untuk kriptografi kunci rahasia adalah block ciphers, stream ciphers, Desain Cipher.

2.4.1.1 Block Cipher

Block cipher adalah bentuk algoritma enkripsi kunci simetri yang mentransformasikan satu blok data tertentu dari plaintext ke dalam satu blok data ciphertext dengan panjang blok yang sama. Transformasi ini berlangsung melalui penggunaan kunci rahasia yang disediakan oleh pemakai (user). Dekripsi dilakukan dengan menggunakan transformasi kebalikan terhadap blok ciphertext menjadi satu blok plaintext dengan kunci dan panjang blok yang sama. Panjang blok tertentu disebut ukuran blok (block size) dimana ukuran blok tersebut bervariasi misalnya 16 bit, 32 bit, 64 bit, 128 bit atau 256 bit tergantung dari teknik yang digunakan dan perkembangan kemampuan mikroprosesor selanjutnya.

Karena blok plaintext yang berbeda dipetakan ke blok ciphertext yang berbeda (untuk memungkinkan dekripsi yang unik), suatu block cipher secara efektif menyediakan satu permutasi (korespondensi satu ke banyak) dari set pesan yang mungkin. Permutasi berpengaruh pada saat enkripsi tertentu yang sudah

pasti rahasia, karena permutasi tersebut adalah fungsi dari kunci rahasia. Jika kita menggunakan satu block cipher untuk mengenkrip satu pesan dengan panjang sembarang, kita menggunakan teknik yang dikenal sebagai modus operasi untuk block cipher tersebut. Agar dapat berguna, satu modus operasi setidak-tidaknya seefisien dan seaman cipher fundamental. Teknik enkripsi mungkin memiliki sifat-sifat tambahan terhadap sifat-sifat dasar yang dimiliki teknik biasa. Teknik standard DES telah dipublikasi dalam berbagai publikasi. Versi standard yang lebih umum menggabungkan 4 modus operasi dari DES untuk dapat diaplikasikan terhadap block cipher dengan ukuran blok sembarang.

2.4.1.2 Stream Cipher

Merupakan jenis algoritma enkripsi simetri yang mentransformasikan data secara karakter per karakter. Stream ciphers dapat dibuat sangat cepat sekali, jauh lebih cepat dibandingkan dengan algoritma block cipher yang manapun.

Sementara algoritma block cipher secara umum digunakan untuk unit plaintext yang berukuran besar sedangkan stream cipher digunakan untuk blok data yang lebih kecil, biasanya ukuran bit. Proses enkripsi terhadap plaintext tertentu dengan algoritma block cipher akan menghasilkan ciphertext yang sama jika kunci yang sama digunakan. Dengan stream cipher, transformasi dari unit plaintext yang lebih kecil ini berbeda antara satu dengan lainnya, tergantung pada kapan unit tersebut ditemukan selama proses enkripsi.

Suatu stream cipher akan menghasilkan apa yang disebut suatu keystream yaitu suatu barisan bit yang digunakan sebagai kunci. Proses enkripsi dicapai dengan menggabungkan keystream dengan plaintext biasanya dengan operasi bitwise XOR.

2.4.1.3 Desain Cipher

Terdapat dua prinsip dasar untuk menghasilkan cipher yang aman, yaitu confusion dan diffusion. Tanpa memperhatikan hal ini, cipher kita mungkin akan sangat mudah dipecahkan sandinya.

Confusion berarti mengaburkan hubungan antara plaintext dan ciphertext.

Ini akan membuat frustasi usaha untuk mencari keteraturan dan pola statistik

antara plaintext dan ciphertext. Cara paling mudah untuk melakukan hal ini adalah dengan substitusi. Substitusi modern menggunakan cara yang sangat komplek.

Namun cara ini belum cukup. Cipher Jerman, Enigma, yang menggunakan algoritma substitusi yang komplek dipecahkan oleh Sekutu dalam perang dunia kedua.

Dimana diffusion berarti menghilangkan redundansi plaintext dengan menyebarkan masukan ke seluruh ciphertext. Diperlukan waktu yang lebih lama untuk memecahkan sandi rahasia ini, bila diffusion digunakan. Cara paling mudah untuk melakukan diffusion adalah transposisi atau permutasi. Dalam dunia kriptografi modern, confusion dan diffusion ini dilakukan secara sangat intensif dengan bantuan komputer.

2.4.2 Kriptografi Kunci Asimetri

Algoritma kriptografi asimetri adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Algoritma ini disebut juga algoritma kunci umum (public key algorithm) karena kunci untuk enkripsi dibuat umum (public key) atau dapat diketahui oleh setiap orang, tapi kunci untuk dekripsi hanya diketahui oleh orang yang berwenang mengetahui data yang disandikan atau sering disebut kunci pribadi (private key), (Iswanti Suprapti, 2003).

Kriptografi kunci publik diperkenalkan oleh Whitfield Diffie dan Martin Hellman pada tahun 1976. Kriptografi kunci publik memiliki dua penggunaan utama, yakni enkripsi dan tanda tangan digital (encryption and digital signatures).

Dalam sistem kriptografi kunci publik, masing-masing pihak mendapat sepasang kunci, satu disebut kunci publik (public key) dan satu lagi disebut kunci rahasia (private key). Kunci publik dipublikasikan, sementara kunci rahasia tetap dirahasiakan. Keharusan penggunaan kunci secara bersama antara pengirim dan penerima pesan rahasia dihilangkan, semua komunikasi hanya melibatkan kunci publik, dan tidak ada kunci rahasia yang ditransmisikan atau digunakan bersama.

Dalam sistem ini, tidak ada lagi kecurigaan terhadap keamanan dari sistem komunikasi. Satu-satunya kebutuhan bahwa kunci publik dikaitkan dengan

penggunanya dalam lingkup yang saling mempercayai (contoh dalam suatu trusted directory). Seseorang dapat mengirimkan pesan rahasia dengan hanya menggunakan informasi yang umum (kunci publik), tetapi pesan tersebut hanya mungkin didekrip dengan menggunakan kunci rahasia, dimana satu-satunya yang memiliki kunci rahasia tersebut hanyalah orang yang diharapkan menerima pesan tersebut. Kriptografi kunci publik tidak hanya digunakan untuk merahasiakan pesan, tetapi juga untuk otentikasi (tanda tangan digital) dan teknik lainnya.

Dalam kriptografi kunci publik, kunci rahasia selalu berhubungan secara matematis terhadap kunci publik. Oleh karena itu, selalu dimungkinkan untuk menembus (menyerang) sistem kunci publik dengan menurunkan kunci rahasia dari kunci publik. Biasanya, cara untuk menangkal kemungkinan tersebut adalah membuat sesulit mungkin untuk menghasilkan kunci privat dari kunci publik.

Sebagai contoh, beberapa kriptosistem kunci publik dibuat sedemikian hingga penurunan kunci rahasia (privat) dari kunci publik mengharuskan penyerang melakukan faktorisasi terhadap bilangan yang sangat besar, dalam hal ini sangat sulit untuk melakukan penurunan. Inilah ide di belakang RSA public-key cryptosystem. Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA dan ECC.

Gambar 2.2 Proses Enkripsi/Dekripsi Public Key Cryptography

2.5 LANDASAN MATEMATIKA KRIPTOGRAFI 2.5.1 Aritmatika Modulo

Aritmatika modular merupakan operasi matematika yang banyak diimplementasikan pada metode kriptografi. Pada metoda IDEA, operasi aritmetika modular yang dipakai adalah operasi penjumlahan modulo 216 dan

Enkripsi Dekripsi

Plaintext Chipertext Plaintext

Kunci Umum Kunci Pribadi

operasi perkalian modulo 216+1. Operasi modulo ini melibatkan bilangan 0 dan 1 saja sehingga identik dengan bit pada komputer.

Contohnya:

(65530 + 10) mod 216 = 65540 mod 65536 = 4

(32675 * 4) mod (216 + 1) = 131060 mod 65537 = 65523 2.5.2 Invers Perkalian

Inverse perkalian yang digunakan pada metode IDEA tidak seperti inverse pada operasi perkalian dalam matematika. Inverse perkalian ini tidak dapat dijelaskan secara matematis, tetapi dengan menggunakan algoritma berikut ini :

Fungsi Inverse(A As Double) As Double n = 65537

G0 = n G1 = A V0 = 0 V1 = 1

While (G1 <> 0) Y = Int(G0 / G1) G2 = G0 - Y * G1 G0 = G1

G1 = G2

V2 = V0 - Y * V1 V0 = V1

V1 = V2 Wend

If (V0 >= 0) Then Inverse = V0 Else

Inverse = V0 + n End If

End Fungsi

Contoh:

Misalkan untuk A = 3265, maka proses kerjanya adalah sebagai berikut :

n = 65537 GO = 65537

G1 = 3265 VO = 0 V1 = 1

While 3265 <> 0 --> BENAR Y = Int(65537/3265) = 20

G0 = 25 G1 = 3

V2 = -281 - 2*1104 = -2489 V0 = 1104

V1 = -2489

While 3 <> 0 --> BENAR Y = Int(25/3) = 8 G2 = 25 - 8 * 3 = 1 G0 = 3

G1 = 1

V2 = 1104 - 8*-2489 = 21016 V0 = -2489

V1 = 21016

While 1 <> 0 --> BENAR Y = Int(3/1) = 3

G2 = 3 - 3 * 1 = 0 G0 = 1

G1 = 0

V2 = -2489 - 3*21016 = -65537 V0 = 21016

V1 = -65537

While 0 <> 0 --> SALAH, MAKA KELUAR DARI LOOPING.

If (21016 >= 0) --> BENAR Invers = 21016

Jadi inverse perkalian dari 3265 adalah 21016.

Jadi inverse perkalian dari 3265 adalah 21016.

Dokumen terkait