BackBox Indonesia
enkripsi caesar di c - Printable Version

+- BackBox Indonesia (https://www.backboxindonesia.or.id)
+-- Forum: Coding (https://www.backboxindonesia.or.id/forum-31.html)
+--- Forum: C and C++ Programming (https://www.backboxindonesia.or.id/forum-39.html)
+--- Thread: enkripsi caesar di c (/thread-94.html)



enkripsi caesar di c - katob - 04-04-2016

apa itu engkripsi caesar ?

adalah salah satu teknik enkripsi paling sederhana dan paling terkenal, Sandi ini termasuk sandi substitusi dimana setiap huruf pada plaintext digantikan oleh huruf lain yang memiliki selisih posisi tertentu dalam alfabet. Nama caesar sendiri diambil dari Julius caesar, jendral konsul dan diktator Romawi yang menggunakan sandi ini untuk berkomunikasi dengan panglimanya. [wikipedia]


[Image: 320px-Caesar3.svg.png]

contoh menggunakan pergeseran (key dalam source) 3 maka: 
Code:
huruf a akan menjadi d, huruf b akan menjadi e, huruf c akan menjadi f, dan seterusnya

katob : ndwre

rumus 
Quote:En (x) = (x + n) % 26

dekripsi : 

Dn (x) = ( x + n) % 26 

angka 26 menyatakan banyaknya alfabet a - z berjumlah 26.

rumus versi ascii :

Quote:En (x) = (x + n) % 255

deskripsi :

Dn (x) = (x + n) % 255


source : 
Code:
/*
    simple program enkripsi caesar
*/
#include <stdio.h>


int main(int argc, char *argv[])
{
    char kata[255];
    int i = 0;
    int key=atoi(argv[2]);

    if(argc != 3){
        printf("cara gunain ./caesar [options] \n");
        printf("[+]options[+]\n");
        printf("-e : enkripsi\n");
        printf("-d : dekripsi\n \n");
        printf("contoh enkripsi : ./caesar -e 3\n");
        return 0;
    }
    
    printf("Masukan Kata : ");
    gets(kata);
        
        while(kata[i] != '\0')
        {
            if(kata[i] >= 'a' && kata[i] <= 'z')
            {
                if(!strcmp("-e", argv[1]))
                    kata[i]=(kata[i]+key)%255;
                else
                if(!strcmp("-d", argv[1]))
                    kata[i]=(kata[i]-key)%255;        
            }else
            if(kata[i] >= 'A' && kata[i] <= 'Z')
            {
                if(!strcmp("-e", argv[1]))
                    kata[i]=(kata[i]+key)%255;
                else
                if(!strcmp("-d", argv[1]))
                    kata[i]=(kata[i]-key)%255;    

            }

            i++;            
        }
        
        
        printf("hasil dekripsi : %s \n",kata );        
    
    return 0;
}

[Image: 12920485_1176247409054421_80967637033391...d30b02ba5f]


sekian


RE: enkripsi caesar di c - ./EL-Mueeza_23 - 04-05-2016

mastah (-/\-)