enkripsi caesar di c

by katob - 04-04-2016 at 08:12 PM
Legion
Legion
Posts:
12
Joined:
Mar 2016
Likes:
0
Reputation:
0
2 Year Of Member
#1
OP
Posted: 04-04-2016, 08:12 PM
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
Reply
Find Posts
Junior Member
Posts:
37
Joined:
Mar 2016
Likes:
0
Reputation:
0
2 Year Of Member
#2
Posted: 04-05-2016, 04:29 PM
mastah (-/\-)
Reply
Find Posts
Register an account or login to reply
Create an account
Create a free account today and start posting right away. It only takes a few seconds.
Login
Log into an existing account.
1 Guest(s)