(Bagian 1)
Oleh :
Yus Jayusman
Pendahuluan
Algoritma kriptografi klasik berbasis karakter
Menggunakan pena dan kertas saja, belum ada komputer
Termasuk ke dalam kriptografi kunci-simetri
Tiga alasan mempelajari algoritma klasik:
Cipher Substitusi
Contoh: Caesar Cipher
Tiap huruf alfabet digeser 3 huruf ke kanan
pi : 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
ci : 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
Contoh:
Plainteks:
Cipherteks:
Caesar
5
wheel
DZDVLDVWHULAGDQWHPDQQBAREHOLA
Tujuannya agar kriptanalisis menjadi lebih sulit
Misalkan, A = 0,
B = 1,
C = 2,
...
Z = 25
maka, Caesar Cipher dirumsukan secara matematis:
Enkripsi: ci = E(pi) = (pi + 3) mod 26
Dekripsi: pi = D(ci) = (ci 3) mod 26
Ket: pi = karakter plainteks ke-i
ci = karakter cipherteks ke-i
7
argv[1]);
#include <stdio.h>
main(int argc, char *argv[])
{
FILE *Fin, *Fout;
char p, c;
int n, i, k;
Fin = fopen(argv[1], "rb");
if (Fin == NULL)
printf("Kesalahan dalam membuka %s sebagai berkas masukan/n",
Fout = fopen(argv[2], "wb");
printf("\nDekripsi %s menjadi %s ...\n", argv[1], argv[2]);
printf("\n");
printf("k : ");
scanf("%d", &k);
while ((c = getc(Fin)) != EOF)
{ p = (c - k) % 256;
putc(p, Fout);
}
fclose(Fin);
fclose(Fout);
}
10
argv[1]);
Kelemahan:
Caesar cipher mudah dipecahkan dengan exhaustive key search
karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci).
11
Pesan hasil
dekripsi
XMZVH
YNAWI
ZOBXJ
APCYK
BQDZL
CREAM
DSFBN
ETGCO
FUHDP
Kunci (k)
ciphering
17
16
15
14
13
12
11
10
9
Pesan hasil
dekripsi
GVIEQ
HWJFR
IXKGS
JYLHT
KZMIU
LANJV
MBOKW
NCPLX
ODQMY
Kunci (k)
ciphering
8
7
6
5
4
3
2
1
Pesan hasil
dekripsi
PERNZ
QFSOA
RGTPB
SHUQC
TIVRD
UJWSE
VKXTF
WLYUG
og
nf
me
ld
kc
chvgt
bgufs
after
zesdq
ydrcp
vjg
uif
the
sgd
rfc
vqic
uphb
toga
snfz
rmey
rctva
qbsuz
party
ozqsx
nyprw
um
tl
sk
rj
qi
inbmz
hmaly
glzkx
fkyjw
ejxiv
bpm
aol
znk
ymj
xli
bwoi
avnh
zumg
ytlf
xske
xizbg
whyaf
vgxze
ufwyd
tevxc
14
15
sebab
P = ROT13(ROT13(P))
ROT13(ROT13(x)) = ROT26(x) = x
dengan ROT13
16
17
Cipher abjadabjad-tunggal
(monoalphabetic cipher)
bersesuaian.
Contoh: Caesar Cipher
18
cipherteks
20
homofon
21
Huruf
Plainteks
22
23
Cipher AbjadAbjad-Majemuk
(Polyalpabetic substitution cipher)
24
Plainteks:
tunggal.
25
BY THE SEASHORE
YK EYK EYKEYKEY
ZI XFO WCKWFYVC
27
Cipher Transposisi
Cipherteks diperoleh dengan mengubah posisi huruf di dalam
plaintekls.
Dengan kata lain, algoritma ini melakukan transpose terhadap rangkaian
28
30
1
I
2
T
3
B
4
G
5
A
6
N
7
E
8
S
1
H
2
A
3
S
4
E
5
P
6
U
7
L
8
U
1
H
2
A
3
B
4
C
5
D
6
E
7
F
8
G
S
1
T
2
B
3
A
4
G
5
N
6
E
7
I
8
U
1
A
2
S
3
P
4
E
5
U
6
L
7
H
8
G
1
A
2
B
3
D
4
C
5
E
6
F
7
H
8
Cipherteks: STBAGNEIUASPEULHGABDCEFH
31
T
P
Y
A
O R
G
A
P
Y
H
A
N
E
T
32
S
A
I
C
R
U
T
Y
SuperSuper-enkripsi
33