Algoritma Enkripsi dan Deskripsi dengan C++

Enkripsi yaitu suatu proses pengaman suatu data yang disembunyikan atau proses konversi data ( plaintext ) menjadi bentuk yang tidak dapat dibaca/ dimengerti. Sedangkan Dekripsi yaitu kebalikan dari proses enkripsi yaitu proses konversi data yang sudah dienkripsi ( ciphertext ) kembali menjadi data aslinya ( Original Plaintext ) sehingga dapat dibaca/ dimengerti kembali.
Kunci yang digunakan dapat berupa sebuah angka bernilai kecil atau besar sesuai dengan angka-angka yang telah ditentukan untuk sebagai nilai transformasi matematis yang memetakan plaintext ke ciphertext dan sebaliknya. Ciphertext sangat dipengaruhi oleh keberadaan plaintext dan kuncinya, jadi nilai dari suatu kunci akan mempengaruhi fungsi enkripsi dan dekripsi, sehingga fungsi enkripsi tersebut dapat dinotasikan seperti berikut :

Ek ( P ) = C

Program Enkripsi

#include <cstdlib>
#include <iostream>

using namespace std;

void Enkrip(char plain[],int key, char chiper[]){

for(int i=0;i<strlen(plain);i+=1){

cout<<plain[i]<<"("<<int(plain[i])<<")";

chiper[i]=(plain[i]+key)%128;

}

cout<<"\nchiper hasil benarnya : ";

for (int i=0; i<strlen(plain);i+=1){

cout<<chiper[i];

}

cout<<endl;

}

void Deskrip(char chiper[], int key, char teks[]){

for(int i=0;i<strlen(chiper);i+=1){

teks[i]=chiper[i]-key % 128;

};

};

int main(int argc, char *argv[])

{

int pil; char teks[100]; char chiper[100];int key;
{

cout<<"Menu Pilihan "<<endl;
cout<<"1. TEKS ASLI"<<endl;
cout<<"2. ENKRIPSI"<<endl;
cout<<"3. DESKRIPSI"<<endl;
cout<<"Masukkan Pilihan : ";
cin>>pil;

switch(pil)

{

case 1:
     {
     cout<<"teks : ";
     cin>>teks;
     cout<<"masukkan key : ";
     cin>>key;
     break;};
case 2: {
cout<<"teks : "<<teks<<endl; 

Enkrip(teks, key, chiper);
cout<<"chiper hasil: "<<chiper;
break;
};

case 3: {
cout<<"chiper : "<<chiper<<endl;

Deskrip(chiper, key, teks);
cout<<"teks awal: "<<teks;
break;
};
};
cout<<endl;
}while (pil !=0);

system("PAUSE");

return EXIT_SUCCESS;

}

Baca Juga :   Program Tukar