Lewati ke isi
Sabtu, 7 November 2026 Tutorial & berita teknologi Tentang Kontak
Komputerkampus.com
Tutorial Keamanan Dasar Kriptografi · Bab 3 dari 3

Kriptografi Caesar Cipher

Kriptografi Caesar Cipher Caesar Cipher adalah kriptografi tua atau kriptografi yang telah lama ada. Kriptografi ini sangat sederhana dimana setiap huruf akan digantikan dengan 3 huruf setelahnya dari susunan alphaber. Caesar cipher tidak m…

Kriptografi Caesar Cipher

Caesar Cipher adalah kriptografi tua atau kriptografi yang telah lama ada. Kriptografi ini sangat sederhana dimana setiap huruf akan digantikan dengan 3 huruf setelahnya dari susunan alphaber. Caesar cipher tidak memiliki kunci seperti algoritma kriptografi modern, salah satu cara agar algoritma ini aman adalah kerahasian algoritmanya. Jika diasumsikan tabel dari caesar cipher adalah sebagai berikut :
Plaintesk : a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z.
Cipherteks : D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A, B, C.

Tesk asli akan berhuruf kecil sedangkan hasil cipherteks adalah huruf besar.
Dapat juga diformulasikan sebagai fungsi matematika dengan sebuah angka seperti berikut : A=0, B=1, C=2, D=3, E=4, F=5, G=6, H=7, I=8, J=9, K=10, L=11, M=12, N=13, O=14, P=15, Q=16, R=17, S=18, T=19, U=20, V=21, W=22, X=23, Y=24, Z=25. Dengan rumus enkripsi adalah C = E(P) = (P + 3)mod 26 dan rumus dekripsi adalah P = D(P) = (C - 3)mod 26.

Berikut adalah contoh program Caesar Cipher pada program c++ :

#include<iostream> //header untuk menampilkan main
#include<string.h>

using namespace std;

void enkripsi()
{
    string plainteks, cipherteks;
    int i, k;
    char c;
    
    cout<<"Ketikan pesan : ";
    cin.ignore(); getline (cin, plainteks);
    cout<<"Masukan jumlah pergeseran 0-255 : "; cin >> k;
    cipherteks = " "; // inisialisasi cipherteks dengan null string
    
    for (i=0; i < plainteks.length(); i++) 
    {
        c = plainteks[i];
        if (isalpha(c)) // hanya memproses huruf alfabet saja
        {
            c = toupper(c); // ubah menjadi huruf kapital
            c = c - 65; // kodekan huruf ke angka 0 s/d 25
            c = (c + k) % 26; // enkripisi, geser sejauh k ke kanan
            c = c + 65;
        }
        cipherteks = cipherteks + c; // sambungkan ke cipherteks
    }
    cout << "cipherteks : "<<cipherteks<<endl; // cetak cipherteks
}

void dekripsi()
{
    string plainteks, cipherteks;
    int i, k;
    char c;
    
    cout<<"Ketikan cipherteks : ";
    cin.ignore(); getline (cin, cipherteks);
    cout<<"Masukan jumlah pergeseran 0-25 : "; cin>>k;
    plainteks = "";  // inisialisasi plainteks dengan null string
    
    for (i=0; i<cipherteks.length(); i++)
    {
        c = cipherteks[i];
        if (isalpha(c)) // hanya memproses alpabet
        {
            c = toupper(c); // ubah karakter ke huruf besar
            c = c - 65; // kodekan huruf ke angka 0 sampai 25
            if (c - k < 0) // kasus pembagian bilangan negatif
                c = 26 + (c - k);
            else
                c = (c - k) % 26;
            c = c + 65; // kodekan kembali ke huruf semula
            c = tolower(c); // plainteks dinyatakan dengan huruf kecil
        }
        plainteks = plainteks + c; // sambungkan ke plainteks
    }
    cout<<"plainteks : "<<plainteks<<endl; // cetak plainteks
}

int main ()
{ //begin
    int pil;
    bool stop;
    stop = false;
    
    while (!stop) 
    {
        cout<<"Menu : "<<endl;
        cout<<"1. enkripisi "<<endl;
        cout<<"2. dekripsi "<<endl;
        cout<<"3. Exit "<<endl;
        cout<<"Pilih menu : "; cin>>pil;
        switch(pil)
        {
            case 1 : enkripsi();break;
            case 2 : dekripsi();break;
            case 3 : stop = true;break;
        }
    }
}//end

Hasilnya seperti gambar dibawah ini :
DeepinScreenshot_select-area_20200115030948

Sekian terimakasih, Jika ada salah tolong komentar dibawah ini.


Catatan: tulisan ini dipindahkan dari cloudborneo.com, terbit pertama 14 Januari 2020.

Bagikan WhatsApp Telegram X

Tentang penulis

Akhmad Syarif
Akhmad Syarif

i just want to be myself

Tulisan lainnya

Terkait

Tutorial Keamanan

Konsep Dasar Kriptografi Konsep Acak

Konsep Dasar Kriptografi Konsep Acak Konsep acak (randomness) pada kriptografi adalah teknik yang tidak bisa ditebak atau tidak bersifat sistematis. Artinya penentukan nilai bersifat bebas tanpa ada aturan atau algoritma yang menentukan. Si…

Dasar Kriptografi · Bab 2 2 mnt
Tutorial Keamanan

Pengenalan Kriptografi

Kriptografi Apa itu kriptografi ? kriptografi adalah teknik enkripsi sebuah data dimana data tersebut diacak dengan suatu kunci enkripsi yang mana hasil enkripsi tersebut akan sangat sulit dibaca karena merupakan huruf, angka dan simbol dia…

Dasar Kriptografi · Bab 1 2 mnt
Tutorial Keamanan

Cracking Password Wireless WPA/WPA2 keys

1. MENGAKTIFKAN MODE MONITOR PADA ADAPTER WIFI Tahap ini kami mengaktifkan mode monitoring pada adapter wifi komputer agar bisa melakukan analisa jaringan wifi apa saja yang ada disekitar. Pada kasus ini kami menggunakan OS Kali Linux denga…

4 mnt