Back to IF4020 Kriptografi
Playfair dan Affine Cipher
Questions/Cues
- Apa itu polygram cipher dan mengapa Playfair bekerja per bigram?
- Bagaimana menyusun matriks kunci Playfair dan mengapa huruf J dibuang?
- Apa langkah preprocessing pesan dan tiga aturan enkripsi Playfair?
- Bagaimana rumus Affine cipher dan syarat kuncinya?
- Bagaimana dekripsi Affine memakai invers modulo?
- Bagaimana kedua cipher ini dikriptanalisis?
Reference Points
- IF4020 Kriptografi — Kriptografi Klasik Bagian 2 (Slides 66-94)
Playfair Cipher — Polygram
Ditemukan Charles Wheatstone (1854), dipromosikan Baron Lyon Playfair. Termasuk polygram cipher: satu blok huruf plainteks disubstitusi dengan satu blok cipherteks. Playfair bekerja per bigram (2 huruf) — mis.
AS → RT,BY → SL.Matriks Kunci
Kunci disusun sebagai matriks berisi huruf A–Z. Karena hanya 25 sel untuk 26 huruf, huruf J dibuang (secara historis I dan J tak dibedakan; semua J diperlakukan sebagai I). Jumlah kemungkinan matriks: .
Contoh kunci dari kalimat
JALAN GANESHA SEPULUH: buang duplikat & J →ALNGESHPU, sambung sisa alfabet (tanpa J) →ALNGESHPUBCDFIKMOQRTVWXYZ:A L N G E S H P U B C D F I K M O Q R T V W X Y ZPreprocessing Pesan
- Buang semua spasi.
- Ganti
jdengani.- Tulis pesan berpasangan (bigram).
- Jika sebuah bigram berisi dua huruf sama, sisipkan
xdi tengahnya.- Jika jumlah huruf ganjil, tambahkan
xdi akhir.Contoh
temui ibu nanti malam→te mu ii bu na nt im al am→ (sisip x)te mu ix ib un an ti ma la m→ (padding)te mu ix ib un an ti ma la mx.Tiga Aturan Enkripsi
flowchart TD B["Bigram (h1, h2)"] --> Q1{"Sebaris?"} Q1 -- ya --> R1["Ganti tiap huruf dengan<br/>huruf di KANANnya (siklik)"] Q1 -- tidak --> Q2{"Sekolom?"} Q2 -- ya --> R2["Ganti tiap huruf dengan<br/>huruf di BAWAHnya (siklik)"] Q2 -- tidak --> R3["Aturan persegi panjang:<br/>tiap huruf → perpotongan barisnya<br/>dengan kolom huruf pasangannya"]
- Sebaris — tiap huruf diganti huruf di kanannya (siklik). Mis.
di → FK.- Sekolom — tiap huruf diganti huruf di bawahnya (siklik). Mis.
nq → PX.- Persegi panjang — huruf pertama diganti huruf pada perpotongan barisnya dengan kolom huruf kedua; huruf kedua diganti dari sudut keempat persegi panjang. Mis.
hz → BW.Hasil:
temui ibu nanti malam→ bigramte mu ix ib un an ti ma la mx→ cipherteksZB RS FY KU PG LG RK VS NL QV.Dekripsi membalik: sebaris → geser kiri; sekolom → geser atas; persegi panjang → aturan sama; terakhir buang
xyang tak bermakna.Kriptanalisis Playfair
Ada bigram, jadi identifikasi bigram individual lebih sukar dari huruf tunggal. Tetapi ukuran poligramnya hanya 2 — tetap tidak aman:
- Dapat dipecahkan dengan analisis frekuensi pasangan huruf (TH, HE tersering di B. Inggris) bila cipherteks cukup banyak.
- Bigram dan kebalikannya (AB vs BA) menghasilkan pola plainteks bertukar (RE vs ER) — bahasa Inggris penuh kata seperti receiver, departed.
- Dari dugaan (mis. cipherteks
BMsering → plainteksTH), rekonstruksi matriks parsial dengan menguji aturan baris/kolom/persegi panjang.Affine Cipher
Perluasan Caesar cipher dengan dua parameter kunci dan :
dengan = ukuran alfabet, = pergeseran, dan harus relatif prima dengan () agar ada. Caesar cipher = kasus khusus .
Contoh, plainteks
kripto= , , , :
→ cipherteks
CZOLNE. Dekripsi: (sebab ), jadi . Cek : . ✓Kriptanalisis Affine
- Known-plaintext attack — dua pasang , memberi kekongruenan simultan , ; kurangkan → , substitusi → . Contoh: , memberi , → → , lalu .
- Exhaustive key search — hanya kombinasi ( nilai relatif prima dengan 26, nilai ). Sangat sedikit.
- Memperbesar faktor kerja — enkripsi per blok huruf, bukan huruf individual. Blok 4-huruf
krip→ , pakai modulus (ZZZZ), relatif prima dengan (mis. ).
Playfair cipher (Wheatstone, 1854) adalah polygram cipher yang mengenkripsi per bigram memakai matriks kunci (huruf J dibuang, diperlakukan sebagai I). Setelah preprocessing (buang spasi,
j→i, pisah bigram kembar denganx, paddingx), tiap bigram dienkripsi dengan tiga aturan: sebaris → geser kanan; sekolom → geser bawah; selainnya → aturan persegi panjang. Ia dipecahkan dengan analisis frekuensi bigram dan kelemahan bigram-terbalik. Affine cipher menggeneralisasi Caesar: dengan ; dekripsi butuh invers modulo (lihat Teori Bilangan untuk Kriptografi). Affine jatuh oleh known-plaintext attack (2 pasang huruf cukup) atau brute force atas hanya 300 kunci. Cipher poligram berbasis aljabar linier yang lebih kuat adalah Hill cipher — Hill Cipher dan Enigma Cipher.
Additional Information
Mengapa Harus Relatif Prima dengan
Bila , fungsi tidak injektif — beberapa plainteks berbeda memetakan ke cipherteks sama, sehingga dekripsi mustahil. Untuk , nilai yang valid: (12 nilai, yaitu ).
Playfair di Medan Perang
Playfair dipakai Inggris pada Perang Boer dan PD I, serta Australia pada PD II — bukan karena tak bisa dipecahkan, tetapi karena cukup cepat dipakai di lapangan dan pesan taktis kedaluwarsa dalam hitungan jam, lebih singkat dari waktu yang dibutuhkan kriptanalis. Ini pelajaran penting: keamanan hanya perlu bertahan selama nilai pesan.
Affine sebagai Jembatan ke Hill
Affine cipher atas skalar diperluas Hill cipher menjadi (biasanya ) atas vektor, dengan matriks dan syarat menggantikan . Struktur linier yang membuat keduanya elegan juga yang membuat keduanya rapuh terhadap known-plaintext.
Proyek Eksplorasi Mandiri
- Implementasikan Playfair lengkap (encode/decode + generator matriks kunci) dan pemecah semi-otomatis berbasis frekuensi bigram.
- Tulis known-plaintext solver Affine yang menerima dua pasang huruf dan mengembalikan ; tangani kasus tanpa solusi unik.
Bacaan Lanjutan
- William Stallings, Cryptography and Network Security, Bab 3.2 (Playfair, Hill).
- Demo:
planetcalc.com/7751(Playfair),cryptii.com/pipes/affine-cipher.