ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
KRIPTOGRAFI KLASIK DAN MODERN




        Jurusan Teknik Komputer
  Sekolah Tinggi Teknologi Payakumbuh
Kriptografi Klasik

•     Sebelum komputer ada, kriptografi dilakukan
      dengan algoritma berbasis karakter.
•     Algoritma yang digunakan termasuk ke dalam
      sistem kriptografi simetri dan digunakan jauh
      sebelum sistem kriptografi kunci publik ditemukan
•     Tiga alasan mempelajari algoritma kriptografi
      klasik:
      1. Untuk memberikan pemahaman konsep dasar kriptografi.
      2. Dasar dari algoritma kriptografi modern.
      3. Dapat memahami potensi-potensi kelemahan sistem
         chiper


    Deni Satria - Jaringan komputer dan keamanan            2
Jenis Kriptografi Klasik

•   Chiper Substitusi (Substitution Chipers)
•   Chiper Transposisi (Transposition Chipers)
Chiper Substitusi

• Ini adalah algoritma kriptografi yang mula-mula
  digunakan oleh kaisar Romawi, Julius Caesar
  (sehingga dinamakan juga caesar chiper), untuk
  menyandikan pesan yang ia kirim kepada para
  gubernurnya.
• Caranya adalah dengan mengganti (menyulih atau
  mensubstitusi) setiap karakter dengan karakter lain
  dalam susunan abjad (alfabet)
•   Misalnya, tiap huruf disubstitusi dengan huruf ketiga
    berikutnya dari susunan abjad. Dalam hal ini kuncinya adalah
    jumlah pergeseran huruf (yaitu k=3)
•   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 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 1.
    Pesan
     AWASI ASTERIX DAN TEMANNYA OBELIX
•   disamarkan (enkripsi) menjadi
     DZDVL DVWHULA GDQ WHPDQQBA REHOLA
• Penerima pesan men-dekripsi chiperteks dengan
  menggunakan tabel substitusi, sehingga chiperteks
  DZDVL DVWHULA GDQ WHPDQQBA REHOLA
  dapat dikembalikan menjadi plainteks semula:
  AWASI ASTERIX DAN TEMANNYA OBELIX
Kriptanalisis Terhadap Caesar Chiper

• Caesar chiper mudah dipecahkan dengan metode
  exhaustive key search karena jumlah kuncinya
  sangat sedikit (hanya ada 26 kunci).
Chiper Transposisi

• Pada chiper transposisi, plainteks tetap sama,
  tetapi urutannya diubah. 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
• Contoh
  Misalkan plainteks adalah
   TEKNIK KOMPUTER STTP
• Untuk meng-enkripsi pesan, plainteks ditulis secara
  horizontal dengan lebar kolom tetap, misal selebar
  6 karakter (kunci k = 6):
   TEKNIK
   KOMPUT
   ERSTTP
  maka chiperteksnya dibaca secara vertikal menjadi
   TKEEORKMSNPTIUTKTP
•   Untuk mendekripsi pesan, kita membagi panjang chiperteks
    dengan kunci. Pada contoh ini, kita membagi 18 dengan 6
    untuk mendapatkan 3
•   Algoritma dekripsi identik dengan algoritma enkripsi. Jadi,
    untuk contoh ini, kita menulis chiperteks dalam baris-baris
    selebar 3 karakter menjadi :

TKE
EOR
KMS
NPT
IUT
KTP
• Dengan membaca setiap kolom kita memperoleh
  pesan semula:
  TEKNIK KOMPUTER STTP
Kriptografi Modern

• Algoritma kriptografi modern umumnya beroperasi dalam
  mode bit ketimbang mode karakter (seperti yang dilakukan
  pada cipher substitusi atau cipher transposisi dari algoritma
  kriptografi klasik)
• Operasi dalam mode bit berarti semua data dan informasi
  (baik kunci, plainteks, maupun cipherteks) dinyatakan dalam
  rangkaian bit biner, 0 dan 1. Algoritma enkripsi dan dekripsi
  memproses semua data dan informasi dalam bentuk
  rangkaian bit. Rangkaian bit yang menyatakan plainteks
  dienkripsi menjadi cipherteks dalam bentuk rangkaian bit,
  demikian sebaliknya
• Perkembangan algoritma kriptografi modern berbasis bit
  didorong oleh penggunaan komputer digital yang
  merepresentasikan data dalam bentuk biner
Jenis Kriptografi Modern

• Cipher aliran (stream cipher)
   – Algoritma kriptografi beroperasi pada plainteks/cipherteks
     dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit
     dienkripsikan/didekripsikan bit per bit
• Cipher blok (block cipher)
   – Algoritma kriptografi beroperasi pada plainteks/cipherteks
     dalam bentuk blok bit, yang dalam hal ini rangkaian bit
     dibagi menjadi blok-blok bit yang panjangnya sudah
     ditentukan sebelumnya
   – Misalnya panjang blok adalah 64 bit, maka itu berarti
     algoritma enkripsi memperlakukan 8 karakter setiap kali
     penyandian (1 karakter = 8 bit dalam pengkodean ASCII).
Rangkaian Bit

• Rangkaian bit yang dipecah menjadi blok-blok bit dapat ditulis
  dalam sejumlah cara bergantung pada panjang blok

• Contoh: Plainteks 100111010110 dibagi menjadi blok bit yang
  panjangnya 4 menjadi
  1001 1101 0110
• Setiap blok menyatakan bilangan bulat dari 0 sampai 15, yaitu
  9     13      6
• Bila plainteks dibagi menjadi blok-blok yang berukuran 3 bit,
  maka rangkaian bit di atas menjadi:
  100 111 010 110
  Setiap blok menyatakan bilangan bulat dari 0 sampai 7, yaitu
  4     7       2       6
• Bila panjang rangkaian bit tidak habis dibagi
  dengan ukuran blok
• yang ditetapkan, maka blok yang terakhir ditambah
  dengan bit-bit semu yang disebut padding bits.
• Misalnya rangkaian bit di atas dibagi menjadi blok
  5-bit menjadi
  10011 10101 00010
• Blok yang terakhir telah ditambahkan 3 bit 0 di
  bagian awal (dicetak tebal) agar ukurannya menjadi
  5 bit. Padding bits dapat mengakibatkan ukuran
  plainteks hasil dekripsi lebih besar daripada ukuran
  plainteks semula
•   Cara lain untuk menyatakan rangkaian bit adalah dengan
    notasi heksadesimal (HEX). Rangkaian bit dibagi menjadi
    blok yang berukuran 4 bit dengan representasi dalam HEX
    adalah:
    0000 = 0     0001 = 1 0010 = 2 0011 = 3
    0100 = 4     0101 = 5 0011 = 6 0111 = 7
    1000 = 8     1001 = 9 1010 = A 1011 = B
    1100 = C     1101 = D 1101 = E 1111 = F
•   Misalnya, plainteks 100111010110 dibagi menjadi blok bit
    yang panjangnya 4 menjadi
    1001 1101 0110
    yang dalam notasi HEX adalah :
    9    D 6
Operator XOR

• Operator biner yang sering digunakan dalam cipher
  yang yang beroperasi dalam mode bit adalah XOR
  atau exclusive-or
• Notasi matematis untuk opeartor XOR adalah ⊕
  (dalam Bahas C, operator XOR dilambangkan
  dengan ^)
• Operator XOR diperasikan pada dua bit dengan
  aturan sebagai berikut:
  0⊕0=0
  0⊕1=1
  1⊕0=1
  1⊕1=0
•   Misalkan a, b, dan c adalah peubah Boolean. Hukum-hukum
    yang terkait dengan operator XOR:
    (i) a ⊕ a = 0
    (ii) a ⊕ b = b ⊕ a          (Hukum komutatif)
    (iii) a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c (Hukum asosiatif)

•   Jika dua rangkaian dioperasikan dengan XOR, maka
    operasinya dilakukan dengan meng-XOR-kan setiap bit yang
    berkoresponden dari kedua rangkaian bit tersebut
•   Contoh: 10011 ⊕ 11001 = 01010
    yang dalam hal ini, hasilnya diperoleh sebagai berikut:
     1     0 0 1 1
     1     1 0 0 1 ⊕
    1⊕1       0⊕1       0⊕0   1⊕ 0   1⊕1
     0    1    0    1    0
• Algoritma enkripsi sederhana yang menggunakan
  XOR adalah dengan meng-XOR-kan plainteks (P)
  dengan kunci (K) menghasilkan cipherteks
  C = P ⊕ K ….. (1)
• Karena meng-XOR-kan nilai yang sama dua kali
  menghasilkan nilai semula, maka proses dekripsi
  menggunakan persamaan
  P= C ⊕ K ….. (2)

More Related Content

Ns 3

  • 1. KRIPTOGRAFI KLASIK DAN MODERN Jurusan Teknik Komputer Sekolah Tinggi Teknologi Payakumbuh
  • 2. Kriptografi Klasik • Sebelum komputer ada, kriptografi dilakukan dengan algoritma berbasis karakter. • Algoritma yang digunakan termasuk ke dalam sistem kriptografi simetri dan digunakan jauh sebelum sistem kriptografi kunci publik ditemukan • Tiga alasan mempelajari algoritma kriptografi klasik: 1. Untuk memberikan pemahaman konsep dasar kriptografi. 2. Dasar dari algoritma kriptografi modern. 3. Dapat memahami potensi-potensi kelemahan sistem chiper Deni Satria - Jaringan komputer dan keamanan 2
  • 3. Jenis Kriptografi Klasik • Chiper Substitusi (Substitution Chipers) • Chiper Transposisi (Transposition Chipers)
  • 4. Chiper Substitusi • Ini adalah algoritma kriptografi yang mula-mula digunakan oleh kaisar Romawi, Julius Caesar (sehingga dinamakan juga caesar chiper), untuk menyandikan pesan yang ia kirim kepada para gubernurnya. • Caranya adalah dengan mengganti (menyulih atau mensubstitusi) setiap karakter dengan karakter lain dalam susunan abjad (alfabet)
  • 5. • Misalnya, tiap huruf disubstitusi dengan huruf ketiga berikutnya dari susunan abjad. Dalam hal ini kuncinya adalah jumlah pergeseran huruf (yaitu k=3) • 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 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 1. Pesan AWASI ASTERIX DAN TEMANNYA OBELIX • disamarkan (enkripsi) menjadi DZDVL DVWHULA GDQ WHPDQQBA REHOLA
  • 6. • Penerima pesan men-dekripsi chiperteks dengan menggunakan tabel substitusi, sehingga chiperteks DZDVL DVWHULA GDQ WHPDQQBA REHOLA dapat dikembalikan menjadi plainteks semula: AWASI ASTERIX DAN TEMANNYA OBELIX
  • 7. Kriptanalisis Terhadap Caesar Chiper • Caesar chiper mudah dipecahkan dengan metode exhaustive key search karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci).
  • 8. Chiper Transposisi • Pada chiper transposisi, plainteks tetap sama, tetapi urutannya diubah. 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
  • 9. • Contoh Misalkan plainteks adalah TEKNIK KOMPUTER STTP • Untuk meng-enkripsi pesan, plainteks ditulis secara horizontal dengan lebar kolom tetap, misal selebar 6 karakter (kunci k = 6): TEKNIK KOMPUT ERSTTP maka chiperteksnya dibaca secara vertikal menjadi TKEEORKMSNPTIUTKTP
  • 10. • Untuk mendekripsi pesan, kita membagi panjang chiperteks dengan kunci. Pada contoh ini, kita membagi 18 dengan 6 untuk mendapatkan 3 • Algoritma dekripsi identik dengan algoritma enkripsi. Jadi, untuk contoh ini, kita menulis chiperteks dalam baris-baris selebar 3 karakter menjadi : TKE EOR KMS NPT IUT KTP
  • 11. • Dengan membaca setiap kolom kita memperoleh pesan semula: TEKNIK KOMPUTER STTP
  • 12. Kriptografi Modern • Algoritma kriptografi modern umumnya beroperasi dalam mode bit ketimbang mode karakter (seperti yang dilakukan pada cipher substitusi atau cipher transposisi dari algoritma kriptografi klasik) • Operasi dalam mode bit berarti semua data dan informasi (baik kunci, plainteks, maupun cipherteks) dinyatakan dalam rangkaian bit biner, 0 dan 1. Algoritma enkripsi dan dekripsi memproses semua data dan informasi dalam bentuk rangkaian bit. Rangkaian bit yang menyatakan plainteks dienkripsi menjadi cipherteks dalam bentuk rangkaian bit, demikian sebaliknya • Perkembangan algoritma kriptografi modern berbasis bit didorong oleh penggunaan komputer digital yang merepresentasikan data dalam bentuk biner
  • 13. Jenis Kriptografi Modern • Cipher aliran (stream cipher) – Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit • Cipher blok (block cipher) – Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya – Misalnya panjang blok adalah 64 bit, maka itu berarti algoritma enkripsi memperlakukan 8 karakter setiap kali penyandian (1 karakter = 8 bit dalam pengkodean ASCII).
  • 14. Rangkaian Bit • Rangkaian bit yang dipecah menjadi blok-blok bit dapat ditulis dalam sejumlah cara bergantung pada panjang blok • Contoh: Plainteks 100111010110 dibagi menjadi blok bit yang panjangnya 4 menjadi 1001 1101 0110 • Setiap blok menyatakan bilangan bulat dari 0 sampai 15, yaitu 9 13 6 • Bila plainteks dibagi menjadi blok-blok yang berukuran 3 bit, maka rangkaian bit di atas menjadi: 100 111 010 110 Setiap blok menyatakan bilangan bulat dari 0 sampai 7, yaitu 4 7 2 6
  • 15. • Bila panjang rangkaian bit tidak habis dibagi dengan ukuran blok • yang ditetapkan, maka blok yang terakhir ditambah dengan bit-bit semu yang disebut padding bits. • Misalnya rangkaian bit di atas dibagi menjadi blok 5-bit menjadi 10011 10101 00010 • Blok yang terakhir telah ditambahkan 3 bit 0 di bagian awal (dicetak tebal) agar ukurannya menjadi 5 bit. Padding bits dapat mengakibatkan ukuran plainteks hasil dekripsi lebih besar daripada ukuran plainteks semula
  • 16. • Cara lain untuk menyatakan rangkaian bit adalah dengan notasi heksadesimal (HEX). Rangkaian bit dibagi menjadi blok yang berukuran 4 bit dengan representasi dalam HEX adalah: 0000 = 0 0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0011 = 6 0111 = 7 1000 = 8 1001 = 9 1010 = A 1011 = B 1100 = C 1101 = D 1101 = E 1111 = F • Misalnya, plainteks 100111010110 dibagi menjadi blok bit yang panjangnya 4 menjadi 1001 1101 0110 yang dalam notasi HEX adalah : 9 D 6
  • 17. Operator XOR • Operator biner yang sering digunakan dalam cipher yang yang beroperasi dalam mode bit adalah XOR atau exclusive-or • Notasi matematis untuk opeartor XOR adalah ⊕ (dalam Bahas C, operator XOR dilambangkan dengan ^) • Operator XOR diperasikan pada dua bit dengan aturan sebagai berikut: 0⊕0=0 0⊕1=1 1⊕0=1 1⊕1=0
  • 18. • Misalkan a, b, dan c adalah peubah Boolean. Hukum-hukum yang terkait dengan operator XOR: (i) a ⊕ a = 0 (ii) a ⊕ b = b ⊕ a (Hukum komutatif) (iii) a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c (Hukum asosiatif) • Jika dua rangkaian dioperasikan dengan XOR, maka operasinya dilakukan dengan meng-XOR-kan setiap bit yang berkoresponden dari kedua rangkaian bit tersebut • Contoh: 10011 ⊕ 11001 = 01010 yang dalam hal ini, hasilnya diperoleh sebagai berikut: 1 0 0 1 1 1 1 0 0 1 ⊕ 1⊕1 0⊕1 0⊕0 1⊕ 0 1⊕1 0 1 0 1 0
  • 19. • Algoritma enkripsi sederhana yang menggunakan XOR adalah dengan meng-XOR-kan plainteks (P) dengan kunci (K) menghasilkan cipherteks C = P ⊕ K ….. (1) • Karena meng-XOR-kan nilai yang sama dua kali menghasilkan nilai semula, maka proses dekripsi menggunakan persamaan P= C ⊕ K ….. (2)