Top Banner

of 35

Algoritma Kriptografi Klasik.ppt

Oct 07, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Rinaldi Munir/IF5054 Kriptografi*Algoritma Kriptografi Klasik

    Bahan kuliah ke-4IF5054 Kriptografi

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*PendahuluanAlgoritma kriptografi klasik berbasis karakterTermasuk ke dalam kriptorafi simetriTiga alasan mempelajari algoritma klasik:1. Memahami konsep dasar kriptografi.2. Dasar algoritma kriptografi modern. 3. Memahami kelemahan sistem cipher.

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Algoritma kriptografi klasik:1. Cipher Substitusi (Substitution Ciphers)2.Cipher Transposisi (Transposition Ciphers)

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Cipher SubstitusiContoh: Caesar CipherTiap 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 Zci : 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 OBELIXCipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Misalkan A = 0, B = 1, , Z = 25, maka secara matematis caesar cipher dirumuskan sebagai berikut:

    Enkripsi: ci = E(pi) = (pi + 3) mod 26Dekripsi: pi = D(ci) = (ci 3) mod 26

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Jika pergeseran huruf sejauh k, maka:Enkripsi: ci = E(pi) = (pi + k) mod 26Dekripsi: pi = D(ci) = (ci k) mod 26k = kunci rahasia

    Untuk 256 karakter ASCII, maka:Enkripsi: ci = E(pi) = (pi + k) mod 256Dekripsi: pi = D(ci) = (ci k) mod 256k = kunci rahasia

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Kelemahan: Caesar cipher mudah dipecahkan dengan exhaustive key search karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci).

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Contoh: kriptogram XMZVH Plainteks yang potensial adalah CREAM dengan k = 21. Kunci ini digunakan untuk mendekripsikan cipherteks lainnya.

    Rinaldi Munir/IF5054 Kriptografi

    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

  • Rinaldi Munir/IF5054 Kriptografi*PHHW PH DIWHU WKH WRJD SDUWBKEY1oggv og chvgt vjg vqic rctva2nffu nf bgufs uif uphb qbsuz3meet me after the toga party4Ldds ld zesdq sgd snfz ozqsx5kccr kc ydrcp rfc rmey nyprw621 ummb um inbmz bpm bwoi xizbg22 tlla tl hmaly aol avnh whyaf23 skkz sk glzkx znk zumg vgxze24 rjjy rj fkyjw ymj ytlf ufwyd25 qiix qi ejxiv xli xske tevxc

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Contoh: Kriptogram HSPPW menghasilkan dua kemungkinan kunci yang potensial, yaitu k = 4 menghasilkan pesan DOLLS dan k = 11 menghasilkan WHEEL.

    Jika kasusnya demikian, maka lakukan dekripsi terhadap potongan cipherteks lain tetapi cukup menggunakan k = 4 dan k = 11 agar dapat disimpulkan kunci yang benar.

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Jenis-jenis Cipher SubstitusiCipher abjad-tunggal (monoalphabetic cipher)Satu karakter di plainteks diganti dengan satu karakter yang bersesuaian.

    Jumlah kemungkinan susunan huruf-huruf cipherteks yang dapat dibuat adalah sebanyak 26! = 403.291.461.126.605.635.584.000.000

    Contoh: Caesar Cipher

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Di dalam sistem operasi Unix, rot13 adalah fungsi menggunakan cipher abjad-tunggal dengan pergeseran k = 13Contoh: rot13(ROTATE) = rot13(17,14,19,0,19,4)= EBGNGR

    Enkripsi arsip dua kali dengan rot13 menghasilkan arsip semula:P = rot13(rot13(P))

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Cipher substitusi homofonik (Homophonic substitution cipher)Setiap karakter plainteks dipetakan ke dalam salah satu karakter cipherteks yang mungkin. Fungsi ciphering memetakan satu-ke-banyak (one-to-many).

    Misalnya huruf A dapat berkoresponden dengan 7, 9, atau 16, huruf B dapat berkoresponden dengan 5, 10, atau 23 dan seterusnya.

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi* Cipher abjad-majemuk (Polyalpabetic substitution cipher )

    Merupakan cipher substitusi-ganda yang melibatkan penggunaan kunci berbeda. Cipher abjad-majemuk dibuat dari sejumlah cipher abjad-tunggal, masing-masing dengan kunci yang berbeda.Kebanyakan cipher abjad-majemuk adalah cipher substitusi periodik yang didasarkan pada periode m.

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*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.

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Contoh cipher substitusi periodik adalah cipher Vigenere Kunci: K = k1k2 kmki untuk 1 i m menyatakan jumlah pergeseran pada huruf ke-i.

    Karakter cipherteks: ci(p) = (p + ki) mod 26 (*)Misalkan periode m = 20, maka 20 karakter pertama dienkripsi dengan persamaan (*), setiap karakter ke-i menggunakan kunci ki. Untuk 20 karakter berikutnya, kembali menggunakan pola enkripsi yang sama.

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Contoh:Plainteks: SHE SELLS SEA SHELLS BY THE SEASHORE+ Kunci KEY KEYKE YKE YKEYKE YK EYK EYKEYKEYCipherteks:CLC CIJVW QOE QRIJVW ZI XFO WCKWFYVC

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Cipher substitusi poligram (Polygram substitution cipher )Contoh: Playfair cipher

    Blok karakter disubstitusi dengan blok cipherteks.

    Misalnya ABA diganti dengan RTQ, ABB diganti dengan SLL, dan lain-lain.

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Cipher TransposisiCiphereteks diperoleh dengan mengubah posisinya. Dengan kata lain, algoritma ini melakukan transpose terhadap rangkaian karakter di dalam teks.

    Nama lain untuk metode ini adalah permutasi, karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut.

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Contoh 4. Misalkan plainteks adalahDEPARTEMEN TEKNIK INFORMATIKA ITBEnkripsi:DEPARTEMENTEKNIKINFORMATIKAITBCipherteks: (baca secara vertikal) DEKFIEMNOKPEIRAANKMIRTIATTENTB

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Dekripsi: Bagi panjang cipherteks dengan kunci. (Pada contoh ini, 30 / 6 = 5) DEKFIEMNOKPEIRAANKMIRTIATTENTBPlainteks: (baca secara vertikal)DEPARTEMEN TEKNIK INFORMATIKA ITB

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*

    Rinaldi Munir/IF5054 Kriptografi

    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 OR P Y N D T S C R T

    Y G H D A U Y

    maka cipherteksnya adalah

    CTAAAEIRPORPYNDTSCRTYGHDAUY

  • Rinaldi Munir/IF5054 Kriptografi*Lebih jauh dengan Cipher Abjad-tunggalJumlah kunci = jumlah cara menyusun 26 huruf abjad tersebut, yaitu sebanyak 26! = 403.291.461.126.605.635.584.000.000

    Contoh susunan tabel substitusi (acak):

    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 Zci : 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

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Tip membuat kunci:1. Pilih kunci dari sembarang kalimat:we hope you enjoy this book2. Buang huruf yang berulang:wehopyunjtisbk3. Sambung dengan huruf lain yang belum ada: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 Z4. Tabel substitusi: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 Zci : 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

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Mendekripsi cipherteks tanpa mengetahui kunci (cipher substitusi abjad-tunggal):Metode yang digunakan:1. Terkaan2. Statistik

    Informasi tambahan:1. Mengetahui bahasa plainteks2. Konteks plainteks

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Metode TerkaanAsumsi: bahasa plainteks adalah B InggrisTujuan: mereduksi jumlah kunci

    Contoh 1. Cipherteks: G WR W RWL Plainteks:I AM A MA*I AM A MANJumlah kunci berkurang dari 26! menjadi 22!

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Contoh 2. Cipherteks: HKC Plainteks:(lebih sukar ditentukan, tetapi tidak mungkin Z diganti dengan H, Q dengan K, dan K dengan C., karena tidak ada kata ZQC dalam Bahasa Inggris)

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Contoh 3. Cipherteks: HATTPT Plainteks: salah satu dari T atau P merepresentasikan huruf vokal CHEESE MISSES CANNON

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Contoh 4. Cipherteks: HATTPT Plainteks:(diketahui informasi bahwa pesan tersebut adalah nama negara. Dengan cepat kriptanalis menyimpulkan bahwa polygram tersebut adalah GREECE.)

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Metode StatistikPaling umum digunakan

    Rinaldi Munir/IF5054 Kriptografi

    Tabel 2. Frekuensi kemunculan (relatif) huruf-huruf

    dalam teks Bahasa Inggris (sampel mencapai 300.000 karakter di dalam

    sejumlah novel dan suratkabar

    Huruf

    %

    Huruf

    %

    AB

    C

    D

    E

    F

    G

    H

    I

    J

    K

    L

    M

    8,2

    1,5

    2,8

    4,2

    12,7

    2,2

    2,0

    6,1

    7,0

    0,1

    0,8

    4,0

    2,4

    N

    O

    P

    Q

    R

    S

    T

    U

    V

    W

    X

    Y

    Z

    6,7

    7,5

    1,9

    0,1

    6,0

    6,3

    9,0

    2,8

    1,0

    2,4

    2,0

    0,1

    0,1

  • Rinaldi Munir/IF5054 Kriptografi*Terdapat sejumlah tabel frekuensi sejenis yang dipublikasikan oleh pengarang lain, namun secara umum persentase kemunculan tersebut konsisten pada sejumlah tabel.

    Kemunculan huruf-huruf di dalam plainteks tercermin pada tabel 2 di atas .

    Jika karakter R paling sering muncul di dalam cipherteks, maka kemungkinan besar itu adalah huruf E di dalam plainteks.

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Contoh cipherteks:DIX DR TZX KXCQDIQ RDK XIHPSZXKPIB TZPQ TXGTPQ TD QZDM TZX KXCJXK ZDM XCQPVN TZPX TNSX DRHPSZXK HCI LX LKDUXI. TZX MDKJ QTKFHTFKX DRTZX SVCPITXGT ZCQ LXXI SKXQXKWXJ TD OCUX TZX XGXKHPQX XCQPXK. PR MX ZCJ MKPTTXI TZX. HKNSTDBKCOPI BKDFSQ DR RPWX VXTTXKQ TZXI PT MDFVJ ZCWX LXXI ZCKJXK. TD HDIWPIHXNDFKQXVWXQ DR TZPQ SCPKQ SCPKQ DR KXCJXKQHCI SKDWPJX XCHZ DTZXK MPTZ HKNSTDBKCOQMPTZ TZPQ VXTTXK BKDFSIB

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Histogram kemunculan relatif:

    Rinaldi Munir/IF5054 Kriptografi

  • Rinaldi Munir/IF5054 Kriptografi*Karakter yang paling sering muncul di dalam cipherteks adalah H. Dengan membandingkan Tabel 2 dengan histogram tersebut, kita dapat menyimpulkan sementara bahwa H berkoresponden dengan E dan bahwa W berkoresponden dengan T. Tetapi kita belum dapat memastikannya. Masih diperlukan:- cara trial and error- pengetahuan tentang bahasa- konteks plainteks- intuisi

    Rinaldi Munir/IF5054 Kriptografi