SlideShare a Scribd company logo
Algoritma Kriptografi Klasik (Bagian 1) 
Bekerja sama dengan: 
Rinaldi Munir
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: 
1. Memahami konsep dasar kriptografi. 
2. Dasar algoritma kriptografi modern. 
3. Memahami kelemahan sistem cipher.
Algoritma kriptografi klasik: 
1. Cipher Substitusi (Substitution Ciphers) 
2.Cipher Transposisi (Transposition Ciphers)
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: AWASI ASTERIX DAN TEMANNYA OBELIX 
Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA
Caesar wheel
•Dalam praktek, cipherteks dikelompokkan ke dalam kelompok n- huruf, misalnya kelompok 4-huruf: 
Semula: DZDVL DVWHULA GDQ WHPDQQBA REHOLA 
Menjadi: DZDV LDVW HULA GDQW HPDQ QBAR EHOL A 
•Atau membuang semua spasi: 
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
•Jika pergeseran huruf sejauh k, maka: 
Enkripsi: ci = E(pi) = (pi + k) mod 26 
Dekripsi: pi = D(ci) = (ci – k) mod 26 
k = kunci rahasia 
•Untuk 256 karakter ASCII, maka: 
Enkripsi: ci = E(pi) = (pi + k) mod 256 
Dekripsi: pi = D(ci) = (ci – k) mod 256 
k = kunci rahasia
/* Program enkripsi file dengan Caesar cipher */ 
#include <stdio.h> 
main(int argc, char *argv[]) 
{ 
FILE *Fin, *Fout; 
char p, c; 
int k; 
Fin = fopen(argv[1], "rb"); 
if (Fin == NULL) 
printf("Kesalahan dalam membuka %s sebagai berkas masukan/n", argv[1]); 
Fout = fopen(argv[2], "wb"); 
printf("¥nEnkripsi %s menjadi %s ...¥n", argv[1], argv[2]); 
printf("¥n"); 
printf("k : "); 
scanf("%d", &k); 
while ((p = getc(Fin)) != EOF) 
{ c = (p + k) % 256; 
putc(c, Fout); 
} 
fclose(Fin); 
fclose(Fout); 
}
/* Program dekripsi file dengan Caesar cipher */ 
#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", argv[1]); 
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); 
}
Kelemahan: 
Caesar cipher mudah dipecahkan dengan exhaustive key search karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci).
Contoh: kriptogram XMZVH 
•Plainteks yang potensial adalah CREAM dengan k = 21. 
•Kunci ini digunakan untuk mendekripsikan cipherteks lainnya. 
Tabel 1. Contoh exhaustive key search terhadap cipherteks XMZVH Kunci (k) ciphering ‘Pesan’ hasil dekripsi Kunci (k) ciphering ‘Pesan’ hasil dekripsi Kunci (k) ciphering ‘Pesan’ hasil dekripsi 0 25 24 23 22 21 20 19 18 XMZVH YNAWI ZOBXJ APCYK BQDZL CREAM DSFBN ETGCO FUHDP 17 16 15 14 13 12 11 10 9 GVIEQ HWJFR IXKGS JYLHT KZMIU LANJV MBOKW NCPLX ODQMY 8 7 6 5 4 3 2 1 PERNZ QFSOA RGTPB SHUQC TIVRD UJWSE VKXTF WLYUG
PHHW PH DIWHU WKH WRJD SDUWB 
KEY 
1 oggv og chvgt vjg vqic rctva 
2 nffu nf bgufs uif uphb qbsuz 
3 meet me after the toga party 
4 Ldds ld zesdq sgd snfz ozqsx 
5 kccr kc ydrcp rfc rmey nyprw 
6 … 
21 ummb um inbmz bpm bwoi xizbg 
22 tlla tl hmaly aol avnh whyaf 
23 skkz sk glzkx znk zumg vgxze 
24 rjjy rj fkyjw ymj ytlf ufwyd 
25 qiix qi ejxiv xli xske tevxc
Contoh: Misalkan kriptogram HSPPW menghasilkan dua kemungkinan kunci yang potensial, yaitu: 
k = 4 menghasilkan pesan DOLLS 
k = 11 menghasilkan WHEEL. 
Nilai k mana yang benar? 
Jika kasusnya demikian, maka lakukan dekripsi terhadap potongan cipherteks lain tetapi cukup menggunakan k = 4 dan k = 11 agar dapat disimpulkan kunci yang benar.
Di dalam sistem operasi Unix, ROT13 adalah fungsi menggunakan Caesar cipher dengan pergeseran k = 13
•Contoh: ROT13(ROTATE) = EBGNGR 
•Nama “ROT13” berasal dari net.jokes 
(hhtp://groups.google.com/group/net.jokes) (tahun 1980) 
•ROT13 biasanya digunakan di dalam forum online untuk menyandikan jawaban teka-teki, kuis, canda, dsb 
•Enkripsi arsip dua kali dengan ROT13 menghasilkan pesan semula: 
P = ROT13(ROT13(P)) 
sebab ROT13(ROT13(x)) = ROT26(x) = x 
•Jadi dekripsi cukup dilakukan dengan mengenkripsi cipherteks kembali dengan ROT13
Jenis-jenis Cipher Substitusi 
1.Cipher abjad-tunggal (monoalphabetic cipher) 
2.Cipher substitusi homofonik (Homophonic substitution Cipher) 
3.Cipher abjad-majemuk (Polyalpabetic substitution cipher ) 
4.Cipher substitusi poligram (Polygram substitution cipher )
Cipher abjad-tunggal (monoalphabetic cipher) 
•Satu huruf di plainteks diganti dengan satu huruf yang bersesuaian. 
–Contoh: Caesar Cipher 
•Jumlah kemungkinan susunan huruf-huruf cipherteks yang dapat dibuat pada sembarang cipher abjad- tunggal adalah sebanyak 
–26! = 403.291.461.126.605.635.584.000.000
• Tabel substitusi dapat dibentuk secara acak: 
• Atau dengan kalimat yang mudah diingat: 
Contoh: we hope you enjoy this book 
Buang duplikasi huruf: wehopyunjtisbk 
Sambung dengan huruf lain yang belum ada: 
wehopyunjtisbkacdfglmqrvxz 
Tabel substitusi: 
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 
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 A C D F G L M Q R V X Z
Cipher Substitusi Homofonik (Homophonic substitution cipher) 
•Setiap huruf plainteks dipetakan ke dalam salah satu huruf atau pasangan huruf cipherteks yang mungkin. 
•Tujuan: menyembunyikan hubungan statistik antara plainteks dengan cipherteks 
•Fungsi ciphering memetakan satu-ke-banyak (one-to-many). 
Misal: 
huruf E  AB, TQ, YT,UX (homofon) 
huruf B  EK, MF, KY (homofon)
•Contoh: Sebuah teks dengan frekuensi kemunculan huruf sbb: 
•Huruf E muncul 13 %  dikodekan dengan 13 huruf homofon
Huruf Plainteks Pilihan untuk unit cipherteks
•Unit cipherteks mana yang dipilih diantara semua homofon ditentukan secara acak. 
•Contoh: 
Plainteks: KRIPTO 
Cipherteks: DI CE AX AZ CC DX 
•Enkripsi: satu-ke-banyak 
•Dekripsi: satu-ke-satu 
•Dekripsi menggunakan tabel homofon yang sama.
Cipher Abjad-Majemuk (Polyalpabetic substitution cipher) 
•Cipher abjad-tunggal: satu kunci untuk semua huruf plainteks 
•Cipher abjad-majemuk: setiap huruf menggunakan kunci berbeda. 
• Cipher abjad-majemuk dibuat dari sejumlah cipher abjad-tunggal, masing-masing dengan kunci yang berbeda. 
•Contoh: Vigenere Cipher (akan dijelaskan pada kuliah selanjutnya)
•Plainteks: 
P = p1p2 … pmpm+1 … p2m … 
•Cipherteks: 
Ek(P) = f1(p1) f2(p2) … fm(pm) fm+1(pm+1) … f2m(p2m) … 
•Untuk m = 1, cipher-nya ekivalen dengan cipher abjad- tunggal.
Contoh: (spasi dibuang) 
P : KRIPTOGRAFIKLASIKDENGANCIPHERALFABETMAJEMUK 
K : LAMPIONLAMPIONLAMPIONLAMPIONLAMPIONLAMPIONL 
C : VRUEBCTCARXSZNDIWSMBTLNOXXVRCAXUIPREMMYMAHV 
Perhitungan: 
(K + L) mod 26 = (10 + 11) mod 26 = 21 = V 
(R + A) mod 26 = (17 + 0) mod 26 = 17 = R 
(I + M) mod 26 = (8 + 12) mod 26 = 20 = U 
dst 
Contoh 2: (dengan spasi) 
P: SHE SELLS SEA SHELLS BY THE SEASHORE 
K: KEY KEYKE YKE YKEYKE YK EYK EYKEYKEY 
C: CLC CIJVW QOE QRIJVW ZI XFO WCKWFYVC
Cipher substitusi poligram (Polygram substitution cipher ) 
•Blok huruf plainteks disubstitusi dengan blok cipherteks. 
•Misalnya AS diganti dengan RT, BY diganti dengan SL 
•Jika unit huruf plainteks/cipherteks panjangnya 2 huruf, maka ia disebut digram (biigram), jika 3 huruf disebut ternari-gram, dst 
•Tujuannya: distribusi kemunculan poligram menjadi flat (datar), dan hal ini menyulitkan analisis frekuensi. 
•Contoh: Playfair cipher (akan dijelaskan pada kuliah selanjutnya)
Cipher Transposisi 
•Cipherteks diperoleh dengan mengubah posisi huruf di dalam plaintekls. 
•Dengan kata lain, algoritma ini melakukan transpose terhadap rangkaian huruf di dalam plainteks. 
•Nama lain untuk metode ini adalah permutasi, karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut.
Contoh: Misalkan plainteks adalah 
DEPARTEMEN TEKNIK INFORMATIKA ITB 
Enkripsi: 
DEPART 
EMENTE 
KNIKIN 
FORMAT 
IKAITB 
Cipherteks: (baca secara vertikal) 
DEKFIEMNOKPEIRAANKMIRTIATTENTB 
DEKF IEMN OKPE IRAA NKMI RTIA TTEN TB
Dekripsi: Bagi panjang cipherteks dengan kunci. 
(Pada contoh ini, 30 / 6 = 5) 
DEKFI 
EMNOK 
PEIRA 
ANKMI 
RTIAT 
TENTB 
Plainteks: (baca secara vertikal) 
DEPARTEMEN TEKNIK INFORMATIKA ITB
•Contoh lain: Plainteks: ITB GANESHA SEPULUH 
•Bagi menjadi blok-blok 8-huruf. Jika < 8, tambahkan huruf palsu. 
•Cipherteks: STBAGNEIUASPEULHGABDCEFH 
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 I T B G A N E S H A S E P U L U H A B C D E F G S T B A G N E I U A S P E U L H G A B D C E F H 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
Contoh lain. Misalkan plainteks adalah CRYPTOGRAPHY AND DATA SECURITY Plainteks disusun menjadi 3 baris (k = 3) seperti di bawah ini: C T A A A E I R P O R P Y N D T S C R T Y G H D A U Y maka cipherteksnya adalah CTAAAEIRPORPYNDTSCRTYGHDAUY
Super-enkripsi 
•Menggabungkan cipher substitusi dengan cipher transposisi. 
•Contoh. Plainteks HELLO WORLD 
•dienkripsi dengan caesar cipher menjadi KHOOR ZRUOG 
kemudian hasil enkripsi ini dienkripsi lagi dengan cipher transposisi (k = 4): 
–KHOO 
–RZRU 
–OGZZ 
Cipherteks akhir adalah: KROHZGORZOUZ

More Related Content

DOCX
Caesar cipher adalah algoritma cipher
PPTX
kriptografi hill cipher
PPTX
Graf ( Matematika Diskrit)
PDF
Beberapa distribusi peluang diskrit (1)
DOCX
Tugas mandiri struktur data
PDF
Kriptografi - Stream Cipher
PPT
Algoritma penjadwalan proses
PPSX
Ukuran variasi atau dispersi (penyebaran)
Caesar cipher adalah algoritma cipher
kriptografi hill cipher
Graf ( Matematika Diskrit)
Beberapa distribusi peluang diskrit (1)
Tugas mandiri struktur data
Kriptografi - Stream Cipher
Algoritma penjadwalan proses
Ukuran variasi atau dispersi (penyebaran)

What's hot (20)

PDF
Teknik Enkripsi dan Dekripsi Playfair Cipher
PDF
Matematika Diskrit matriks relasi-dan_fungsi
PPT
Modul 4 representasi pengetahuan
PPTX
Kriptografi
PDF
Kriptografi - Algoritma RSA
PPTX
Bahan kuliah statistika gbs
PPTX
Pengantar Dan Konsep Keamanan Sistem Informasi
PDF
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
PPTX
Variabel acak dan nilai harapan (Statistik Ekonomi II)
PPTX
Pohon(tree) matematika diskrit
DOCX
Modul 3 Distribusi Probabilitas Diskrit dan Kontinu
PPT
relasi himpunan
DOCX
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
PPT
STANDARD SCORE, SKEWNESS & KURTOSIS
PPT
Statistika Probabilitas
PPTX
Jenis dan proses interupsi
PDF
Matematika Diskrit kombinatorial
PPT
Metode numerik persamaan non linier
PDF
VARIABEL RANDOM & DISTRIBUSI PELUANG
PDF
variabel random dan distribusi peluang
Teknik Enkripsi dan Dekripsi Playfair Cipher
Matematika Diskrit matriks relasi-dan_fungsi
Modul 4 representasi pengetahuan
Kriptografi
Kriptografi - Algoritma RSA
Bahan kuliah statistika gbs
Pengantar Dan Konsep Keamanan Sistem Informasi
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
Variabel acak dan nilai harapan (Statistik Ekonomi II)
Pohon(tree) matematika diskrit
Modul 3 Distribusi Probabilitas Diskrit dan Kontinu
relasi himpunan
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
STANDARD SCORE, SKEWNESS & KURTOSIS
Statistika Probabilitas
Jenis dan proses interupsi
Matematika Diskrit kombinatorial
Metode numerik persamaan non linier
VARIABEL RANDOM & DISTRIBUSI PELUANG
variabel random dan distribusi peluang
Ad

Similar to Kriptograf - Algoritma Kriptografi Klasik (bagian 1) (20)

PDF
03 01 algoritmakriptografiklasik
PPTX
Materi 1_Algoritma Kriptografi Klasik_Ahmad Zacky Taufiqul Hakim.pptx
PPTX
Kriptografi Klasik belajar kriptografi mudah
PPTX
KR02.pptx
PPT
Kripto Klasik
PDF
ikh323-03
PPT
5. algoritma kriptografi klasik (bag 1)xx
PDF
Algoritma Klasik
PPT
6.algoritma kriptografi klasik (bag 2)xx
PDF
Enkripsi
PPTX
KRIPTOGRAFI - 1 kriptografi 1 kriptografi 1.pptx
PPT
2. Kriptografi, Enkripsi, dan Dekripsi.ppt
PDF
Pertemuan 4 Keamanan Komputer_Rev.pdf
PPT
2863344
DOCX
Uas k eamanan komputer
PPTX
02. Kriptografi dan Keamanan Informasi - Kriptografi Klasik.pptx
PDF
Kriptografi reg 05
PPT
5 Macam Metode Dasar Kriptografi
PPTX
Kriptografi
PPT
03 01 algoritmakriptografiklasik
Materi 1_Algoritma Kriptografi Klasik_Ahmad Zacky Taufiqul Hakim.pptx
Kriptografi Klasik belajar kriptografi mudah
KR02.pptx
Kripto Klasik
ikh323-03
5. algoritma kriptografi klasik (bag 1)xx
Algoritma Klasik
6.algoritma kriptografi klasik (bag 2)xx
Enkripsi
KRIPTOGRAFI - 1 kriptografi 1 kriptografi 1.pptx
2. Kriptografi, Enkripsi, dan Dekripsi.ppt
Pertemuan 4 Keamanan Komputer_Rev.pdf
2863344
Uas k eamanan komputer
02. Kriptografi dan Keamanan Informasi - Kriptografi Klasik.pptx
Kriptografi reg 05
5 Macam Metode Dasar Kriptografi
Kriptografi
Ad

More from KuliahKita (20)

PPTX
CSS Eksperimen - 05-2 Popup Menu
PPTX
CSS Eksperimen - 05-1 Popup Konfirmasi
PPTX
CSS Eksperimen - 04-4 Elemen Sliding Door
PPTX
CSS Eksperimen - 04-3 Elemen Card Flip
PPTX
CSS Eksperimen - 04-2 accordion
PPTX
CSS Eksperimen - 04-1 informasi tab
PPTX
CSS Eksperimen - 03-3 Slide Side Menu
PPTX
CSS Eksperimen - 03-2 Breadcrumb
PPTX
CSS Eksperimen - 03-1 navigasi dasar
PPTX
CSS Eksperimen - 02-2 Flexbox Grid
PPTX
Eksperimen CSS - 02-1 grid layout
PPTX
Eksperimen CSS - 01 Pendahuluan
PDF
07 equity research (bagian 2)
PDF
Pasar Saham - 32 Discounted Cash Flow (DCF)
PDF
Pasar Saham - Equity Research (bagian 1)
PDF
Pasar Saham - 30 Investment Due Dilligence
PDF
Pasar Saham - 29 Financial Ratio 03
PDF
Pasar Saham - 28 Financial Ratio 02
PDF
Pasar Saham -27 financial ratio 01
PDF
Pasar Saham - 26 Cash Flow Statement
CSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 02-2 Flexbox Grid
Eksperimen CSS - 02-1 grid layout
Eksperimen CSS - 01 Pendahuluan
07 equity research (bagian 2)
Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - Equity Research (bagian 1)
Pasar Saham - 30 Investment Due Dilligence
Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 28 Financial Ratio 02
Pasar Saham -27 financial ratio 01
Pasar Saham - 26 Cash Flow Statement

Recently uploaded (20)

PPTX
Aalat Pelindung Diri_Keselamatan_Bengkel Otomotif_SMK
PPTX
LAPORAN ANTARA JAKSTRADA PROPINSI NTT.PPT
PPT
Presentasi Tentang Diagram P-h dan Diagram Psikrometrik.ppt
PDF
10. MK, EWS dan Lap Fisik_Sanimas_17092024.pdf
PPTX
PRESENTATION PRODUCT KNOWLEDGE Mc-Quay (ID).pptx
PPTX
Data mining mengolah informasi dan menjadikannya dasar pengambilan keputusan
PDF
13. Penyusunan RKTL TFL_PK IV Sanimas.pdf
PDF
03. Konsep Dasar.. Sanimas Rev.1.pptx.pdf
PPTX
Metode Penanggulangan Kehilangan Air dan Strategi Pengendalian Kehilangan Air...
PPTX
4. PENERAPAN PENGELOLAAN SUMBER DAYA MANUSIA.pptx
PPTX
Seminar Hasil Penelitian Analisis Pegas Daun
PPTX
KETERAMPILAN KADER - Copy TAHUN 2024.pptx
PDF
6. Sosialisasi dan .. Pembentukan KMP.pdf
PDF
01. Mengelola Risiko pada Kegiatan IBM Sanitasi.pdf
PDF
Jual GPS Topcon HiPer SR Extended Range Site Receiver
PPTX
PPT mssp arham muthahhari mata kuliah ms
PDF
12. Mekanisme Pelaporan Kegiatan Sanimas_rev08082024.pptx.pdf
PDF
07. Mekanisme Penyusunan RKM_Sanimas 2024 (Tahap 2).pptx.pdf
PPTX
20240805-ppt-pendahuluan-temef-dan-manikin.pptx
PPTX
1 Peraturan Perundangan terkait Keselamatan Konstruksi 18.10 - Copy.pptx
Aalat Pelindung Diri_Keselamatan_Bengkel Otomotif_SMK
LAPORAN ANTARA JAKSTRADA PROPINSI NTT.PPT
Presentasi Tentang Diagram P-h dan Diagram Psikrometrik.ppt
10. MK, EWS dan Lap Fisik_Sanimas_17092024.pdf
PRESENTATION PRODUCT KNOWLEDGE Mc-Quay (ID).pptx
Data mining mengolah informasi dan menjadikannya dasar pengambilan keputusan
13. Penyusunan RKTL TFL_PK IV Sanimas.pdf
03. Konsep Dasar.. Sanimas Rev.1.pptx.pdf
Metode Penanggulangan Kehilangan Air dan Strategi Pengendalian Kehilangan Air...
4. PENERAPAN PENGELOLAAN SUMBER DAYA MANUSIA.pptx
Seminar Hasil Penelitian Analisis Pegas Daun
KETERAMPILAN KADER - Copy TAHUN 2024.pptx
6. Sosialisasi dan .. Pembentukan KMP.pdf
01. Mengelola Risiko pada Kegiatan IBM Sanitasi.pdf
Jual GPS Topcon HiPer SR Extended Range Site Receiver
PPT mssp arham muthahhari mata kuliah ms
12. Mekanisme Pelaporan Kegiatan Sanimas_rev08082024.pptx.pdf
07. Mekanisme Penyusunan RKM_Sanimas 2024 (Tahap 2).pptx.pdf
20240805-ppt-pendahuluan-temef-dan-manikin.pptx
1 Peraturan Perundangan terkait Keselamatan Konstruksi 18.10 - Copy.pptx

Kriptograf - Algoritma Kriptografi Klasik (bagian 1)

  • 1. Algoritma Kriptografi Klasik (Bagian 1) Bekerja sama dengan: Rinaldi Munir
  • 2. 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: 1. Memahami konsep dasar kriptografi. 2. Dasar algoritma kriptografi modern. 3. Memahami kelemahan sistem cipher.
  • 3. Algoritma kriptografi klasik: 1. Cipher Substitusi (Substitution Ciphers) 2.Cipher Transposisi (Transposition Ciphers)
  • 4. 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: AWASI ASTERIX DAN TEMANNYA OBELIX Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA
  • 6. •Dalam praktek, cipherteks dikelompokkan ke dalam kelompok n- huruf, misalnya kelompok 4-huruf: Semula: DZDVL DVWHULA GDQ WHPDQQBA REHOLA Menjadi: DZDV LDVW HULA GDQW HPDQ QBAR EHOL A •Atau membuang semua spasi: DZDVLDVWHULAGDQWHPDQQBAREHOLA •Tujuannya agar kriptanalisis menjadi lebih sulit
  • 7. •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
  • 8. •Jika pergeseran huruf sejauh k, maka: Enkripsi: ci = E(pi) = (pi + k) mod 26 Dekripsi: pi = D(ci) = (ci – k) mod 26 k = kunci rahasia •Untuk 256 karakter ASCII, maka: Enkripsi: ci = E(pi) = (pi + k) mod 256 Dekripsi: pi = D(ci) = (ci – k) mod 256 k = kunci rahasia
  • 9. /* Program enkripsi file dengan Caesar cipher */ #include <stdio.h> main(int argc, char *argv[]) { FILE *Fin, *Fout; char p, c; int k; Fin = fopen(argv[1], "rb"); if (Fin == NULL) printf("Kesalahan dalam membuka %s sebagai berkas masukan/n", argv[1]); Fout = fopen(argv[2], "wb"); printf("¥nEnkripsi %s menjadi %s ...¥n", argv[1], argv[2]); printf("¥n"); printf("k : "); scanf("%d", &k); while ((p = getc(Fin)) != EOF) { c = (p + k) % 256; putc(c, Fout); } fclose(Fin); fclose(Fout); }
  • 10. /* Program dekripsi file dengan Caesar cipher */ #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", argv[1]); 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); }
  • 11. Kelemahan: Caesar cipher mudah dipecahkan dengan exhaustive key search karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci).
  • 12. Contoh: kriptogram XMZVH •Plainteks yang potensial adalah CREAM dengan k = 21. •Kunci ini digunakan untuk mendekripsikan cipherteks lainnya. Tabel 1. Contoh exhaustive key search terhadap cipherteks XMZVH Kunci (k) ciphering ‘Pesan’ hasil dekripsi Kunci (k) ciphering ‘Pesan’ hasil dekripsi Kunci (k) ciphering ‘Pesan’ hasil dekripsi 0 25 24 23 22 21 20 19 18 XMZVH YNAWI ZOBXJ APCYK BQDZL CREAM DSFBN ETGCO FUHDP 17 16 15 14 13 12 11 10 9 GVIEQ HWJFR IXKGS JYLHT KZMIU LANJV MBOKW NCPLX ODQMY 8 7 6 5 4 3 2 1 PERNZ QFSOA RGTPB SHUQC TIVRD UJWSE VKXTF WLYUG
  • 13. PHHW PH DIWHU WKH WRJD SDUWB KEY 1 oggv og chvgt vjg vqic rctva 2 nffu nf bgufs uif uphb qbsuz 3 meet me after the toga party 4 Ldds ld zesdq sgd snfz ozqsx 5 kccr kc ydrcp rfc rmey nyprw 6 … 21 ummb um inbmz bpm bwoi xizbg 22 tlla tl hmaly aol avnh whyaf 23 skkz sk glzkx znk zumg vgxze 24 rjjy rj fkyjw ymj ytlf ufwyd 25 qiix qi ejxiv xli xske tevxc
  • 14. Contoh: Misalkan kriptogram HSPPW menghasilkan dua kemungkinan kunci yang potensial, yaitu: k = 4 menghasilkan pesan DOLLS k = 11 menghasilkan WHEEL. Nilai k mana yang benar? Jika kasusnya demikian, maka lakukan dekripsi terhadap potongan cipherteks lain tetapi cukup menggunakan k = 4 dan k = 11 agar dapat disimpulkan kunci yang benar.
  • 15. Di dalam sistem operasi Unix, ROT13 adalah fungsi menggunakan Caesar cipher dengan pergeseran k = 13
  • 16. •Contoh: ROT13(ROTATE) = EBGNGR •Nama “ROT13” berasal dari net.jokes (hhtp://groups.google.com/group/net.jokes) (tahun 1980) •ROT13 biasanya digunakan di dalam forum online untuk menyandikan jawaban teka-teki, kuis, canda, dsb •Enkripsi arsip dua kali dengan ROT13 menghasilkan pesan semula: P = ROT13(ROT13(P)) sebab ROT13(ROT13(x)) = ROT26(x) = x •Jadi dekripsi cukup dilakukan dengan mengenkripsi cipherteks kembali dengan ROT13
  • 17. Jenis-jenis Cipher Substitusi 1.Cipher abjad-tunggal (monoalphabetic cipher) 2.Cipher substitusi homofonik (Homophonic substitution Cipher) 3.Cipher abjad-majemuk (Polyalpabetic substitution cipher ) 4.Cipher substitusi poligram (Polygram substitution cipher )
  • 18. Cipher abjad-tunggal (monoalphabetic cipher) •Satu huruf di plainteks diganti dengan satu huruf yang bersesuaian. –Contoh: Caesar Cipher •Jumlah kemungkinan susunan huruf-huruf cipherteks yang dapat dibuat pada sembarang cipher abjad- tunggal adalah sebanyak –26! = 403.291.461.126.605.635.584.000.000
  • 19. • Tabel substitusi dapat dibentuk secara acak: • Atau dengan kalimat yang mudah diingat: Contoh: we hope you enjoy this book Buang duplikasi huruf: wehopyunjtisbk Sambung dengan huruf lain yang belum ada: wehopyunjtisbkacdfglmqrvxz Tabel substitusi: 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 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 A C D F G L M Q R V X Z
  • 20. Cipher Substitusi Homofonik (Homophonic substitution cipher) •Setiap huruf plainteks dipetakan ke dalam salah satu huruf atau pasangan huruf cipherteks yang mungkin. •Tujuan: menyembunyikan hubungan statistik antara plainteks dengan cipherteks •Fungsi ciphering memetakan satu-ke-banyak (one-to-many). Misal: huruf E  AB, TQ, YT,UX (homofon) huruf B  EK, MF, KY (homofon)
  • 21. •Contoh: Sebuah teks dengan frekuensi kemunculan huruf sbb: •Huruf E muncul 13 %  dikodekan dengan 13 huruf homofon
  • 22. Huruf Plainteks Pilihan untuk unit cipherteks
  • 23. •Unit cipherteks mana yang dipilih diantara semua homofon ditentukan secara acak. •Contoh: Plainteks: KRIPTO Cipherteks: DI CE AX AZ CC DX •Enkripsi: satu-ke-banyak •Dekripsi: satu-ke-satu •Dekripsi menggunakan tabel homofon yang sama.
  • 24. Cipher Abjad-Majemuk (Polyalpabetic substitution cipher) •Cipher abjad-tunggal: satu kunci untuk semua huruf plainteks •Cipher abjad-majemuk: setiap huruf menggunakan kunci berbeda. • Cipher abjad-majemuk dibuat dari sejumlah cipher abjad-tunggal, masing-masing dengan kunci yang berbeda. •Contoh: Vigenere Cipher (akan dijelaskan pada kuliah selanjutnya)
  • 25. •Plainteks: P = p1p2 … pmpm+1 … p2m … •Cipherteks: Ek(P) = f1(p1) f2(p2) … fm(pm) fm+1(pm+1) … f2m(p2m) … •Untuk m = 1, cipher-nya ekivalen dengan cipher abjad- tunggal.
  • 26. Contoh: (spasi dibuang) P : KRIPTOGRAFIKLASIKDENGANCIPHERALFABETMAJEMUK K : LAMPIONLAMPIONLAMPIONLAMPIONLAMPIONLAMPIONL C : VRUEBCTCARXSZNDIWSMBTLNOXXVRCAXUIPREMMYMAHV Perhitungan: (K + L) mod 26 = (10 + 11) mod 26 = 21 = V (R + A) mod 26 = (17 + 0) mod 26 = 17 = R (I + M) mod 26 = (8 + 12) mod 26 = 20 = U dst Contoh 2: (dengan spasi) P: SHE SELLS SEA SHELLS BY THE SEASHORE K: KEY KEYKE YKE YKEYKE YK EYK EYKEYKEY C: CLC CIJVW QOE QRIJVW ZI XFO WCKWFYVC
  • 27. Cipher substitusi poligram (Polygram substitution cipher ) •Blok huruf plainteks disubstitusi dengan blok cipherteks. •Misalnya AS diganti dengan RT, BY diganti dengan SL •Jika unit huruf plainteks/cipherteks panjangnya 2 huruf, maka ia disebut digram (biigram), jika 3 huruf disebut ternari-gram, dst •Tujuannya: distribusi kemunculan poligram menjadi flat (datar), dan hal ini menyulitkan analisis frekuensi. •Contoh: Playfair cipher (akan dijelaskan pada kuliah selanjutnya)
  • 28. Cipher Transposisi •Cipherteks diperoleh dengan mengubah posisi huruf di dalam plaintekls. •Dengan kata lain, algoritma ini melakukan transpose terhadap rangkaian huruf di dalam plainteks. •Nama lain untuk metode ini adalah permutasi, karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut.
  • 29. Contoh: Misalkan plainteks adalah DEPARTEMEN TEKNIK INFORMATIKA ITB Enkripsi: DEPART EMENTE KNIKIN FORMAT IKAITB Cipherteks: (baca secara vertikal) DEKFIEMNOKPEIRAANKMIRTIATTENTB DEKF IEMN OKPE IRAA NKMI RTIA TTEN TB
  • 30. Dekripsi: Bagi panjang cipherteks dengan kunci. (Pada contoh ini, 30 / 6 = 5) DEKFI EMNOK PEIRA ANKMI RTIAT TENTB Plainteks: (baca secara vertikal) DEPARTEMEN TEKNIK INFORMATIKA ITB
  • 31. •Contoh lain: Plainteks: ITB GANESHA SEPULUH •Bagi menjadi blok-blok 8-huruf. Jika < 8, tambahkan huruf palsu. •Cipherteks: STBAGNEIUASPEULHGABDCEFH 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 I T B G A N E S H A S E P U L U H A B C D E F G S T B A G N E I U A S P E U L H G A B D C E F H 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
  • 32. Contoh lain. Misalkan plainteks adalah CRYPTOGRAPHY AND DATA SECURITY Plainteks disusun menjadi 3 baris (k = 3) seperti di bawah ini: C T A A A E I R P O R P Y N D T S C R T Y G H D A U Y maka cipherteksnya adalah CTAAAEIRPORPYNDTSCRTYGHDAUY
  • 33. Super-enkripsi •Menggabungkan cipher substitusi dengan cipher transposisi. •Contoh. Plainteks HELLO WORLD •dienkripsi dengan caesar cipher menjadi KHOOR ZRUOG kemudian hasil enkripsi ini dienkripsi lagi dengan cipher transposisi (k = 4): –KHOO –RZRU –OGZZ Cipherteks akhir adalah: KROHZGORZOUZ