Back to IF4020 Kriptografi

Hill Cipher dan Enigma Cipher

Questions/Cues

  • Bagaimana Hill cipher memakai aljabar linier untuk enkripsi?
  • Apa syarat matriks kunci agar bisa didekripsi?
  • Mengapa Hill cipher mudah dipecahkan dengan known-plaintext attack?
  • Bagaimana rotor Enigma menghasilkan cipher abjad-majemuk?
  • Apa yang menjadi “kunci” pada mesin Enigma?
  • Bagaimana sejarah pemecahan Enigma?

Reference Points

  • IF4020 Kriptografi — Kriptografi Klasik Bagian 2 (Slides 95-119)

Hill Cipher

Dikembangkan Lester Hill (1929). Polygram cipher berbasis aljabar linier: mengenkripsi blok huruf sekaligus lewat persamaan linier. Untuk :

Dalam bentuk matriks: , dengan matriks kunci .

Contoh , plainteks paymoremoney, tiga huruf pertama pay LNS. Selengkapnya: LNSHDLEWMTRW.

Dekripsi Hill Cipher

Perlu invers matriks modulo 26 sehingga :

Untuk matriks :

dengan , dan harus ada — artinya . Contoh: , , dan . Untuk pakai eliminasi Gauss-Jordan atau rumus adjoin/kofaktor.

Kekuatan dan Kriptanalisis Hill

Kekuatan: menyembunyikan frekuensi huruf tunggal — huruf plainteks sama belum tentu jadi cipherteks sama (tiap huruf output bergantung pada seluruh huruf blok).

Kelemahan: mudah dipecahkan dengan known-plaintext attack. Bila kriptanalis punya cukup pasang untuk menyusun matriks yang invertibel:

Contoh : dan . Susun , hitung , lalu .

Enigma Cipher

Mesin enkripsi elektromekanik — ditemukan & dipatenkan insinyur Jerman Arthur Scherbius untuk keperluan komersial, diplomatik, militer. Terkenal karena dipakai Nazi Jerman pada PD II. Enigma dari Latin aenigma = “teka-teki”.

Cara kerja: operator mengetik huruf plainteks di keyboard, huruf cipherteks menyala di lampboard, disalin dan dikirim.

  • Menggunakan sistem rotor (roda berputar). Setiap rotor melakukan substitusi abjad-tunggal.
  • Output satu rotor menjadi input rotor berikutnya; output rotor terakhir = huruf cipherteks.
  • Setiap kali sebuah huruf dienkripsi, rotor berputar satu langkah → tabel substitusi berubah. Setelah 26 putaran rotor kembali ke posisi awal → cipher abjad-majemuk berperiode 26.
  • Rotor kedua bergeser satu langkah setiap rotor pertama menyelesaikan 26 langkah, dst (seperti odometer).
flowchart LR
    KB["Keyboard: huruf P"] --> PB["Plugboard"]
    PB --> R3["Rotor 3"] --> R2["Rotor 2"] --> R1["Rotor 1"]
    R1 --> RF["Reflector"]
    RF --> R1b["Rotor 1"] --> R2b["Rotor 2"] --> R3b["Rotor 3"]
    R3b --> PB2["Plugboard"] --> LB["Lampboard: huruf C"]

Model 3-rotor / 4-rotor. Untuk 4-rotor: kemungkinan sebelum urutan berulang. Kunci Enigma = posisi awal keempat rotor (yang bisa di-set), ditambah pengaturan plugboard dan pilihan/urutan rotor.

Sejarah Pemecahan Enigma

  • Kriptanalisis Enigma pertama oleh kriptografer Polandia Marian Rejewski, Jerzy Różycki, Henryk Zygalski (1932).
  • Jerman mendesain ulang Enigma (1939) dengan menambah reflector dan plugboard → metode lama tak berlaku.
  • Dengan bantuan Polandia, Prancis & Inggris membuat mesin pemecah baru bernama Bombe, dirancang Alan Turing di Bletchley Park.
  • Bombe berhasil memecahkan Enigma. Keberhasilan ini dianggap memperpendek Perang Dunia II hingga sekitar dua tahun.

Summary

Hill cipher (Lester Hill, 1929) mengenkripsi blok huruf dengan perkalian matriks: ; dekripsi menuntut ada, yaitu . Ia menyembunyikan frekuensi huruf tunggal tetapi runtuh oleh known-plaintext attack: cukup pasangan untuk menghitung . Enigma adalah mesin rotor elektromekanik: tiap rotor = substitusi abjad-tunggal, dan rotor berputar tiap huruf sehingga keseluruhannya menjadi cipher abjad-majemuk berperiode besar. Kunci = posisi awal rotor + plugboard + urutan rotor. Dipecahkan Polandia (1932), lalu — setelah Jerman menambah reflector & plugboard (1939) — oleh Bombe rancangan Alan Turing, yang memperpendek PD II. Cipher modern (lihat Algoritma Kriptografi) mewarisi ide substitusi–permutasi berlapis ini dengan operasi jauh lebih kompleks.