Hubungan Teori bilangan Dengan Algoritma
"KONSEP MODULO DALAM ALGORITMA CHAESAR CHIPPER"
Caesar cipher adalah algoritma cipher substitusi yang menggunakan konsep pergeseran huruf dengan modulo 26. Secara matematis dapat dirumuskan sebagai berikut S= (T+K) Modulo 26. S= Teks Sandi T= Teks Terang K=Kunci. Algoritma ini biasanya digunakan untuk proses enkripsi suatu informasi yang bersifat khusus atau rahasia pada zaman romawi.
Dalam kriptografi, sandi Caesar, atau sandi geser, kode Caesar atau Geseran Caesar adalah salah satu teknik enkripsi paling sederhana dan paling terkenal. Sandi ini termasuk sandi substitusi dimana setiap huruf pada teks terang (plaintext) digantikan oleh huruf lain yang memiliki selisih posisi tertentu dalam alfabet. Pada Caesar cipher, tiap huruf disubtitusi dengan huruf ketiga berikutnya dari susunan alphabet yang sama. Dalam hal ini kuncinya adalah pergeseran huruf (yaitu 3). Susunan alphabet setelah digeser sejauh 3 huruf membentuk sebuah table substitusi sebagai berikut:
Alfabet Biasa: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Alfabet Sandi: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Untuk menyandikan sebuah pesan, cukup mencari setiap huruf yang hendak disandikan di alfabet biasa, lalu tuliskan huruf yang sesuai pada alfabet sandi. Untuk memecahkan sandi tersebut gunakan cara sebaliknya. Contoh penyandian sebuah pesan adalah sebagai berikut.
Teks Terang : JANGAN MENDEKATI BLOK D
Teks Sandi : MDQJD QPHQG HNDWL EORNG
Dengan mengkodekan setiap huruf alfabet dengan integer : ‘A’= 0 , ‘B’= 1,…, ‘Z’= 25, maka secara matematis pergeseran 3 huruf alfabetik ekivalen dengan melakukan operasi modulo terhadap plainteks P menjadi cipherteks C dengan persamaan
C = E ( P ) = ( P + 3 ) mod 26 Karena ada 26 huruf didalam alphabet. Penerima pesan mengembalikan lagi cipherteks dengan operasi kebalikan, secara matematis dapat dinyatakan dengan persamaan
P = D ( C ) = ( C - 3 ) mod 26
Dapat diperhatikan bahwa fungsi D adalah balikan (invers) dari fungsi E , yaitu :
D ( C ) = E-1 ( P )
Penggunaan dari Caesar cipher ini dapat dimodifikasi dengan mengubah jumlah gesaran (bukan hanya 3) dan juga arah geseran. Jadi kita dapat menggunakan Caesar cipher dengan geser 7 ke kiri, misalnya. Hal ini dilakukan untuk lebih menyulitkan orang yang ingin menyadap pesan sebab dia harus mencoba semua kombinasi (26 kemungkinan geser).
Salah satu pengembangan dari Caesar cipher adalah ROT13. Pada sistem ini sebuah huruf digantikan dengan huruf yang letaknya 13 posisi darinya. Sebagai contoh, huruf “A” digantikan dengan huruf “N”, huruf “B” digantikan dengan huruf “O”, dan seterusnya. Secara matematis, hal ini dapat dituliskan sebagai:
C = ROT13 ( M)
Untuk mengembalikan kembali ke bentuk semulanya dilakukan proses enkripsi ROT13 dua kali.M = ROT13 ( ROT13 (M))
ROT13 memang tidak didesain untuk keamanan tingkat tinggi. ROT13, misalnya digunakan untuk menyelubungi isi dari artikel (posting) di Usenet news yang berbau ofensif. Sehingga hanya orang yang betul-betul ingin membaca dapat melihat isinya. Contoh penggunaan lain adalah untuk menutupi jawaban dari sebuah teka teki (puzzle) atau jika kita ingin marah marah (memaki) akan tetapi ingin agar orang lain tidak tersinggung. (Orang yang ingin membaca makian kita harus melakukan konversi ROT13 sendiri.)
Cipher dan Matematika
Dasar keilmuan dari Caesar cipher sebagian besar adalah matematika yang antara lain mencakup teori bilangan, aljabar dan fungsi. Subbab matematika tersebut sudah diajarkan sejak pendidikan sekolah bahkan diperluas lagi di perguruan tinggi. Rumus Caesar cipher secara umum :
C = E ( P ) = ( P + k) mod 26 Dan Fungsi Dekripsi adalah
P = D ( C ) = ( C - k ) mod 26
Catatan:
- Pergeseran 0 sama dengan pergeseran 26(susunan huruf tidak berubah).
- Pergeseran lain untuk k>25 dapat juga dilakukan namun hasilnya akan kongruen dengan bilangan bulat dalam modulo 26. Misalnya k=37 kongruen dengan 11 dalam modulus 26, atau 37 ≡ 11 (mod 26).
Persamaan di atas menggunakan subbab matematika teori bilangan khususnya dengan modulus. Operasi modulus adalah sebuah operasi yang menghasilkan sisa pembagian dari suatu bilangan terhadap bilangan lainnya.
Contoh modulus :1 = 7 mod 2
2 = 5 mod 3
Sebenarnya operasi modulus sudah dikenalkan sejak dini hanya saja banyak yang tidak tahu nama operasi tersebut. Selain menggunakan operasi modulus, Caesar cipher juga menggunakan aljabar dalam pengerjaannya. Aljabar dasar, yang mencatat sifat-sifat operasi bilangan riil, menggunakan simbol sebagai "pengganti" untuk menandakan konstanta dan variabel, dan mempelajari aturan tentang ungkapan dan persamaan matematis yang melibatkan simbol-simbol tersebut.
Diketahui : r + 3 = 10Ditanyakan : r = ? Penyelesaian :
r + 3 - 3 = 10 - 3
(sama sama dikurangi dengan bilangan yang sama yaitu3)
r = 7
Masih banyak lagi penggunaan matematika dalam Caesar cipher
No comments:
Post a Comment