Konsep
Plainteks -> Enkripsi -> Chiperteks -> Deskripsi -> Plainteks awalcontoh plainteks : uang disimpan di balik buku
contoh chiperteks : jdke aldjfdaj oe qtwey cvbn
Jadi Chiper adalah teknik substitusi setiap karakter dengan karakter lain dalam alphabet.
contoh :
C = chiperteks
P = plainteks
K = key
P : A B C D . . . . Z
C : D E F G . . . . C (digeser 3)
jadi
P : rahasia
C : udkdvld (k = 3)
contoh program enkripsi deskripsi
#include <cstdlib> #include <iostream> #include <string.h> #define maks 500 using namespace std; class Enkripsi{ public: Enkripsi(); void enkripsi(); void deskripsi(); void output(); private: char chiper[maks]; int key; char plain[maks]; }; Enkripsi::Enkripsi(){ cout<<"Masukkan kata : "; cin.getline(chiper,sizeof(chiper)); cout<<"Masukkan key : "; cin>>key; cout<<endl; } void Enkripsi::enkripsi(){ for(int i=0;i<strlen(chiper);i+=1){ cout<<chiper[i]<<"("<<int(chiper[i])<<") "; chiper[i] = (chiper[i]+key)%128; } } void Enkripsi::deskripsi(){ for(int i=0;i<strlen(chiper);i+=1){ plain[i] = (chiper[i]-key)%128; chiper[i] = plain[i]; } } void Enkripsi::output(){ for(int i=0;i<strlen(chiper);i+=1){ cout<<chiper[i]; } } int main(int argc, char *argv[]) { Enkripsi Deskripsi; Deskripsi.enkripsi(); cout<<"\n\nSetelah diEnkripsi : "; Deskripsi.output(); Deskripsi.deskripsi(); cout<<"\n\nKembali diDeskripsi : "; Deskripsi.output(); cout<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }
Tidak ada komentar:
Posting Komentar