4. Tentang Cipher
• Minggu lalu telah dibahas cipher substitusi monoalphabetic –
setiap karakter yang dikodekan menggunakan hanya satu
alfabet tetap
• Pada monoalphabetic masih cukup mudah untuk dipecahkan.
• Agar pemecahan kode lebih sulit, salah satu cara adalah
dengan menggunakan lebih dari satu huruf, kemudian
menggantinya secara sistematis.
• Jenis cipher disebut substitusi cipher poly-alphabetic
• Pada cipher ini, analisis frekuensi tidak lagi bekerja dengan
cara yang mudah untuk memecahkannya.
5. Perkembangan polyalphabetic
Substitution Ciphers
• Cipher poly-alphabetic pertama yang diketahui adalah Alberti
Cipher ditemukan oleh Leon Battista Alberti di sekitar 1467.
• Dia menggunakan alfabet campuran untuk mengenkripsi
plaintext, tetapi pada titik-titik acak dia mengubahnya dengan
alfabet campuran yang berbeda,
• hal yang menunjukkan perubahan dengan huruf besar di
ciphertext.
• Dalam rangka untuk memanfaatkan cipher ini, Alberti
menggunakan disc cipher untuk menunjukkan bagaimana
huruf plaintext yang berhubungan dengan huruf ciphertext
7. Alberti Disk
• Alberti Disk tradisional
terdiri dari 1 disk bergerak
dan 1 disk tidak bergerak.
• Outer disk terdiri huruf
alfabet latin, yang mana
pada alfabet bahasa
inggris tidak ada J, U, W,
H, K dan Y, namun
menambahkan angka 1, 2,
3 dan 4
• Inner disk terdiri dari
huruf alfabet latin yang
disusun secara acak, yang
mana pada alfabet english
tanpa u, w, dan j, namun
menambahkan &.
8. Alberti Cipher
• Sebagai contoh, pada
disc disamping, terlihat
plaintext huruf „e‟
(bagian luar lingkaran)
dienkripsi menjadi „Z‟
(bagian dalam)
• Alberti akan
menggunakan
pengaturan ini untuk
beberapa huruf dari
pesan, dan kemudian
memutar disc lagi
untuk pengaturan yang
berbeda untuk beberapa
huruf berikutnya, dan
seterusnya.
9. Contoh Enkripsi Alberti Cipher
• Plaintext : “leon battista alberti”
• Bagian pertama dimulai dengan posisi disc dimana „a‟
dienkripsi menjadi „V‟, maka didapat tabel substitusi :
• Plaintext : leonbat...
Ciphertext : vGZJIWVOg
• Huruf besar merupakan hasil enkripsi, sedangkan „v‟
menunjukan posisi awal disc
• „g‟ merupakan tanda perubahan posisi dimana „a‟
dienkripsi menjadi „G‟
10. Contoh Enkripsi Alberti Cipher
• Plaintext : “leon battista alberti”
• „g‟ merupakan tanda perubahan posisi dimana „a‟
dienkripsi menjadi „G‟, maka tabel substitusi :
• Plaintext : ...tistaa...
Ciphertext : ...gZOYZGGm...
• „m‟ menunjukan perubahan posisi disc selanjutnya
11. Contoh Enkripsi Alberti
Cipher
• Plaintext : “leon battista alberti”
• „m‟ merupakan tanda perubahan posisi dimana „a‟
dienkripsi menjadi „M‟, maka tabel substitusi :
• Plaintext : ...lberti
Ciphertext : ...mXNQDFU
• „m‟ menunjukan perubahan posisi disc selanjutnya
12. Hasil Enkripsi Alberti
Cipher
• Plaintext : “leon battista alberti”
• Ciphertext : vGZJIWVOgZOYZGGmXNQDFU
• Perhatikan bagaimana huruf "t" dienkripsi untuk "O"
pertama-tama, kemudian "Z" dan akhirnya "F".
• Ini adalah esensi dari cipher poly-alphabetic, bahwa huruf
plaintext yang sama dienkripsi menjadi huruf ciphertext
yang berbeda setiap kali.
13. Tambahan untuk lebih
menyulitkan
• Plaintext : “leon battista alberti”
• Ciphertext : vGZJIWVOgZOYZGGmXNQDFU
• Jelas ini cukup mudah untuk dipecahkan dengan menggunakan
huruf yang menunjukkan perubahan-perubahan tersebut.
Secara khusus, dalam contoh ini, huruf kecil di ciphertext
cocok untuk "a" dalam abjad plaintext.
• Pada kenyataannya, Anda akan menggunakan huruf yang
berbeda, mengatakan "g" sebagai huruf plaintext referensi, dan
kemudian sesuai ciphertext akan:
• Ciphertext : "bGZJIWVOmZOYZGGsXNQDFU".
15. Trithemius Cipher
• contoh awal lain dari cipher poly-alphabetic diciptakan
oleh Johannes Trithemius di abad ke-15.
• Daripada mengganti huruf secara acak dan menunjukkan
dengan huruf besar, Trithemius Cipher mengubah abjad
ciphertext setelah setiap huruf dienkripsi.
• Ini adalah contoh pertama dari cipher kunci progresif, dan
ia menggunakan recta tabula untuk menampilkan semua
huruf yang berbeda.
17. Contoh Enkripsi
Trithemius Cipher
• Plaintext : "johannes trithemius“
• Ide Trithemius adalah
• mulai kolom yang berlabel "A",
• cari huruf plaintext pada kolom paling kiri,
• huruf ciphertext adalah perpotongan baris huruf plaintext
dengan kolom berlabel “A”.
• kemudian akan pindah ke kolom berikutnya (B, C, ..) , dan
seterusnya.
18. Contoh Enkripsi Trithemius Cipher
• Plaintext : "johannes trithemius“
• Untuk huruf plaintext
„j‟ cari
perpotongannya di
kolom „A‟ = „J‟
• plaintext „o‟ cari
perpotongannya di
kolom „B‟ = „P‟
• plaintext „h‟ cari
perpotongannya di
kolom „C‟ = „J‟
• plaintext „a‟ cari
perpotongannya di
kolom „D‟ = „D‟
• dst
21. Pendahuluan
• Salah satu cipher poly-alphabetic adalah cipher Vigenere
yang terkenal, yang dianggap tidak bisa dipecahkan
selama hampir 300 tahun
• Apa yang sekarang dikenal sebagai Vigenere Cipher
sebenarnya pertama kali dijelaskan oleh Giovan Battista
Bellaso pada tahun 1553 bukunya La cifra del. Sig.
Giovan Battista Bellaso.
• Namun, di abad ke-19, ini merupakan misattributed untuk
Blaise de Vigenere, yang telah mempresentasikan cipher
serupa (yang Autokey Cipher) pada 1586.
22. Perkembangan Vigener Cipher
• Pada saat itu, dan selama berabad-abad sejak penemuannya,
Vigenere Cipher terkenal karena menjadi cipher sangat aman,
dan untuk waktu yang sangat lama diyakini tidak bisa
dipecahkan.
• Vigènere merupakan pemicu perang sipil di Amerika dan
kode vigènere digunakan oleh Tentara Konfederasi
(Confederate Army) pada perang sipil Amerika (American Civil
War)
• Meskipun hal ini tidak benar (itu sepenuhnya dipecahkan oleh
Friedrich Kasiski pada tahun 1863), cipher ini masih cipher
yang sangat aman dalam metode kertas dan pena, dan dapat
digunakan sebagai algoritma kriptografi di lapangan.
23. The Vigenere Tableau
• The Vigenere Cipher, yang diusulkan oleh Blaise de Vigenere dari
pengadilan Henry III dari Perancis pada abad keenam belas, adalah
substitusi poly-alphabetic berdasarkan tabel berikut:
24. Enkripsi pada Vigener
Cipher
1. Untuk mengenkripsi pesan menggunakan Vigenere Cipher
harus terlebih dahulu memilih kata kunci (atau keyphrase).
2. Kemudian ulangi kata kunci ini berulang-ulang sepanjang
plaintext. Ini disebut keystream.
3. Sekarang untuk setiap huruf plaintext, dapat ditemukan
huruf di sisi kiri dari recta tabula.
4. Ambil huruf sesuai keystream, dan temukan ini di bagian
atas recta tabula.
5. Di mana dua baris silang dalam tabel adalah huruf ciphertext
yang Anda gunakan.
25. Contoh :
• Plainteks :
“ini akan lebih menakutkan”
• Kunci yang akan kita gunakan adalah :
• “seram”
26. Proses Enkripsi :
• Plainteks
• Kunci
• Cipherteks
s e r a m s e r a m s e r a m s e r a m s e
i n i a k a n l e b i h m e n a k u t k a n
30. Proses Enkripsi :
• Plainteks
• Kunci
• Cipherteks
s e r a m s e r a m s e r a m s e r a m s e
i n i a k a n l e b i h m e n a k u t k a n
A R
31. Proses Enkripsi :
• Plainteks
• Kunci
• Cipherteks
s e r a m s e r a m s e r a m s e r a m s e
i n i a k a n l e b i h m e n a k u t k a n
A R Z A W S R C E N A L D E Z S O L T W S R
32. Kelebihan Vigener
• Plainteks : ini akan lebih menakutkan
• Kunci : seram
• Cipherteks : ARZ AWSR CENAL DEZSOLWSR
• Kekuatan cipher Vigenere terhadap analisis frekuensi
dapat dilihat dengan memeriksa ciphertext atas.
• Dengan demikian, pesan dienkripsi oleh Vigenere cipher
adalah kumpulan banyak cipher substitusi sederhana
sesuai dengan huruf dalam kata kunci.
33. dekripsi
• Untuk mendekripsi ciphertext dengan kata kunci, pertama
kita harus menghasilkan keystream dengan mengulangi
kata kunci sampai kita memiliki keystream yang sama
panjang dengan ciphertext.
• Kemudian Anda menemukan kolom dengan huruf
keystream di bagian atas, dan turun di kolom ini sampai
Anda menemukan huruf ciphertext.
• Sekarang baca ke sebelah kiri dari tabel untuk
mengungkapkan huruf plaintext.
34. Kelemahan Vigenere
• Kelemahan dari Vigenere Cipher adalah sifat berulang dari
keystream, yang memungkinkan kriptanalis untuk bekerja
tanpa kata kunci dan dengan melakukan analisis frekuensi
pada bagian-bagian yang berbeda.
• Friedrich Kasiski memecahkan Vigenere Cipher yang dikenal
Metode Kasiski.
• Metode yang digunakan bergantung pada menemukan panjang
kunci mungkin dengan mencari pola berulang dalam
ciphertext.
• kemudian digunakan untuk membagi ciphertext menjadi
beberapa bagian, dan melakukan analisis frekuensi pada
masing-masing bagian yang dienkripsi menggunakan huruf
yang sama dari kata kunci.
36. Vigenere Dengan Angka
• Plainteks :
• Kunci :
I N I A K A N L E B I H M E N A K U T K A N
8 13 8 0 10 0 13 11 4 1 8 7 12 4 13 0 10 20 19 10 0 13
H A N T U
7 0 13 19 20
37. Enkripsi
I N I A K A N L E B I H M E N A K U T K A N
8 13 8 0 10 0 13 11 4 1 8 7 12 4 13 0 10 20 19 10 0 13
H A N T U H A N T U H A N T U H A N T U H A
7 0 13 19 20 7 0 13 19 20 7 0 13 19 20 7 0 13 19 20 7 0
•Kunci: K = k1k2 … km
ki untuk 1 i m menyatakan jumlah pergeseran pada huruf ke-i.
Karakter cipherteks: ci(p) = (p + ki) mod n
38. Enkripsi
• Contoh :
• C1 = (P1+K1) mod 26 = (8+7) mod 26 = 15
• C2 = (P2+K2) mod 26 = (13+0) mod 26 = 13
• C3 = (P3+K3) mod 26 = (8+13) mod 26 = 21
• dst...
I N I A K A N L E B I H M E N A K U T K A N
8 13 8 0 10 0 13 11 4 1 8 7 12 4 13 0 10 20 19 10 0 13
H A N T U H A N T U H A N T U H A N T U H A
7 0 13 19 20 7 0 13 19 20 7 0 13 19 20 7 0 13 19 20 7 0
39. Enkripsi
I N I A K A N L E B I H M E N A K U T K A N
8 13 8 0 10 0 13 11 4 1 8 7 12 4 13 0 10 20 19 10 0 13
H A N T U H A N T U H A N T U H A N T U H A
7 0 13 19 20 7 0 13 19 20 7 0 13 19 20 7 0 13 19 20 7 0
15 13 21 19 4 7 13 24 23 21 15 7 25 23 7 7 10 7 12 4 7 13
P N V T E H N Y X V P H Z X H H K H M E H N
40. dekripsi
• Kunci: K = k1k2 … km
• ki untuk 1 i m menyatakan jumlah pergeseran pada
huruf ke-i.
• Karakter cipherteks: pi(c) = (c - ki) mod n
P N V T E H N Y X V P H Z X H H K H M E H N
15 13 21 19 4 7 13 24 23 21 15 7 25 23 7 7 10 7 12 4 7 13
H A N T U H A N T U H A N T U H A N T U H A
7 0 13 19 20 7 0 13 19 20 7 0 13 19 20 7 0 13 19 20 7 0
41. dekripsi
• Contoh :
• P1 = (C1-K1) mod 26 = (15-7) mod 26 = 8
• P2 = (C2-K2) mod 26 = (13-0) mod 26 = 13
• P3 = (C3-K3) mod 26 = (21-13) mod 26 = 8
• dst...
P N V T E H N Y X V P H Z X H H K H M E H N
15 13 21 19 4 7 13 24 23 21 15 7 25 23 7 7 10 7 12 4 7 13
H A N T U H A N T U H A N T U H A N T U H A
7 0 13 19 20 7 0 13 19 20 7 0 13 19 20 7 0 13 19 20 7 0
42. dekripsi
15 13 21 19 4 7 13 24 23 21 15 7 25 23 7 7 10 7 12 4 7 13
P N V T E H N Y X V P H Z X H H K H M E H N
H A N T U H A N T U H A N T U H A N T U H A
7 0 13 19 20 7 0 13 19 20 7 0 13 19 20 7 0 13 19 20 7 0
I N I A K A N L E B I H M E N A K U T K A N
8 13 8 0 10 0 13 11 4 1 8 7 12 4 13 0 10 20 19 10 0 13
44. Jawaban
• Plainteks : semua soal uas ada di buku
• Kunci : ujian
• Cipherteks : ?
s o a l u a s a d a d i b u k u
18 14 0 11 20 0 18 0 3 0 3 8 1 20 10 20
u j i a n u j i a n u j i a n u
20 9 8 0 13 20 9 8 0 13 20 9 8 0 13 20
12 23 8 11 7 20 1 8 3 13 23 17 9 20 23 14
M X I L H U B I D N X R J U X O
46. Autokey Cipher
• Secara umum, autokey merujuk pada setiap cipher mana
kunci didasarkan pada plaintext asli.
• Versi paling terkenal dari Autokey Cipher digambarkan
oleh Blaise de Vigenere pada 1586 (salah satu yang
kemudian misattributed yang Vigenere Cipher). Cipher
ini menggabungkan kata kunci dan plaintext asli dalam
membuat keystream.
47. Auto-Key Vigènere cipher
• Idealnya kunci tidak digunakan secara berulang.
• Jika panjang kunci lebih kecil dari panjang plaintext,
maka kunci disambung dengan plaintext tersebut.
i n i a k a n l e b i h m e n a k u t k a n
s e r a m i n i a k a n l e b i h m e n a k
48. Enkripsi
• Enkripsi menggunakan Autokey Cipher sangat mirip
dengan Vigenere Cipher, kecuali dalam pembuatan
keystream.
• keystream dibuat dengan memulai dengan kata kunci atau
keyphrase, dan kemudian menambahkan plaintext itu
sendiri sampai ke akhir.
• Kemudian dengan menggunakan Tabula Recta untuk
menemukan huruf keystream di bagian atas, dan huruf
plaintext bawah kiri, dan menggunakan huruf pada
perpotongan sebagai huruf ciphertext.
49. Proses Enkripsi :
• Plainteks
• Kunci
• Cipherteks
s e r a m i n i a k a n l e b i h m e n a k
i n i a k a n l e b i h m e n a k u t k a n
A R Z A W I A T E L I U X I O I R G X X A X
50. dekripsi
• Untuk mendekripsi ciphertext menggunakan Autokey Cipher,
mulai seperti yang dilakukan untuk Vigenere Cipher,
• Menemukan huruf pertama dari kunci di barisan bagian atas
• menemukan huruf ciphertext bawah kolom itu
• mengambil huruf plaintext di bagian paling kiri dari baris ini.
• Setelah mendapat huruf plaintext, sekarang perlu
menambahkan huruf ini pada akhir kunci.
• Melanjutkan untuk memecahkan kode setiap huruf,
menambahkannya ke akhir keystream untuk setiap kalinya.
55. Proses dekripsi:
• Cipherteks
• Kunci
• Plainteks s e r a m i n i a k a n l e b i h m e n a k
i n i a k a n l e b i h m e n a k u t k a n
A R Z A W I A T E L I U X I O I R G X X A X
56. Memecahkan Ciphertext
• Autokey Cipher adalah cara yang jauh lebih aman
menghasilkan keystream dari Vigenere Cipher, yang
menakjubkan karena selama lebih dari 200 tahun diyakini
bahwa Vigenere itu tidak bisa dipecahkan.
• The Autokey Cipher tidak memiliki kelemahan sifat
berulang dari keystream.
• Namun, meskipun lebih aman, masih mungkin untuk
memecahkan Autokey Cipher.
• Kelemahan di sini adalah bahwa ada kemungkinan bahwa
beberapa kata-kata umum akan telah digunakan dalam
plaintext, dan dengan demikian juga dalam keystream.
58. Running-Key Cipher
• Running Key Cipher menggunakan cara lain untuk
menghasilkan keystream
• Alih-alih menggunakan kata kunci, cipher ini
menggunakan teks kunci atau buku kunci, yang
disepakati oleh kedua belah pihak sebelum enkripsi
terjadi.
• Keystream ini diambil dari buku ini, memilih halaman
dan garis bilangan untuk memulainya.
59. Running-Key Vigènere
cipher
• Pada varian ini, kunci bukan string pendek yang diulang
secara periodik seperti pada vigènere cipher standar.
• tetapi kunci adalah string yang sangat panjang yang
diambil dari teks bermakna misalnya naskah proklamasi,
naskah Pembukaan UUD 1945, terjemahan ayat di dalam
kitab suci, dan lain-lain
60. Contoh
• Plaintext : “where shall we meet and at what time”
• Kunci dipilih dari buku The Code Book karya Simon
Singh, dan ditentukan dimulai dari hal 45 baris 1:
“for centuries, the simple monoalphabetic substitution cipher
had been sufficient to ensure secrecy”
61. Contoh
• Plaintext : “where shall we meet and at what time”
• Kunci dipilih dari buku The Code Book karya Simon
Singh, dan ditentukan dimulai dari hal 45 baris 1:
“for centuries, the simple monoalphabetic substitution cipher
had been sufficient to ensure secrecy”
wh e r e s h a l l we me e t a nd a t wh a t t ime
f o r c e n t u r i e s t h e s imp l e mono a l ph
62. Contoh
• Plaintext : “where shall we meet and at what time”
• Kunci dipilih dari buku The Code Book karya Simon
Singh, dan ditentukan dimulai dari hal 45 baris 1:
“for centuries, the simple monoalphabetic substitution cipher
had been sufficient to ensure secrecy”
• Ciphertext : BVVTI FAUCT AW FLIL IZS LX IVNH
TTBL
wh e r e s h a l l we me e t a nd a t wh a t t ime
f o r c e n t u r i e s t h e s imp l e mono a l ph
63. Memecahkan Ciphertext
• Running Key Cipher cukup aman, dan tidak memiliki
kelemahan yang seperti Vigenere Cipher (tidak ada
keystream mengulang) atau Autokey Cipher (plaintext
tidak dapat digunakan untuk mendapatkan informasi).
• Namun, masih mungkin untuk memecahkan cipher.
• Seperti Autokey, kita dapat mengasumsikan bahwa kata-
kata tertentu akan muncul dalam keystream, dan
menggunakan ini untuk menemukan potongan-potongan
yang masuk akal dari plaintext.
65. The Beaufort Cipher
• The Beaufort Cipher adalah sangat berhubungan dengan
Vigenere Cipher, dan ditemukan oleh Sir Richard
Beaufort.
• Seperti dengan Vigenere Cipher, kata kunci yang
digunakan, dan diulang untuk membuat keystream.
• Perbedaannya terletak pada bagaimana Tabula Recta
digunakan untuk mendapatkan huruf ciphertext.
66. Enkripsi
• Daripada menemukan keystream di bagian atas, dan
plaintext sisi kiri, kemudian menemukan persimpangan
(seperti dalam Vigenere Cipher)
• Cipher ini menemukan huruf plaintext di bagian atas , dan
turun kolom ini sampai kita menemukan huruf keystream.
Kami kemudian mengambil huruf di paling kiri dari baris
ini menjadi huruf ciphertext.
67. Contoh
• Untuk enkripsi huruf
plainteks „d‟ dengan
huruf keystream „m‟ :
1. Cari huruf „d‟ pada
barisan atas
2. Turun pada kolom
itu sampai
menemukan huruf
„m‟
3. Pindah ke sisi paling
kiri, huruf
ciphertextnya adalah
„J‟
68. dekripsi
• Karena sifat simetris dari Tabula Recta, mendekripsi
Beaufort Cipher menggunakan metode yang sama dengan
proses enkripsi.
70. Diskusi Kelompok (3-4 orang)
• Pelajari algoritma enkripsi dan dekripsi chiper berikut:
• Trithemius Cipher
• Vigenere Standar Cipher
• Vigenere Auto-Key Cipher
• Vigeneye Running-Key Cipher
• Beaufort Cipher
• Buatkan flowchart untuk masing-masing algoritma
diatas!
• Buatkan aplikasi berdasarkan flowchart yang anda buat,
aplikasi yang dibuat harus memberikan gambaran proses
enkripsi/ dekripsi tiap algoritma.