Anda di halaman 1dari 12

BAB 3

ALGORITMA KRIPTOGRAFI KLASIK

Sebelum ada computer, Kriptografi dilakukan menggunakan pensil

dan kertas.
Algoritma Kriptografi ( chipher ) yang digunakan saat itu adalah
Algoritma Klasik yang mana berbasis Karakter : Enkripsi dan
dekripsi dilakukan pada setiap karakter pesan.
Semua Kriptografi klasik termasuk ke dalam Sistem kriptografi
simetri.
Algoritma Kriptografi klasik sekarang sangat jarang digunakan ,
karena mudah dipecahkan.
3 alasan mempelajari algoritma Kriptografi Klasik :
a) Untuk memberikan pemahaman konsep dasar kriptografi
b) Sebagai dasar algoritma Kriptografi modern
c) Agar dapat memahami potensi-potensi kelemahan sistem cipher.
Algoritma Kriptografi klasik dapat dikelompokkan ke dalam 2
macam cipher :
a) Cipher Substitusi
b) Cipher Transposisi

3.1. CIPHER SUBSTITUSI


Setiap unit( 1 huruf, pasangan huruf, kelompok > 2 huruf) plainteks

diganti dengan 1 unit cipherteks.


Algoritma Substitusi tertua : CAESAR CIPHER, yang digunakan
kaisar Romawi ( Julius Caesar ) untuk menyandikan pesan yg dikirim
ke para gubernurnya, shg dinamakan Caesar Cipher.

CAESAR CIPHER
Pada Caesar Cipher, tiap huruf disubstitusi dengan huruf ketiga

berikutnya dari susunan alphabet yang sama.


Jadi kuncinya : Jumlah pergeseran huruf ( yaitu 3)
Tabel substitusinya sebagai berikut:
Plainteks 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
Dengan mengkodekan setiap huruf alphabet dengan integer : A = 0,

B = 1; ; Z = 25, maka secara matematis pergeseran 3 huruf


alphabet ekuivalen dengan melakukan : Operasi modulo terhadap
Plainteks P menjadi cipherteks C dengan persamaan :
C = E(P) = (P+3) mod 26
Penerima pesan mengembalikan lagi Cipherteks dengan operasi

kebalikan, yaitu dengan persamaan :


P = D(C) = (C-3) mod 26
Contoh : Dengan menggunakan Caesar Cipher, maka pesan :

AWASI SANTOSO DAN TEMANNYA


Disandikan menjadi :
DZDVL VAQWRVR GDQ WHPDQQBD
Dari contoh di atas, jika digunakan persamaan : C = E(P) = (P+3) mod
26, maka didapat :
p1 = A = 0

c1 = E(0) = (0+3) mod 26 = 3 = D

p2 = W = 22

c2 = E(22) = (22+3) mod 26 = 25 = D

p3 = A = 0

c3 = E(0) = (0+3) mod 26 = 3 = D

p4 = S = 18

c1 = E(18) = (18+3) mod 26 = 21 = V

p5 = I = 8

c5 = E(8) = (8+3) mod 26 = 11 = L dst.

Bila keseluruhan perhitungan diselesaikan, shg cipherteksnya menjadi :


DZDVL VAQWRVR GDQ WHPDQQBD
Cipherteks

tsb dapat dikembalikan menjadi Plainteks


menggunakan persamaan : P = D(C) = (C-3) mod 26, hasilnya:
AWASI SANTOSO DAN TEMANNYA

asal

Secara umum, untuk pergeseran huruf sejauh k ( k : adalah kunci

enkripsi atau dekripsi ), maka :


Fungsi Enkripsi : C=E(P) = (P+k) mod 26
Fungsi Dekripsi : P= D(C ) = (C-k ) mod 26
Untuk mengenkripsi / mendekripsi pesan yang disusun oleh 256

karakter, maka :
Fungsi Enkripsi : C=E(P) = (P+k) mod 256
Fungsi Dekripsi : P= D(C ) = (C-k ) mod 256
Program ROT13 ( rotate by 13 places ), adalah program Caeras
Cipher sederhana yg ditemukan pada sistem UNIX.
ROT13 menggunakan Caesar Cipher dengan pergeseran k = 13 ( A
diganti N, B diganti O, dst )
Lihat Gambar 3.1 berikut :

Gambar 3.1.Pemetaan huruf-huruf Plainteks dengan huruf-huruf


Cipherteks di ROT13
KRIPTANALISIS TERHADAP CAESAR CIPHERTEKS
Caesar Cipher mudah dipecahkan, cukup dengan ciphetext-only

attack saja, menggunakan metode Exhaustive key Search, karena


jumlah kuncinya hanya 26 ( jika menggunakan alphabet 26 huruf ).
Shg Kriptanalisis terhadap Ciphertext dilakukan dengan mencoba 26
kunci periksa hasilnya Jika hasil dekripsi adalah kata bermakna,
maka nilai k yang berkoresponden adalah kuncinya.
Contoh :
Misal Kriptanalis menemukan potongan cipherteks (cryptogram) :
XMZVH
Asumsi 1: Kriptanalis tahu jika plainteks disusun dlm bhs Inggris.
Asumsi 2: Algoritma yang digunakan : Caesar Cipher
Untuk menemukan plainteks, maka dilakukan dekripsi dengan
semua kunci sbb:
Kunci (k)
Hasil
ciphering dekripsi
0
XMZVH
25
YNAWI
24
ZOBXJ
23
APCYK
22
BQDZL
21
CREAM

Kunci (k)
ciphering
17
16
15
14
13

Hasil
dekripsi
GVIEQ
HWJFR
IXKGS
JYLHT
KZMIU

Kunci (k)
ciphering
8
7
6
5
4

Hasil
dekripsi
PERNZ
QFSOA
RGTPB
SHUQC
TIVRD

Sdh ditemukan hasil dekripsinya : CREAM, dengan k=21. ( Kunci


ini digunakan untuk mendekripsi cipherteks lainnya )

3.2. JENIS-JENIS CIPHER SUBSTITUSI


Cipher Substitusi dapat dikelompokkan ke dalam 4 jenis:

1.
2.
3.
4.

Cipher-alfabet tunggal
Cipher-alfabet majemuk
Cipher Substitusi Homofonik
Cipher Substitusi Poligram

Cipher Alfabet-Tunggal
Pada Cipher Alfabet-Tunggal (monoalphabetic cipher ) / Cipher

Substitusi Sederhana ( Simple Substitution Cipher ) : Satu huruf di


plainteks diganti dengan 1 huruf di cipherteks.
Caesar Cipher & program ROT13 adalah kasus khusus dari Cipher
Alfabet-Tunggal
Jika plainteks terdiri dari huruf-huruf alphabet, maka banyak
kemungkinan susunan huruf-huruf cipherteks yang dibuat = 26! =
403.291.461.126.605.635.584.000.000
Berarti terdapat 26! Kunci untuk menyusun huruf-huruf alphabet ke
dalam tabel substitusi.
Susunan huruf di tabel Substitusi Caesar Cipher adalah salah-satu
kemungkinannya.
Susunan huruf-huruf Cipherteks dapat diperoleh dengan cara
menyusun huruf-huruf alphabet secara acak seperti tabel berikut ini :

Plainteks 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 I Q M T B Z S Y K V O F E R J A U W P X H L C N G

Contoh lain : Satu cara untuk membangkitkan kunci adalah dengan

kalimat yang mudah diingat.


Misal kuncinya adalah : we hope enjoy this book
Dari kunci, buang perulangan huruf, menjadi : we hop njy tis bk
Sambung kunci yg sudah dihilangkan perulangan hurufnya dengan
huruf-huruf lain yang tidak ada di kalimat itu, didapat :
wehopyunjtisbkacdfglmqrvxz
Sehingga diperoleh tabel Substitusi sbb :

Plainteks 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 W E H O P Y U N J T I S B K AC D F G L M Q R V X Z
Contoh Kasus 1 : Kriptanalis mempunyai potongan Cipherteks :

G WR W RWL
Ada 2 kata dgn panjang 1 huruf di Bhs Inggris ( yaitu : I dan A )
Kemungkinan 1: G menyatakan huruf A dan W menyatakan huruf
I.
Kemungkinan 2: G menyatakan huruf I dan W menyatakan huruf
A.
Kemungkinan G = A dapat dieliminasi, sehingga G = I, shp potongan
cipherteks tsb adalah : I AM A MAN
Contoh Kasus 2 :

Kriptanalis mempunyai potongan cipherteks :

HKC.
Tak banyak informasi yg dapat disimpulkan dari cryptogram HKC
tsb.
..
Contoh Kasus 2 : Kriptanalis mempunyai potongan cipherteks :
HATTPT

Di sini: Kriptanalis dapat membatasi jumlah kemungkinan huruf

plainteks yang dipetakan menjadi T.


Mungkin plainteksnya : CHEESE ; MISSES ; CANNON
Jika cryptogram HATTPT tsb nama Negara, maka plainteksnya :
GREECE.
Cipher Alfabet-Majemuk
Merupakan cipher substitusi-ganda ( multiple-substitution cipher )

yang melibatkan penggunaan kunci berbeda.


Dibuat dari sejumlah cipher alphabet-tunggal, masing-masing dengan
kunci yang berbeda.
Metode ini digunakan tentara AS selama perang sipil amerika.
Kebanyakan merupakan cipher substitusi periodic, yang didasarkan
periode m. Misal plainteks P adalah:
P = p1 p2 p3 pm pm+1 p2m
Maka cipherteks hasil enkripsi adalah :

Ek(P) = f1(p1) f2(p2) fm(pm) fm+1(pm+1) f2m(p2m)


pi : Huruf-huruf di dalam palinteks
fi : Fungsi enkripsi

Contoh Cipher substitusi Periodik : Vigenere Cipher, ditemukan oleh

Blaise de Vigenere pada abad 16.


Misal K adalah barisan kunci : K = k1k2km
ki : Jumlah pergeseran pada huruf ke-i., i = 1, 2, , m.
Maka karakter cipherteks yi(p) adalah : yi(p) = (p + ki) mod 26
Ilustrasi :

Misal m=20 ( maka 20 karakter pertama dienkripsi dengan

persamaan : yi(p) = (p + ki) mod 26 ), dimana setiap karakter ke-i


mempunyai kunci ki.
Untuk 20 karakter berikutnya menggunakan pola enkripsi yang
sama.

Contoh: Misal Enkripsi pada suatu pesan dengan kunci LAMPION

yang panjangnya (m) = 7.


P: KRIPTOGRAFIKLASIKDENGANCIPHERALFABETMAJEMUK
K: LAMPIONLAMPIONLAMPIONLAMPIONLAMPIONLAMPION
C: VRU..

Huruf ke-1: K dienkripsi dengan kunci L sebagai (K+L) mod 26 =


(10+11) mod 26 = 21 = V
Huruf ke-2: R dienkripsi dengan kunci A sebagai (R+A) mod 26 =
(17+0) mod 26 = 17 = R
Huruf ke-3: I dienkripsi dengan kunci M sebagai (I+M) mod 26 =
(8+12) mod 26 = 20 = U
Dst.

Cipher Substitusi Homofonik


Adalah seperti Cipher Alfabet-Tunggal, tetapi setiap huruf di dalam

plainteks dapat dipetakan ke dalam salah-satu dari unit cipherteks


yang mungkin.
Maksudnya: Setiap huruf plainteks bisa memiliki > 1 kemungkinan
unit cipherteks

Huruf yang paling sering muncul di dalam teks mempunyai lebih


banyak pilihan unit cipherteks.
Misal huruf E ( paling sering muncul dalam bahasa Inggris ) dapat
berkoresponden dengan : AB, TQ, YT atau UX.
Huruf B dapat berkoresponden dengan : EK, MF atau KY dst.
JadiFungsi cipheringnya memetakan 1 ke banyak ( one-tomany).
Homofonik : Semua unit cipherteks yang berkoresponden dengan 1
huruf plainteks.
Tujuan Substitusi Homofonik : Untuk menyembunyikan hubungan
Statistik antara plainteks dengan cipherteks sehingga menyulitkan
teknik analisis frekuensi.
Contoh :
Misalkan huruf-huruf dihitung frekuensi kemunculannya pada
suatu teks.
Selanjutnya dibuat diagram batang yang menggambarkan frekuensi
kemunculan huruf-huruf di teks tersebut.
Lihat Gambar 3.2 berikut ini :

Gambar 3.2.Frekuensi kemunculan huruf pd teks Bhs Inggris

Frekuensi kemunculan huruf E di teks = 13%, maka huruf E dapat

dikodekan dengan 13 buah homofon, spt tabel 3.1 berikut ini:

Huruf
Plainteks
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

Pilihan untuk unit cipherteks


BU CP AV AH BT BS CQ
AT
DL BK AU
BV DY DM AI
DK CO AW BL AA CR BM CS AF AG BO BN BE
BW CM CN
DN BJ
AS CL CK
DJ BI AX CJ AB BP CU CT
BX
DI
AR BH CI AJ
DH BG AY
BY DG DF CH AC BR DU DT
DZ BF DX AK CG BQ DR
BZ DE AZ
DD
AQ DC DQ AL CE CF CV DS
AP AN AO CD DW DV
CB DB DP CC AD CY CW CX AE
CA AM BA
BB
CZ
BD
DO DA
BC
Tabel 3.1. Tabel Homofon

Unit plainteks KRIPTO bisa dienkripsi menjadi :DI DC AX AZ CB

BF.
Unit cipherteks yang dipilih diantara semua kemungkinan yang ada
ditentukan secara acak.

Cipher Substitusi Homofonik lebih sulit dipecahkan daripada Cipher

Alphabet-Tunggal.

Cipher Substitusi Poligram


Setiap Kelompok huruf

disubstitusi dengan kelompok huruf

Cipherteks.
Misal : AP diganti RW, BY diganti SL, dst.
Jika unit huruf Plainteks/Cipherteks:
Panjangny 2 huruf disebut : digram.
Panjangny 3 huruf disebut : trigram
(Blok cipherteks tdk harus sama panjang dengan blok plainteks )

3.3. Cipher Transposisi


Pada Cipher Transposisi, huruf-huruf di dalam plainteks tetap sama,

hanya urutannya yang diubah.


Algoritma ini melakukan transpose terhadap rangakaian karakter di
dalam plainteks.
Nama lainnya : Permutasi / Pengacakan / Scrambling.
Contoh :
Misal Plainteksnya : DEPARTEMEN TEKNIK INFORMATIKA ITB
Untuk mengenkrip pesan, plainteks ditulis secara horizontal dengan
lebar kolom tetap ( Misal : lebar 6 karakter, k=6)
DEPART
EMENTE
KNIKIN

FORMAT
IKAITB
Cipherteksnya dibaca secara Vertikal, menjadi:
DEKFIEMNOKPEIRAANKMIRTIATTENTB
Untuk mendekripsi pesan, bagi panjang Cipherteks dengan kunci (

30/6 = 5)
Tulis Cipherteks dalam baris-baris dengan lebar 5 karakter:
DEKFI
EMNOK
PEIRA
ANKMI
RTIAT
TENTB
Baca perkolom, didapat pesan semula/Plainteksnya :
DEPARTEMEN TEKNIK INFORMATIKA ITB

Anda mungkin juga menyukai