Algoritma Kriptografi Klasik (Bagian 1)

Slides:



Advertisements
Presentasi serupa
Algoritma Kriptografi Modern (Bagian 1)
Advertisements

Algoritma Kriptografi Klasik (bag 1)
1 Asep Budiman K., MT Pendahulan  Sebelum komputer ada, kriptografi dilakukan dengan algoritma berbasis karakter.  Algoritma yang digunakan.
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
Keamanan Komputer Kriptografi -Aurelio Rahmadian-.
Algoritma Kriptografi Klasik
Algoritma Kriptografi Klasik
Algoritma Kriptografi Klasik (bagian 2)
Algoritma Kriptografi Klasik (Bagian 1)
Algoritma Kriptografi Modern (Bagian 1)
PERTEMUAN KE 9 PERKULIAHAN KEAMANAN KOMPUTER By : Nanda Prasetia, ST.
KRIPTOGRAFI.
1 Algoritma Kriptografi Klasik (bag 1). 2 Pendahuluan Algoritma kriptografi klasik berbasis karakter Menggunakan pena dan kertas saja, belum ada komputer.
Algoritma Kriptografi Klasik
Algoritma Kriptografi Modern
Sumber : Rinaldi Munir, ITB
9. BILANGAN BULAT.
BILANGAN BULAT (lanjutan 1).
Algoritma Kriptografi Modern
Matematika Diskrit DU1023 Heru Nugroho, S.Si rsity.ac.id Semester Ganjil TA 2014/2015.
KRIPTOGRAFI Dani Suandi, M.Si.
Fungsi dalam Kriptografi
Algoritma dan Struktur Data Lanjut
MonoAlphabetic, Polyalphabetic,Vigenere
Algoritma Kriptografi Klasik
Super Enkripsi & Algoritma yang sempurna
Vigenere Cipher & Hill Cipher
Algoritma Kriptografi Klasik (Bagian 1)
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
Fungsi dalam Kriptografi
Play Fair & Shift Chiper
DASAR-DASAR KEAMANAN SISTEM INFORMASI
Algoritma Kriptografi Klasik (lanjutan)
KRIPTOGRAFI.
Kriptografi, Enkripsi dan Dekripsi
Kelompok 5 Akbar A. C. A Sandhopi A
Keamanan Komputer Sistem Informasi STMIK “BINA NUSANTARA JAYA”
Kriptografi Sesi 2.
TEKNIK BLOCK CIPHER Kriptografi - Week 9 Aisyatul Karima, 2012.
Teknik Substitusi Abjad
PRENSENTASI KRIPTOGRAFI KEL I  Bab : Subtitusi abjad
Play Fair & Shift Chiper
Kriptografi Sesi 2.
Kriptografi – Pertemuan 2 Teknik Subtitusi Abjad
Kriptografi (Simetry Key) Materi 6
TEKNIK BLOCK CIPHER Kriptografi - Week 9 Aisyatul Karima, 2012.
Keamanan Informasi Week 3 – Enkripsi Algoritma Simetris.
Algoritma Kriptografi Klasik (bag 1)
MATA KULIAH KEAMANAN SISTEM KRIPTOGRAFI
Tipe dan Mode Algoritma Simetri
Dasar-dasar keamanan Sistem Informasi
Kriptografi (Simetry Key) Materi 6
Dasar-dasar keamanan Sistem Informasi
Kriptografi bag II.
Bab 8: Fungsi dalam Kriptografi
Algoritma Kriptografi Klasik. Pendahuluan Algoritma kriptografi klasik berbasis karakter Menggunakan pena dan kertas saja, belum ada komputer Termasuk.
Pengenalan Kriptografi Modern
Teknik Substitusi Abjad
Fungsi Dalam Kriptografi
Algoritma Kriptografi Klasik
Kriptografi.
Keamanan Komputer (kk)
Algoritma Kriptografi Klasik
Bab 8: Fungsi dalam Kriptografi
Kriptografi Levy Olivia Nur, MT.
Algoritma Kriptografi Klasik
Fungsi dalam Kriptografi
Kriptografi next.
Kriptografi Sesi 3.
Algoritma Kriptografi Klasik. Pendahuluan Algoritma kriptografi klasik berbasis karakter Menggunakan pena dan kertas saja, belum ada komputer Termasuk.
Transcript presentasi:

Algoritma Kriptografi Klasik (Bagian 1) Bahan kuliah Kriptografi

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: KUMPUL BESOK SIANG JAM DUA Cipherteks: NXPSXO EHVRN VLDQJ MDP GXD

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 dirumuskan 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

Kelemahan: Caesar cipher mudah dipecahkan dengan exhaustive key search karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci).

Contoh: kriptogram XMZVH

Contoh: kriptogram XMZVH Plainteks yang potensial adalah CREAM dengan k = 21. Kunci ini digunakan untuk mendekripsikan cipherteks lainnya.

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.

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);

#include <stdio.h> main(int argc, char *argv[]) { /* 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);

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:

Cipher Substitusi Homofonik (Homophonic substitution cipher) Setiap huruf plainteks dipetakan ke dalam salah satu 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

TABEL HOMOFON

Unit cipherteks mana yang dipilih diantara semua homofon ditentukan secara acak. Contoh: Plainteks: KRIPTOGRAFI Cipherteks: 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: KRIPTOGRAFI KLASIK DENGAN CIPHER ALFABET MAJEMUK Kunci =

(spasi dibuang) P : KRIPTOGRAFIKLASIKDENGANCIPHERALFABETMAJEMUK K : LAMPIONLAMPIONLAMPIONLAMPIONLAMPIONLAMPIONL C : 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

P : KRIPTOGRAFIKLASIKDENGANCIPHERALFABETMAJEMUK K : LAMPIONLAMPIONLAMPIONLAMPIONLAMPIONLAMPIONL C : VRUEBCTCARXSZNDIWSMBTLNOXXVRCAXUIPREMMYMAHV

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 JURUSAN TEKNIK INFORMATIKA UPNVY   Enkripsi: (cipher transposisi dengan k=6)   JURUSA NTEKNI KINFOR MATIKA UPNVY Cipherteks: (baca secara vertikal) JNKMUUTIAPRENTNUKFIVSNOKYAIRA

Dekripsi: Bagi panjang cipherteks dengan kunci. (Pada contoh ini, 29 / 6 = 4,83  5) JNKMU UTIAP RENTN UKFIV SNOKY AIRA   Plainteks: (baca secara vertikal) JURUSAN TEKNIK INFORMATIKA UPNVY

Contoh SUSUNAN TIDAK PENUH: Misalkan plainteks adalah JURUSAN TEKNIK INFORMATIKA UPN YOGYA Enkripsi: (cipher transposisi dengan k=6)   JURUSA NTEKNI KINFOR MATIKA UPNYOG YA Cipherteks: (baca secara vertikal) JNKMUY UTIAPA RENTNU KFIYSN OKOAIR AG  

Dekripsi: Bagi panjang cipherteks dengan kunci. (Pada contoh ini, 32 / 6 = 5,33  6) JNKMUY UTIAPA RENTNU KFIYSN OKOAIR AG   Plainteks: (baca secara vertikal) JURKOANTEFKGKINIOMATYAUPNSIYAUNR  TIDAK DIMENGERTI  SALAH

RALAT (Yang Benar ): Enkripsi: (cipher transposisi dengan k=6)   JURUSA NTEKNI KINFOR MATIKA UPNYOG YAZZZZ  TAMBAHKAN Z SUPAYA 6 HURUF Cipherteks: (baca secara vertikal) JNKMUY UTIAPA RENTNZ UKFIYZ SNOKOZ AIRAGZ  

Dekripsi: Bagi panjang cipherteks dengan kunci. (Pada contoh ini, 32 / 6 = 5,33  6) JNKMUY UTIAPA RENTNZ UKFIYZ SNOKOZ AIRAGZ   Plainteks: (baca secara vertikal) JURUSAN TEKNIK INFORMATIKA UPN YOGYAZZZZ  Huruf Z terakhir diabaikan !

Contoh lain: Plainteks: KRIPTOGRAFI TRANSPOSISI Bagi menjadi blok-blok 8-huruf. Jika < 8, tambahkan huruf palsu. Cipherteks:

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