Mengenai Saya

Foto saya
Baik,Bawell,Ceria,terkadang suka jutek..

Rabu, 23 Maret 2011

kriptograpi Asimetris












Kriptografi Kunci Simetri dan Asimetri
Berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan lagi menjadi kriptografi kunci simetri dan kriptografi kunci asimetri. Pada sistem kriptografi kunci simetri, kunci untuk enkripsi sama dengan kunci untuk dekripsi. Jika kunci untuk enkripsi tidak sama dengan kunci untuk dekripsi, maka dinamakan sistem kriptografi asimetri.

Sistem Kriptografi
Kriptografi (Cryptography) adalah seni dan ilmu tentang cara-cara menjaga kemanan [1]. Istilah-istilah yang digunakan dalam bidang kriptografi antara lain :

a. Plainteks, merupakan data atau pesan asli yang ingin dikirim.
b. Cipherteks, merupakan data hasil enkripsi.
c. Enkripsi, merupakan proses untuk mengubah plainteks menjadi chiperteks.
d. Deskripsi, merupakan proses untuk mengubah chiperteks menjadi plainteks atau pesan asli.
e. Key(Kunci), suatu bilangan yang dirahasiakan, dan digunakan untuk proses enkripsi dan deskripsi.
Pada intinya Kriptosistem (Cryptosystem) adalah sistem kriptografi yang meliputi algoritma, plainteks, cipherteks, dan key (kunci). Namun setiap teknologi tentu memiliki kelemahan. Kriptanalisis (Cryptanalysis) adalah ilmu dan seni dalam membuka ciphertext dengan memanfaatkan kelemahan yang ada pada kriptosistem tersebut berdasar Kriptologi (Ilmu matematika yang melatarbelakangi ilmu kriptografi dan ilmu kriptanalisis). Secara umum, kriptografi terdiri dari dua buah bagian utama yaitu bagian enkripsi dan bagian dekripsi. Enkripsi adalah proses transformasi informasi menjadi bentuk lain sehingga isi pesan yang sebenarnya tidak dapat dipahami, hal ini dimaksudkan agar informasi tetap terlindung dari pihak yang tidak berhak menerima. Sedangkan dekripsi adalah proses kebalikan enkripsi, yaitu transformasi data terenkripsi ke data bentuk semula. Proses transformasi dari plainteks menjadi cipherteks akan dikontrol oleh kunci. Peran kunci sangatlah penting, kunci bersama-sama dengan algoritma matematisnya akan memproses plainteks menjadi cipherteks dan sebaliknya. Adapun blok proses enkripsi-dekripsi secara umum dapat kita lihat pada gambar di bawah ini

Secara matematis sederhana, proses enkripsi-dekripsi dapat dituliskan dengan persamaan sebagai berikut :

Dimana :
m = message / plainteks
c = cipherteks
D = fungsi Dekripsi
d = kunci dekripsi
E = fungsi Enkripsi
e = kunci enkripsi

Dari dua persamaan diatas dapat ditulis

Sehingga terlihat pesan yang telah tersandi dapat dikembalikan menjadi pesan semula.

Algoritma Kriptografi Asimetris

Algoritma asimetrik disebut juga algoritma kunci publik. Disebut kunci publik karena kunci yang digunakan pada proses enkripsi dapat diketahui oleh orang banyak[1] tanpa membahayakan kerahasiaan kunci dekripsi, sedangkan kunci yang digunakan untuk proses dekripsi hanya diketahui oleh pihak yang tertentu (penerima). Mengetahui kunci publik semata tidak cukup untuk menentukan kunci rahasia. Pasangan kunci publik dan kunci rahasia menentukan sepasang transformasi yang merupakan invers satu sama lain, namun tidak dapat diturunkan satu dari yang lain. Dalam sistem kriptografi kunci publik ini, proses enkripsi dan dekripsi menggunakan kunci yang berbeda, namun kedua kunci tersebut memiliki hubungan matematis (karena itu disebut juga sistem asimetris). Adapun proses kriptografi asimetris secara umum dapat kita lihat pada Gambar
Gambar 2.3 Proses Kriptografi Asimetris
Algoritma kunci asimetris memiliki beberapa kelebihan dan kekurangan, yakni:
Kelebihan :
  1. Masalah keamanan pada distribusi kunci dapat diatasi.
  2. Manajemen kunci pada suatu sistem informasi dengan banyak pengguna menjadi lebih mudah, karena jumlah kunci yang digunakan lebih sedikit.
  3.  
Kekurangan :
  1. Kecepatan proses algoritma ini tergolong lambat bila dibandingkan dengan algoritma kunci simetris.
  2. Untuk tingkat keamanan yang sama, rata-rata ukuran kunci harus lebih besar bila dibandingkan dengan ukuran kunci yang dipakai pada algoritma kunci simetris.
Contoh skema enkripsi kunci asimetrik adalah [1]:
a. DSA (Digital Signature Algorithm)
b. RSA
c. Diffie-Hellman (DH)

RSA
RSA merupakan algoritma kriptografi asimetris. Ditemukan pertama kali pada tahun 1977
oleh Ron Rivest, Adi Shamir, dan Leonard Adleman. Nama RSA sendiri diambil dari inisial nama
depan ketiga penemunya tersebut. Sebagai algoritma kunci publik, RSA mempunyai dua kunci,
yaitu kunci publik dan kunci pribadi. Kunci publik boleh diketahui oleh siapa saja, dan digunakan
untuk proses enkripsi. Sedangkan kunci pribadi hanya pihak - pihak tertentu saja yang boleh
mengetahuinya, dan digunakan untuk proses dekripsi. Algoritma RSA masih digunakan hingga
pada saat ini seperti yang diuraikan M. Zaki Riyanto dan Ardhi Ardhian:
Keamanan sandi RSA terletak pada sulitnya memfaktorkan bilangan yang besar. Sampai
saat ini RSA masih dipercaya dan digunakan secara luas di internet. (Kriptografi Kunci Publik:
Sandi RSA, 2008).
Gambar 1 Skema Kunci Asimetris
Skema algoritma kunci publik Sandi RSA terdiri dari tiga proses, yaitu proses
pembentukan kunci, proses enkripsi dan proses dekripsi. Sebelumnya diberikan terlebih dahulu
beberapa konsep perhitungan matematis yang digunakan RSA (RSA and Public Key
Criptography, 2003,


Algoritma Pembentukan Kunci:
1. Tentukan p dan q bernilai dua bilangan Prima besar, acak dan dirahasiakan.
p ≠ q, p dan q memiliki ukuran sama.
2. Hitung n = pq
Dan hitung ı(n) = (p-1)(q-1).
Bilangan integer n disebut (RSA) modulus.
3. Tentukan e bilangan Prima acak, yang memiliki syarat:
1 < e < ı(n)
GCD(e, ı(n)) = 1, disebut e relatif prima terhadap ı(n),
Bilangan integer e disebut (RSA) enciphering exponent.
4. Memakai algoritma Euclid yang diperluas (Extended Eucledian Algorithm).
Menghitung bilangan khusus d,
syarat 1 < d < ı(n)
d ≡ e-1 mod ı(n)
ed ≡ 1 (mod ı(n))
ed ≡ 1 + k.ı(n) untuk nilai k integer.
Bilangan integer d disebut (RSA) deciphering exponent.
5. Nilai (n,e) adalah nilai yang boleh dipublikasi.
Nilai d, p, q, ı(n) adalah nilai yang harus dirahasiakan.
Pasangan (n,e) merupakan kunci publik.
Pasangan (n,d) merupakan kunci rahasia.
Keterangan
· Fungsi ı(n) Phi-Euler merupakan fungsi terhadap bilangan bulat positif n yang meyatakan
banyaknya elemen Zn yang mempunyai invers terhadap operasi pergandaan. Zn belum tentu
merupakan grup terhadap operasi pergandaan, dengan kata lain, ı(n) adalah banyaknya
elemen {x, 0 ≤ x < n | gcd(x,n) = 1}
· Algoritma Euclid digunakan untuk mencari nilai GCD (Greatest Common Divisor) atau sering
disebut FPB (Pembagi Persekutuan terbesar) dari dua bilangan bulat. Algoritma ini
didasarkan pada pernyataan gcd (r0, r1) = gcd(r1, r2) ... gcd(rn-1, rn) = gcd(rn, 0) = rn
Contoh:
Akan dihitung gcd(40,24)
Jawab:
40 = 1.24 + 16 40 mod 24 = 16
24 = 1.16 + 8 24 mod16 = 8
16 = 2.8 16 mod 8 = 0, stop
Jadi gcd(40,24) = 8.
Dua buah bilangan bulat a dan b akan dapat dikatakan relatif prima jika gcd(a,b) = 1.
· Enkripsi: c = me mod n
· Dekripsi: m = cd mod n
Contoh enkripsi:
Untuk mengenkripsi, dilakukan langkah – langkah sebagai berikut ini:
- Ubah tiap karakter teks terang menjadi bilangan bulat 01 - 26 (A = 01, B = 02, … , Z = 26),
dan bagi teks menjadi beberapa blok b yang besar tiap bloknya lebih kecil dari n.
- Untuk tiap blok, hitung c = be (mod n). c menjadi blok teks sandi yang dikirimkan.

Untuk mendekripkan kembali teks sandi, dilakukan langkah-langkah sebagai berikut :
- Hitung bilangan bulat d sedemikian hingga de = 1 (mod (p-1)(q-1)). Pasangan (n, d)
merupakan kunci rahasia.
- Untuk setiap blok sandi c yang diterima, hitung b = cd (mod n). Bagi pembuat sandi, dengan
memilih 2 buah bilangan prima p dan q, tidaklah sulit untuk menghitung kunci publik n = pq,
serta mendekripkannya kembali.
Contoh Perhitungan:
Andaikan B memilih p = 13 dan q = 17. Maka n = pq = 221.
Berikutnya, misalkan secara acak B memilih e = 5 yang merupakan bilangan yang relatif prima
dengan (p-1)(q-1) = 192.
Maka kunci publik (n, e) = (221, 5).
A hendak mengirim teks “TAMAN”, maka ia harus mengubahnya menjadi barisan angka - angka
sebagai (A = 01, B = 02 , …): 20 01 13 01 14.
Misalkan A mengambil blok dengan panjang 3 digit, maka ia memiliki 4 blok untuk disandikan,
masing - masing adalah 200, 113, 011, 4
200 disandikan menjadi (200)5 (mod 221) = 200
113 disandikan menjadi (113)5 (mod 221) = 146
011 disandikan menjadi (11)5 (mod 221) = 163
4 disandikan menjadi (4)5 (mod 221) = 140
B yang menerima pesan sandi dari A harus mencari kunci rahasia yang didapat dari relasi
ed = 5d = 1 (mod192). Didapat d = 77.
Maka : didapat pesan asli 200 113 011 4 yang jika dikelompokkan dalam 2 digit menjadi 20 01 13
01 14 atau teks “TAMAN” seperti pesan semula.
blok sandi 200 didekrip menjadi (200)77 (mod 221) = 200
blok sandi 146 didekrip menjadi (146)77 (mod 221) = 113
blok sandi 163 didekrip menjadi (163)77 (mod 221) = 11 = 011 (karena 3 digit)
blok sandi 140 didekrip menjadi (140)77 (mod 221) = 4


Tidak ada komentar:

Posting Komentar