Tuesday, November 18, 2008

Perhitungan Pangkat dengan Bilangan Yang cukup Besar

Proses Enkripsi dan dekripsi dalam RSA melibatkan pemangkatan sebuah bilangan dengan bilangan yang lain, kemudian di moduluskan dengan sebuah bilangan yang lain. Jika bilangan yang dipangkatkan terlalu besar maka akan menjadi bilangan yang sangat besar. Untuk itu perhitungan pemangkatan dan modulus itu dapat dikerjakan dengan menggunakan teorema aritmatika modular:

[(a mod n) x (b mod )] mod n= (a x b) mod n ...
Melalui cara proses pemangkatan bilangan yang akan menghasilkan bilangan yang sangat besar bisa dikurangi. Algoritma ini disebut dengan algoritma Fast Modular Exponentation.
Fast Modular Exponentation  ( a^b) mod n
c=0
d=1
for i=k downto 0
c=c*2
d=(d*d) mod n
if (bi =1 ) then
c=c+1
d=d*a mod n
return d

Sebelum dilakukan proses perhitungan seperti diatas, nilai b terlebih dahulu harus diubah ke dalam bilangan biner.

Untuk melihat demo program dapat didownload dari Demo FME

No comments: