Sunday, September 2, 2007

Prime Number in Security (Bilangan Prima sebagai Matematika Terapan)..



Banyak sekali teman-teman yang berkunjung ke blogku yang mencari sesuatu yang berhubungan dengan matematika dan komputer. Kali ini akan dibahas kembali mengenai topik Matematika, yang mana masih sedikit sekali dibahas.
Hal yang paling digunakan oleh orang-orang komputer yang mempunyai ilmu matematika adalah security (keamanan). Dimana security menjadi bagian penting bagi sebagian orang. Matematika sangat memungkinkan untuk itu, yaitu dengan pola decryption (menyandikan) dan encryption (memecahkan). Adalah Bilangan Prima yang mempunyai kemampuan itu.
Kenapa Bilangan Prima (dalam Bahasa Inggris disebut Prime Number)? hal ini disebabkan banyak sekali metode decryption (menyandikan) dan encryption (memecahkan) yang menggunakan rumus matematika dan memanfaatkan keunikan dari bilangan prima. Bilangan Prima adalah bilangan Asli yang hanya mempunyai faktor 1 dan dirinya sendiri.
Dengan keunikan inilah, bilangan prima dijadikan alat yang canggih.
Metode RSA adalah salah satu metode yang dikenal oleh dunia penyandian. RSA merupakan metode algoritma yang dipublikasikan tahun 1977 oleh Ron Rivest, Adi Shamir and Leonard Adleman (RSA). Cara kerjanya memerlukan 2 alat, yang pertama Private Key (kunci pribadi) dan Public Key (kunci untuk umum).
Contoh sederhananya seperti ini:

Misal contoh yang paling mudah untuk dihitung, yaitu

1. Tentukan 2 bilangan prima

p = 61 dan q = 53

2. Hitung n = p * q,

n = 61 * 53 = 3233

3. Hitung totient F(n) = (p-1)(q-1),

F(n) = (61 - 1)(53 - 1) = 3120,

4. Ambil e > 1, e bilangan prima kurang dari 3120

e = 17

5. Hitunglah d, sedemikian sehingga d * e = 1 mod{F(n)}, (d adalah determinan oleh e dan F(n))

d = 2753
17 * 2753 = 46801 = 1 + 15 * 3120.


ditemukan Public Key: (n = 3233, e = 17). Untuk mendapatkan pesan rahasianya caranya adalah:

c = m^e mod{n} = m^{17} mod{3233}.

Private Key: (n = 3233, d = 2753). Untuk memecahkan pesan rahasianya:

m = c^d mod{n} = c^{2753} mod{3233}.


Contoh, ada Si A yang ingin menyampaikan pesan rahasia kepada Si B, pesan rahasia tersebut adalah 123. Jadi, untuk menyadikan sebuah angka m = 123, maka kita hitung:

c = 123^17(mod 3233) = 855

Si A mendapatkan c = 855 yang akan diberikan kepada Si B dengan tenang karena orang lain yang tidak mendapatkan Private Key-nya tidak akan tahu maksud sesungguhnya :)
Si B mendapatkan c =855, sehingga untuk memecahkan c= 855, maka is menghitung:

m = 855^2753(mod 3233) = 123.
Jadi pesan rahasia tersebut akan dapat dibuka oleh Si B tanpa diketahui oleh orang lain yang tidak mempunyai Kode-nya..

Kedua perhitungan ini bisa dilakukan secara efektif menggunakan algoritma perkalian dan Akar kuadrat dalam bilngan eksponensial.

Selamat Menikmati..

1 comment:

CempLuk said...

wah trims penjelasannya..