Minggu, 11 Desember 2011

Konsep Enkripsi dan Deskripsi dalam kriptografi

Enkripsi adalah sebuah proses yang melakukan perubahan sebuah kode yang bisa dimengerti menjadi sebuah kode yang tidak bisa dimengerti (tidak terbaca). Enkripsi dapat diartikan sebagai kode atau chiper. Sebuah chiper mengunakan suatu algoritma yang dapat mengkodekan semua aliran data (stream) bit dari sebuah pesan menjadi cryptogram yang tidak dimengerti (unintelligible). Karena teknik chiper merupakan suatu system yang telah siap untuk di automasi, maka teknik ini digunakan dalam system keamanan computer dan jaringan.

Deskripsi adalah sebuah proses mengembalikan hasil dari sebuah chiper ke kode awal atau data awal yang di  masukkan.
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 :
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)
Algoritma.


  • Enkripsi
    Algoritma Mencetak enkripsi
    Deklarasi :
    plain, chiper            : string
    key,i                        : Integer
    Deskripsi :
    read ( key, plain)

    for i=0 to strlen(plain) do
                 chiper[i] <= (plain[i]+key) mod 128;
                 end for
    write (chiper)
  • Deskripsi
    Algoritma Mencetak deskripsi
    Deklarasi :
    chiper, teks             : string
    key,i                        : Integer
    Deskripsi :
    read ( key, chiper)

    for i=0 to strlen(chiper) do
                 teks[i] <= (chiper[i] - key) mod 128;
                 end for
    write (teks)
     
    contoh program enkripsi deskripsi
    01#include <cstdlib>
    02#include <iostream>
    03#include <string.h>
    04#define maks 500
    05 
    06using namespace std;
    07class Enkripsi{
    08public:
    09Enkripsi();
    10void enkripsi();
    11void deskripsi();
    12void output();
    13private:
    14char chiper[maks];
    15int key;
    16char plain[maks];
    17 
    18};
    19 
    20Enkripsi::Enkripsi(){
    21cout<<"Masukkan kata : ";
    22cin.getline(chiper,sizeof(chiper));
    23cout<<"Masukkan key  : ";
    24cin>>key;
    25cout<<endl;
    26}
    27 
    28void Enkripsi::enkripsi(){
    29for(int i=0;i<strlen(chiper);i+=1){
    30cout<<chiper[i]<<"("<<int(chiper[i])<<") ";
    31chiper[i] = (chiper[i]+key)%128;
    32}
    33}
    34 
    35void Enkripsi::deskripsi(){
    36for(int i=0;i<strlen(chiper);i+=1){
    37plain[i] = (chiper[i]-key)%128;
    38chiper[i] = plain[i];
    39}
    40}
    41 
    42void Enkripsi::output(){
    43for(int i=0;i<strlen(chiper);i+=1){
    44cout<<chiper[i];
    45}
    46}
    47 
    48int main(int argc, char *argv[])
    49{
    50Enkripsi Deskripsi;
    51Deskripsi.enkripsi();
    52cout<<"\n\nSetelah diEnkripsi : ";
    53Deskripsi.output();
    54Deskripsi.deskripsi();
    55cout<<"\n\nKembali diDeskripsi : ";
    56Deskripsi.output();
    57 
    58cout<<endl<<endl;
    59system("PAUSE");
    60return EXIT_SUCCESS;
    61}
     

Tidak ada komentar:

Posting Komentar