Plainteks -> Enkripsi -> Chiperteks -> Deskripsi -> Plainteks awal
contoh 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 :
contoh :
C = chiperteks
P = plainteks
K = key
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)
Algoritma.C : D E F G . . . . C (digeser 3)
jadi
P : rahasia
C : udkdvld (k = 3)
- Enkripsi
Algoritma Mencetak enkripsi
Deklarasi :
plain, chiper : string
key,i : Integer
Deskripsi :
read ( key, plain)
for i=0 to strlen(plain) dochiper[i] <= (plain[i]+key) mod 128;end forwrite (chiper) - Deskripsi
Algoritma Mencetak deskripsi
Deklarasi :
chiper, teks : string
key,i : Integer
Deskripsi :
read ( key, chiper)
for i=0 to strlen(chiper) doteks[i] <= (chiper[i] - key) mod 128;end forwrite (teks)contoh program enkripsi deskripsi01#include <cstdlib>02#include <iostream>03#include <string.h>04#define maks 5000506usingnamespacestd;07classEnkripsi{08public:09Enkripsi();10voidenkripsi();11voiddeskripsi();12voidoutput();13private:14charchiper[maks];15intkey;16charplain[maks];1718};1920Enkripsi::Enkripsi(){21cout<<"Masukkan kata : ";22cin.getline(chiper,sizeof(chiper));23cout<<"Masukkan key : ";24cin>>key;25cout<<endl;26}2728voidEnkripsi::enkripsi(){29for(inti=0;i<strlen(chiper);i+=1){30cout<<chiper[i]<<"("<<int(chiper[i])<<") ";31chiper[i] = (chiper[i]+key)%128;32}33}3435voidEnkripsi::deskripsi(){36for(inti=0;i<strlen(chiper);i+=1){37plain[i] = (chiper[i]-key)%128;38chiper[i] = plain[i];39}40}4142voidEnkripsi::output(){43for(inti=0;i<strlen(chiper);i+=1){44cout<<chiper[i];45}46}4748intmain(intargc,char*argv[])49{50Enkripsi Deskripsi;51Deskripsi.enkripsi();52cout<<"\n\nSetelah diEnkripsi : ";53Deskripsi.output();54Deskripsi.deskripsi();55cout<<"\n\nKembali diDeskripsi : ";56Deskripsi.output();5758cout<<endl<<endl;59system("PAUSE");60returnEXIT_SUCCESS;61}
Tidak ada komentar:
Posting Komentar