Alissa Ngacay Princess
Status : Ngacay :v Posts : 424 Chips : 7088 Power : 14 Join date : 2010-09-22 Location : Antara ada dan tiada :- Badge :
| Subject: [Programming] Cryptography: RSA Algorithm Wed Sep 29, 2010 10:55 pm |
RSA (Rivest-Shamir-Adleman) Algoritma RSA diperkenalkan oleh tiga peneliti dari MIT (Massachussets Institute of Technology), yaitu Ron Rivest, Adi Shamir, dan Len Adleman, pada tahun 1976. RSA mendasarkan proses enkripsi dan dekripsinya pada konsep bilangan prima dan aritmetika modulo. Baik kunci enkripsi maupun dekripsi keduanya merupakan bilangan bulat. Kunci enkripsi tidak dirahasiakan dan diketahui umum (sehingga disebut kunci publik), namun kunci untuk dekripsi dirahasiakan. Kunci dekripsi dibuat dari beberapa bilangan prima bersama-sama dengan kunci enkripsi. Untuk menemukan kunci dekripsi, harus difaktorkan suatu bilangan komposit menjadi faktor primanya. Kenyataannya, memfaktorkan bilangan nonprima menjadi faktor primanya bukanlah hal yang mudah. Belum ada algoritma yang efisien yang ditemukan dalam pemfaktoran itu. Semakin besar bilangan nonprimanya tentu semakin sulit pula pemfaktorannya. Semakin sulit pemfaktorannya, semakin kuat pula algoritma RSA. Secara ringkas, algoritma RSA adalah sebagai berikut.
- Algoritma RSA:
1. Pilih dua buah bilangan prima sebarang, sebut a dan b. Jaga kerahasiaan mereka. 2. Hitung n = ab. Nilai n tidak dirahasiakan. 3. Hitung m = (a - 1)(b - 1). Sekali m telah dihitung, a dan b dapat dihapus. 4. Pilih suatu bilangan bulat untuk kunci publik enkripsi, sebut e, yang relatif prima terhadap m. 5. Buat kunci dekripsi d yang memenuhi ed ≡ 1 (mod m); maksudnya ed jika dibagi m menghasilkan sisa bagi 1. Lakukan enkripsi terhadap isi teks dengan persamaan c = pe mod n, di mana p adalah blok plain text dan c adalah chiper text. Harus dipenuhi syarat bahwa nilai p harus di antara 0 sampai n - 1 untuk menjamin hasil perhitungan tidak berada di luar range. 6. Proses dekripsi dilakukan dengan persamaan p = cd mod n.
Kekuatan dan Keamanan RSA Seperti yang telah dijelaskan sebelumnya, kekuatan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan nonprima menjadi faktor primanya, yang dalam hal ini n = ab. Sekali n berhasil difaktorkan, maka m = (a - 1)(b - 1). Selanjutnya, karena kunci enkripsi e tidak dirahasiakan, maka kunci dekripsi d dapat dihitung pula. Ini berarti proses dekripsi dapat dilakukan oleh orang yang tidak berhak.
Penemu algoritma RSA menyarankan nilai a dan b yang panjangnya lebih dari 100 digit. Dengan demikian hasil kalinya akan berukuran lebih dari 200 digit. Menurut Rivest dkk. usaha untuk memfaktorkan bilangan tersebut membutuhkan waktu komputasi selama 4000 tahun! (dengan asumsi clock speed komputer yang digunakan 1 GHz).
Untungnya algoritma paling efisien untuk memfaktorkan bilangan yang besar tersebut belum ditemukan. Inilah yang membuat algoritma RSA tetapi dipakai sebagai alat yang ampuh!
Saran untuk memanfaatkan dan memperkuat algoritma RSA Anda dalam pemrosesan file Dalam pemrosesan file, yang diproses adalah tiap-tiap byte. Dalam file teks, byte merepresentasikan suatu karakter. Dibandingkan dengan algoritma kriptografi lainya, pemrosesan file dengan algoritma RSA membutukan waktu yang lebih lama. Dengan demikian, blok plaintext dan chipertext yang digunakan, disarankan adalah nilai-nilai tiap byte (antara 0 sampai 255). Akan tetapi jika niali byte langsung digunakan sebagai blok, mungkin masih ada kemungkinan bocor, karena chiperteks untuk byte yang sama adalah sama. Oleh karena itu, sebaiknya ditambahkan algoritma untuk membaca dua atau lebih byte sekaligus yang kemudiannya memanipulasi byte tersebut sedemikian dengan cara/trik yang tidak lazim, dengan syarat manipulasi tersebut harus bersifat reversibel karena akan digunakan algoritma enkripsi dan dekripsi yang saling invers. Dengan demikian dijamin 99,99% tidak mungkin ada yang berhasil memecahkannya.
Sumber - Rinaldi, Munir. 2008. Struktur Diskrit. Bandung: Penerbit ITB - http://en.wikipedia.org/wiki/RSA
NB: Lihat contoh pemanfaatan algoritma RSA pada Game Maker di: http://www.rpgmakerid.com/game-maker-scripts-f14/gm8-gml-rsa-algorithm-t2513.htm :kabur:
|
|
Prodixon Head Administrator, ProDig Founder
Status : Akhirnya kembali... Posts : 648 Chips : 7304 Power : 8 Join date : 2010-08-08 Location : ProDig Badge :
| Subject: Re: [Programming] Cryptography: RSA Algorithm Wed Sep 29, 2010 11:16 pm |
Keren ...
Bahkan aku blm sampai situ...
Tp, hebat bahwa kamu bisa implementasikannya :sembah:
|
|
polo12 Global Moderator
Posts : 151 Chips : 5425 Power : 4 Join date : 2010-09-25 Location : Under your Underwear Quote : ga ada
| Subject: Re: [Programming] Cryptography: RSA Algorithm Thu Sep 30, 2010 2:18 pm |
weeks *polo12 yg punya otak segede biji jagung cuma bisa mangap* metal bang :hb: tnx for sharing!!!
|
|
KID_VX Pencuri Hati
Posts : 349 Chips : 6344 Power : 3 Join date : 2010-09-24 Quote : Now. My job is "Visual Effect Desainer Badge :
| Subject: Re: [Programming] Cryptography: RSA Algorithm Thu Sep 30, 2010 3:59 pm |
wah keren . . . . btw filenya slain di encrypt, di compress juga ga? :cupu:
|
|
Alissa Ngacay Princess
Status : Ngacay :v Posts : 424 Chips : 7088 Power : 14 Join date : 2010-09-22 Location : Antara ada dan tiada :- Badge :
| Subject: Re: [Programming] Cryptography: RSA Algorithm Thu Sep 30, 2010 5:57 pm |
- KID_VX wrote:
- wah keren . . . .
btw filenya slain di encrypt, di compress juga ga? :cupu: Hualaah.. koq simetris ama yang di RMID?! Ya enggaklah.. Ini kan gada hubungannya ama kompresi... Kompresi punya algoritmanya sendiri.. :swt:
|
|
KID_VX Pencuri Hati
Posts : 349 Chips : 6344 Power : 3 Join date : 2010-09-24 Quote : Now. My job is "Visual Effect Desainer Badge :
| Subject: Re: [Programming] Cryptography: RSA Algorithm Thu Sep 30, 2010 6:03 pm |
iya nih, ngejar post yang di RMID. kalo disini 2 ari udah 50, kalo di RMID, udah lama begitu baru 60-an :lol:
|
|
Sponsored content
| Subject: Re: [Programming] Cryptography: RSA Algorithm
|
|
|