Caesar Chiper, adalah trik Enkripsi yang mungkin bisa dibilang sangat lama sekali, soalnya, trik Enkripsi ini, digunakan pada waktu perang di masa Julius Caesar dulu...
Teknik Enkripsi ini cukup sederhana, yaitu hanya dengan menggeser [menambah/mengurangi] jumlah bit saja...
http://en.wikipedia.org/wiki/Caesar_cipher
Ini Rumusnya...
Enkripsi :
En(x) = (x + n) mod 26
Dekripsi :
Dn(x) = (x - n) mod 26
"x" adalah karakter yang akan di enkrip/dekrip, dengan "n" adalah jumlah geser bit, dan juga jangan lupa pake "mod 26", supaya tidak sampe ke huruf 27 [gak ada kan], makanya, dipake "mod 26", supaya jika kita geser 27 bit, akan kembali ke pertama, dan juga ingat, fungsi dari mod itu sendiri, yaitu: hasil bagi...
nah, itu rumus jadul, rumus utk sekarang, karena sudah ASCII, jadinya seperti ini :
Enkripsi :
En(x) = (x + n) mod 255
Dekripsi :
Dn(x) = (x - n) mod 255
Karena nilai ASCII [0-255], kan kalo huruf cuma sampe 26..
oke, langsung saja ya ke codingnya :
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
char kata[100]; //variabel kata hanya menampung 100 karakter saja
int i = 0, y, x, n;
cout<<"Original Code by : gxry"<<endl;
cout<<"Masukkan Kata : ";gets(kata);
cout<<"Masukkan bit geser : ";cin>>n;
while (kata[i] != 0) //looping sampai ketemu nilai kosong
{
x = (int(kata[i]) + n) % 255; //geser bit sebanyak n, dengan mod 255, karena ASCII hanya sampai 255
cout<<char(x); //menampilkan huruf dengan fungsi char dari nilai ASCII yang didapat
i++; //pengubah nilai saja
}
cout<<endl;
system("pause"); //penahan program, [library = stdlib.h]
}
ehm, jadi begini, kalo rumus2 yang saya jabarkan diatas tadi, kan hanya utk [1] karakter saja ya, nah, kalo script yang saya kasih ini, kan utk String [> 1 karakter]..
Logikanya berarti kan,
1. Ambil banyaknya jumlah karakter
2. Setiap karakter di enkrip satu persatu
3. Digabung kembali, dan menjadi chiper text [text yang sudah terenkrip]
Oke??
Tx to :
- My Jesus, My Everything
- My Family
- Gemabel
- Segelaskopi, I-Bego | VB-Bego, Codenesia, Virologi
- Instructur, Lecturer, Ass. Instructur BSI
- All of you, i couldn't mention your name one by one