Sunday, July 3, 2016

APLIKASI KRIPTOGRAFI RSA MELALUI LAN MENGGUNAKAN C#.NET



ABSTRAK

Pada penulisan penelitian ini penulis mencoba untuk membuat suatu aplikasi
kriptografi dengan implementasi pada jaringan Local Area Network. Pembuatan aplikasi ini menggunakan bahasa pemrograman C#.NET. Aplikasi ini terdiri dari tiga menu yaitu menu utama sebagai tampilan awal dari program, menu kedua berupa menu untuk melakukan kriptografi sedangkan menu ketiga untuk melakukan pengkoneksian. Sehingga melalui jaringan Local Area Network dengan kelas yang sama.

Kata Kunci : Aplikasi, Cryptografi, C#.NET, Local Area Network.





















PENDAHULUAN
Teknologi yang begitu pesat membuat penggunaan komputer menjadi sangat
penting hal ini juga diikuti oleh berkembangnya telekomuninkasi, salah satunya
internet. Melalui internet kita dapat mengenal dunia luar dengan cepat, namun internet
memiliki beberapa kekurangan salah satunya adalah keamanan data sehingga
menimbulkan tantangan dan tuntutan akan tersedianya suatu sistem pengamanan data
yang sama canggihnya dengan kemajuan teknologi komputer itu sendiri.
Salah satu pencegahan yang daoat kita buat adalah menggunakan aplikasi
bebbasiskan kriptografi. Banyak orang yang terasa asing dengan kata kriptografi, padahal kata ini sering digunakan dalam penggunaan jaringan komputer. Mungkin sudah banyak yang pernah membuat proyek seperti ini dengan alagoritma yang berbeda-beda. Namun pada aplikasi ini algoritma yang digunakan adalah RSA dengan menggunakan C#.NET yang diimplementasikan pada jaringan LAN. Apilkasi ini hanya berupa kriptografi yang digunakan pada tulisan.

TINJAUAN PUSTAKA
Penelitian ini menunjukkan bahwa kriptografi merupakan sebuah aplikasi yang
dapat digunakan dalam pengamanan data. Banyak algoritma yang dapat digunakan dalam kriptografi saah satunya adalah RSA.

METODE PENELITIAN
Data yang dan dalam penelitian dapat beragam data, namun data tersebut harus
berupa teks. Metode yang digunaliteratir melihat kan adalah metode literatur yaitu
penulis dalam membuat program.







PEMBAHASAN
Kriptografi dalam sejarahnya tercatat dipergunakan secara terbatas oleh bangsa
Mesir 4000 tahun lalu. Kriptografi (Cryptography) berasal dari dua kata yaitu “Crypto & graphy” yang dalam sudut bahasa “Crypto” dapat diartikan rahasia (secret) dan “graphy” dapat diartikan tulisan (writing) jadi Kriptografi (Cryptography) dapat diartikan sebagai suatu ilmu atau seni untuk mengamankan pesan agar aman dan dilakukan oleh “Cryptographer”. Sebuah pesan yang tidak disandikan atau dienkripsi disebut sebagai plaintext atau disebut juga sebagai cleartext. Sedangkan pesan yang telah disandikan dengan sebuah algoritma kriptografi disebut sebagai ciphertext.Proses untuk mengubah plaintext ke chipertext disebut encryption atau encipherment. Sedang proses mengubah chipertext ke plaintext disebut decryption atau decipherment.
Fasilitas untuk mengkonversikan sebuah plaintext ke ciphertext atau sebaliknya
disebut Cryptographic system atau Cryptosystem dimana sistem tesebut terdiri dari
algoritma–algorima tertentu yang tergantung pada sistem yang digunakan. Algoritma
kriptografi (cryptographic algorithm) disebut cipher yang merupakan persamaan
matematik yang digunakan dalam proses enkripsi dan deskripsi dimana proses tersebut
diatur oleh satu atau lebih kunci kriptografi. Kunci-kunci tersebut secara umum
digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung sistem yang digunakan.
Proses enkrisi dan deskrisi secara matematis diterangkan sebagai berikut :
EK (M) = C (Proses Enkripsi)
DK (C) = M (Proses Deskripsi)
Keterangan :
EK : Enkripsi.
DK : Deskripsi.
M : Message (Pesan sebelum dienkripsi).
C : Cipher (Pesan setelah dienkrisi).
Secara umum algoritma kriptografi diciptakan oleh orang yang berpengalaman
dalam bidang keamanan data dan mungkin pernah membuka sebuah algoritma kriptografi
tanpa bantuan kunci. Pelaku yang melakukan tindakan memecahkan ciphertext tanpa
bantuan kunci disebut Crytpanalyst. Sedangkan Ilmu dan seni membuka (breaking)
ciphertext tanpa bantuan kunci disebut Cryptanalysis.
Tujuan Kriptografi
Beberapa fungsi yang ada dari penggunaan kriptografi adalah sebagai berikut :
1. Melindungi data agar tidak dapat dibaca oleh orang-orang yang tidak berhak.
2. Mencegah agar orang-orang yang tidak berhak, menyisipkan atau mengahapus data.
Sedangkan tujuan dari sistem kriptografi adalah sebagai berikut :
1. Confidentiality
Memberikan kerahasiahan pesan dan menyimpan data dengan menyembunyikan informasi lewat teknik-teknik enkripsi.
2. Message Integrity
Memberikan jaminan untuk tiap bagian bahwa pesan tidak akan mengalami
perubahan dari saat ia dibuat sampai saat ia dibuka.
3. Non-repudiation
Memberikan cara untuk membuktikan bahwa suatu dokumen datang dari seseorang
apabila ia mencoba menyangkal memiliki dokumen tersebut.
4. Authentication
Memberikan dua layanan. Pertama mengidentitifikasi keaslian suatu pesan dan
memberikan jaminan keontentikannya. Kedua untuk menguji identitas seseorang
apabila ia akan memasuki sebuah sistem.
Kategori Kriptografi
Terdapat tiga kategori enkripsi yaitu :
1. Kunci enkripsi rahasia, dalam hal ini terdapat sebuah kunci yang digunakan untuk
mengikrisi dan juga sekaligus mendeskripsikan informasi.
2. Kunci enkripsi public, dalam hal ini terdapat dua kunci yang digunakan, satu untuk
proses enkripsi, satu lagi untuk proses deskripsi.
3. Fungsi one-way, dimana informasi dienkripsi untuk menciptakan “signature” dari
informasi asli yang bisa digunakan untuk keperluan autentifikasi
Teknik Enskripsi
Dalam Cryptosystem menurut teknik enkripsinya dapat digolongkan menjadi dua buah,
yaitu :
Symmetric Cryptosystem ( Enkripsi Konvensional)
Dalam symmetric cryptosystem,kunci yang digunakan dalam proses enkripsi dan
dekripsi adalah sama atau pada prinsipnya identik. Kunci ini pun bisa diturunkan dari
kunci lainnya. Oleh karena itu sistem ini sering disebut secret-key ciphersystem.
Jumlah kunci yang dibutuhkan umumnya adalah :
nC2= n.(n-1)
--------
2
Dimana n adalah banyaknya pengguna.
Kunci yang menggunakan teknik enkripsi ini harus betul-betul dirahasiakan.
Gambar 1 : Konsep Kriptografi
Sumber : Dwi Kusuma Ningrum 2009

Assymmetric Cryptosystem (Enkripsi public-key)
Dalam Assymmetric cryptosystem,kunci yang digunakan terdapat dua buah. Satu
kunci yang dapat dipublikasikan deisebut kunci publik (public key), satu lagi kunci yang
harus dirahasiakan disebut kunci privat (private key). Secara sedehana proses tersebut
diterangkan sebagai berikut :
- A mengirimkan pesan kepada B.
- A menyandikan pesannya dengan menggunakan kunci publik B.
- Bila B ingin membaca pesan dari A, ia harus menggunakan kunci privatnya
untuk mendekripsikan pesan yang tersandikan itu.
Gambaran proses enkripsi public-key :
Gambar 2 : Kriptograf Assymetric
Sumber : Dwi Kusuma Ningrum 2009
RSA
Dari sekian banyak algoritma kunci publik yang pernah dibuat, algoritma yang
paling populer adalah algoritma RSA. Algoritma RSA dibuat oleh 3 orang peneliti dari
MIT\ (Massachusetts Institute of Technology) pada tahun 1976, yaitu: Ron (R)ivest, Adi
(S)hamir, dan Leonard (A)dleman. Keamanan algoritma RSA terletak pada sulitnya
memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan
untuk memperoleh kunci privat. Selama pemfaktoran bilangan besar menjadi faktor-faktor prima belum ditemukan algoritma yang mangkus, maka selama itu pula keamanan algoritma RSA tetap terjamin.
Algoritma RSA
Algoritma RSA memiliki besaran-besaran sebagai berikut:
1. p dan q, bilangan prima (rahasia)
2. n = p . q (tidak rahasia)
3. Φ(n) = (p-1)(q-1) (rahasia)
4. e (kunci enkripsi ) (tidak rahasia)
5. d (kunci dekripsi) (rahasia)
6. m (plainteks) (rahasia)
7. c (chiperteks) (tidak rahasia)
Perumusan Algoritma RSA
Algoritma RSA didasarkan pada teorema Euler yang menyatakan bahwa
aΦ(n) ≡ 1 (mod n) (1)
dengan syarat:
1. a harus relatif prima terhadap n
2. Φ(n) = n(1 - 1/p1)(1 - 1/p2)…(1 -1/pr), yang dalam hal ini p1, p2, p3,…,pr
adalah faktor prima dari n.Φ(n) adalah fungsi yang menentukan berapa banyak dari
bilangan-bilangan 1, 2, 3, …, n yang relatif prima terhadap n.
Berdasarkan sifat ak ≡ bk (mod n) untuk k nilangan bulat ≥ 1, maka persamaan (1) di atas dapat ditulis menjadi
akΦ(n) ≡ 1k (mod n) (2)
atau
akΦ(n) ≡ 1 (mod n) (3)
Bila a diganti dengan m, maka persamaan (3) dapat ditulis menjadi
mkΦ(n) ≡ 1k (mod n) (4)
Berdasarkan sifat ac ≡ bc (mod n) maka bila persamaan (4) dikalikan dengan m menjadi
mkΦ(n)+1 ≡ m (mod n) (5)
yang dalam hal ini relatif prima terhadap n. Misalkan e dan d dipilih sedemikian sehingga
e . d ≡ 1 (mod Φ(n)) (6)
atau
e . d ≡ kΦ(n) + 1 (7)
Sulihkan persamaan (7) ke dalam persamaan (5) menjadi
me . d ≡ m (mod n) (8)
Persamaan (8) dapat ditulis kembali menjadi
(me) d ≡ m (mod n) (9)
yang artinya, perpangkatan m dengan e diikuti dengan perpangkatan dengan d
menghasilkan kembali m semula. Berdasarkan persamaan (9), maka enkripsi dan dekripsi dirumuskan sebagai berikut:
Ee(m) ≡ c ≡ me mod n (10)
Dd(c) ≡ m ≡ cd mod n (11)
Karena e . d = d . e, maka enkripsi diikuti dengan dekripsi ekivalen dengan dekripsi
diikuti enkripsi:
Dd(Ee(m)) = Ee(Dd(m)) = md mod n (12)
Oleh karena md mod n ≡ (m + jn)d mod n untuk sembarang bilangan bulat j, maka tiap
plainteks m, m +n, m + 2n, …, menghasilkan cipher yang sama. Dengan kata lain,
transformasinya dari banyak ke satu. Agar transformasinya satu ke satu, maka m harus
dibatasi dalam himpunan {0, 1, 2, …, n-1} sehingga enkripsi dan dekripsi tetap benar
seperti dalam persamaan (10) dan (11).
Algoritma Membangkitkan Pasangan Kunci
Algoritma Membangkitkan Pasangan Kunci
1. Pilih dua buah bilangan prima sembarang, p dan q.
2. Hitung n = p . q (sebaiknya p ≠ q,sebab jika p = q maka n = p2 sehingga p dapat
diperoleh dengan menarik akar pangkat dua dari n).
3. Hitung Φ(n) = (p-1)(q-1).
4. Pilih kunci publik, e, yang relatif prima terhadap Φ(n).
5. Bangkitkan kunci privat dengan menggunakan persamaan (6), yaitu e .d ≡ 1 (mod
Φ(n)).
Perhatikan bahwa e . d ≡ 1 (mod Φ(n)) ekivalen dengan e . d = 1 + kΦ(n), sehingga
secara sederhana d dapat dihitung dengan
Hasil dari algoritma di atas adalah:
1. Kunci publik adalah pasangan (e,n)
2. Kunci privat adalah pasangan (d,n) N tidak bersifat rahasia, sebab ia diperlukan pada
perhitungan enkripsi/dekripsi.
2.6.4 Algoritma Enkripsi/Dekripsi


Enkripsi:
1. Ambil kunci publik penerima pesan, e, dan modulus n.
2. Nyatakan plainteks m menjadi blokblok m1, m2, …, sedemikian sehingga setiap blok
merepresentasikan nilai di dalam selang [0, n-1].
3. Setiap blok mi dienkripsi menjadi blok ci denagn rumus ci = mi e mod n.
Dekripsi:
1. Setiap blok chiperteks ci didekripsi kembali menjadi blok mi dengan rumus mi =
ci d mod n.
Local Area Network
LAN pada mulanya dikembangkan oleh Universitas Hawai, dan digunakan untuk
komunikasi antar pulau di Kepulauan Hawai. Pada saat itu, yang digunakan sebagai
media adalah udara, dengan kata lain nirkabel. Kemudian, media udara tersebut diganti
dengan kabel, dan jadilah LAN yang ada sekarang ini.
LAN diperkenalkan secara komersial pertama kali pada tahun 1980 oleh
perusahaan Amerika Zerox, yang kemudian bergabung dengan Intel. Untuk kemudahan
pemakaian, ditetapkan standar-standar untuk LAN, antara lain protokol-protokol. Untuk
menyesuaikan dengan standar Network, pembagian layer pada LAN disejajarkan dengan tingkat fisik dan tingkat datalink. Terlebih lagi, tingkatan datalink dibagi ke dalam subtingkatan MAC(media access control) dan LLC(logical link control).
Pengertian dan Prinsip Kerja Local Area Network
Local Area Network (LAN),adalah jaringan yang dibatasi oleh area yang relatif
kecil, umumnya dibatasi oleh area lingkungan, seperti sebuah kantor pada sebuah
gedung, atau tiap-tiap ruangan pada sebuah sekolah. Biasanya jarak antar node tidak lebih jauh dari sekitar 200m. LAN dapat definisikan sebagai network atau jaringan sejumlah sistem komputer yang lokasinya terbatas didalam satu gedung, satu kompleks gedung atau suatu kampus dan tidak menggunakan media fasilitas komunikasi umum seperti telepon, melainkan pemilik dan pengelola media komunikasinya adalah pemilik LAN itu sendiri. Dari definisi diatas dapat kita ketahui bahwa sebuah LAN dibatasi oleh lokasi secara fisik. Adapun penggunaan LAN itu sendiri mengakibatkansemua komputer yang terhubung dalam jaringan dapat bertukar data atau dengan kata lain berhubungan.
Kerjasama ini semakin berkembang dari hanya pertukaran data hingga penggunaan
peralatan secara bersama. LAN yang umumnya menggunakan hub, akan mengikuti
prinsip kerja hub itu sendiri. Dalam hal ini adalah bahwa hub tidak memiliki
pengetahuantentang alamat tujuan sehingga penyampaian data secara broadcast, dan juga karena hub hanya memiliki satu domain collision sehingga bila salah satu port sibuk maka port-port yang lain harus menunggu.
HASIL
Hasil dari aplikasi ini dapat dilihat berikut ini :
1.     Pembukaan dari program seperti di bawah ini :
Gambar 3 : Tampilan Form Utama
Sumber : Dwi Kusuma Ningrum 2009
2.     Setelah itu pilihlah button Cryptography kemudian muncul Form seperti si bawah ini :
Gambar 4 : Tampilan Form Crypthography
Sumber : Dwi Kusuma Ningrum 2009

3.     Memilih button export public and private key ini dimaksudkan agar kiata memiliki key untuk private dan public key

Gambar 5 : Tampilan Jika memilih Export Public and Private key
Sumber : Dwi Kusuma Ningrum 2009


Gambar 6 : Tampilan memilih Make New Folder
Sumber : Dwi Kusuma Ningrum 2009

4.     memilih button browse untuk public key, kemudian cari pubilc key yang digunakan
Gambar 7 : Tampilan Mengambil Public Key
Sumber : Dwi Kusuma Ningrum 2009
5. isilah plain teksnya
6. klik button encryption

Gambar 8 : Tampilan Form Crypthography Dijalankan
Sumber : Dwi Kusuma Ningrum 2009

7. pilih connect ntuk mengkoneksi
8. masukkan ip addressnya
Gambar 9 : Tampilan Form Connect
Sumber : Dwi Kusuma Ningrum 2009


Gambar 10 : Tampilan Form Connect saat dijalankan
Sumber : Dwi Kusuma Ningrum 2009















9. kembali ke form kriptografi untuk mengembalikan teksnya

Gambar 11 : Tampilan Form Crypthography saat dipilih dari form connect
Sumber : Dwi Kusuma Ningrum 2009




10. ambil private key dengan menekan button browse

Gambar 12 : Tampilan mengambil Private Key
Sumber : Dwi Kusuma Ningrum 2009












11. klik Decrypt untuk mengembalikan teks

Gambar 13 : Tampilan Form Crypthography saat di deskripsi
Sumber : Dwi Kusuma Ningrum 2009






KESIMPULAN
Aplikasi kriptografi merupakan hal yang baru dikenal oleh sebagian orang, namun
bagi orang yang bekerja pada bagian keamana data hal ini bukanlah suatu hal yang asing lagi pada zaman sekarang ini, apalagi didukung dengan tekhnologi yang berkembang semakin pesat khususnya di bidang teknologi informatika. Banyak jenis kriptografi yang dapat digunakan dalam pembuatan kriptografi, seperti kriptografi DES, Blowfish, MD5, RSA dan lainnya yang dapat dibuat dengan menggunakan berbagai macam jenis bahasa pemrogrman yang ada.
Dengan menggunakan bahasa pemrograman C#.NET, penulis membuat suatu
Aplikasi kriptografi. Aplikasi ini merupakan aplikasi sederhana yang dibuat untuk
membuat kriptografi lebih mudah digunakan. Kriptografi yang dgunakan adalah
kriptografi RSA dengan menggunakan sepasang kunci sehingga keamanan data lebih
terjamin,selain itu aplikasi ini dapat digunakan untuk pengiriman data melalui jaringan
LAN. Penulis memilih bahasa pemrograman C#.NET karena memiliki fasilitas-fasilitas
yang mendukung dan mempermudah dalam pembuatan aplikasi tersebut. Hal ini tidak
terlepas juga dengan referensi yang didapat oleh penulis. Selain itu spesifikasi komputer
yang dibutuhkan untuk instalasi bahasa ini tidaklah terlalu besar. Oleh karena itu penulis menggunakan bahasa pemrograman C#.NET.


SARAN
Program yang terdapat dalam aplikasi ini masih sederhana dan masih terdapat
banyak kekurangan, terutama dalam hal enskripsi dan deskripsi data. Dalam pengembangan selanjutnya, program ini memungkinkan untuk pembuatan aplikasi yang
lebih lengkap lagi dari yang penulis buat. Oleh karena itu saran dari semua pihak sangat
penulis harapkan untuk memperbaiki ataupun mengembangkan aplikasi ini lebih lanjut.





DAFTAR PUSTAKA
Rinaldi Munir, Kriptografi, Informatika, Jakarta, 20 Oktober 2006
Anonim, Crypthography.html, http://www.wikipedia.com, Indonesia, 8 Agustus 2008
Anonim, Kriptografi.html, http://www.google.com, Indonesia, 20 Agustus 2008
Anonim, socket_TCP/IP.html, http://www.google.com, Indonesia, 30 Agustus 2007
Anonim, Kriptografi Kunci Public.pdf, http://www.google.com, Indonesia, 2 September
2008
Anonim, Sejarah LAN.doc ://www.google.com, Indonesia, 2 Desember 2008
Anonim, IP Adress.html://www.wikipedia.com, Indonesia, 2 Desember 2008

No comments:

Post a Comment