Dalam bidang ilmu kriptografi terdapat algortima yang
menjadi fungsi dasarnya, yaitu :
- Enkripsi, merupakan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut plaintext, yang diubah menjadi kode – kode yang tidak bisa dimengerti. Dalam hal ini enkripsi disebut juga dengan cipher atau kode.
- Dekripsi, merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (teks-asli), disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk dekripsi.
- Kunci, yang dimaksud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian yaitu kunci rahasia (private key) dan kunci umum (public key).
- Tentang Sandi Kaisar (Caesar Cipher)
Substitusi kode yang pertama dalam dunia penyandian dikenal
dengan Kode Kaisar, karena penyandian ini terjadi pada saat pemerintahan Yulius
Caesar. Dengan mengganti posisi huruf awal dengan alphabet atau disebut dengan
algoritma ROT3.
Teknik penyandian ini termasuk sandi tersubtitusi pada
setiap huruf pada plaintext digantikan oleh huruf lain yang dimiliki selisih
posisi tertentu dalam alphabet.
Secara detail table dibawah ini menjelaskan pergeseran yang
terjadi pada huruf alphabet.
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
Menjadi :
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
Jika pergeseran yang dilakukan sebanyak tiga kali, maka
kunci untuk dekripsinya adalah 3. Pergeseran kunci yang dilakukan tergantung
keinginan pengiriman pesan. Bisa saja kunci yang dipakai a = 7, b = 9, dan
seterusnya.
Cara kerja sandi ini dapat diilustrasikan dengan membariskan
dua set alfabet; alfabet sandi disusun dengan cara menggeser alfabet biasa ke
kanan atau ke kiri dengan angka tertentu (angka ini disebut kunci). Misalnya
sandi Caesar dengan kunci 3, adalah sebagai berikut:
Alfabet Biasa:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Alfabet Sandi:
DEFGHIJKLMNOPQRSTUVWXYZABC
Untuk menyandikan sebuah pesan, cukup mencari setiap huruf
yang hendak disandikan di alfabet biasa, lalu tuliskan huruf yang sesuai pada
alfabet sandi. Untuk memecahkan sandi tersebut gunakan cara sebaliknya. Contoh
penyandian sebuah pesan adalah sebagai berikut.
teks terang :
kirim pasukan ke sayap kiri
teks tersandi :
NLULP SDVXNDQ NH VDBDS NLUL
Proses penyandian (enkripsi) dapat secara matematis menggunakan
operasi modulus dengan mengubah huruf-huruf menjadi angka, A = 0, B = 1,…, Z =
25. Sandi (En) dari “huruf” x dengan geseran n secara matematis
dituliskan dengan,
Sedangkan pada proses pemecahan kode (dekripsi), hasil
dekripsi (Dn) adalah
Setiap huruf yang sama digantikan oleh huruf yang sama di
sepanjang pesan, sehingga sandi Caesar digolongkan kepada, substitusi
monoalfabetik, yang berlawanan dengan substitusi polialfabetik.
Source code Caesar Cipher (Enkripsi) dengan Bahasa C
#include<stdio.h>
#include<string.h>
int main()
{
int i, angka, angkaBaru, langkah;
char S[80]; char huruf; char enkripsi;
printf(” Penyandian Kode Kaisar \n”);
printf(” masukkan sebuah kata (harus KAPITAL) :
“); gets(S);
printf(” Masukkan berapa langkah yang ingin ditempuh :
“); scanf(“%d”,&langkah);
printf(” Enkripsi : “);
for(i=0;i<(int)strlen(S);i++)
{
huruf=S[i];
angka=(int)(huruf-’A');
angkaBaru=(angka+langkah)%26;
enkripsi=(char)(angkaBaru+’A');
printf(“%c”,enkripsi);
}
getchar();
return 0;
}
Tampilan
No comments:
Post a Comment