Algoritma Kriptografi Klasik memiliki bentuk yang sederhana, dan mudah untuk dipecahkan.
1. Pendahuluan
▪ Breakable cipher → kebanyakn algoritma yang sudah pernah dibuat, yang mana
seorang cryptanalyst mampu memecahkan kode kunci sehingga dia bisa melakukan
perubahan terhadap pesan yang diberikan oleh si pengirim kepada si penerima.
Caesar Cipher, Vigenere Cipher, Playfair Cipher, Enigma Cipher, Hill Cipher, dll
merupakan kriptografi klasik yang sudah kadaluarsa, yang mana kriptografii
klasik termasuk kedalam breakable cipher.
▪ Unbreakable cipher → klaim yang dibuat oleh kriptografer terhadap algoritma
yang dirancangnya.
Unbreable cipher benar-benar ada dan syarat sebuah cipher dikatakan unbreakable
cipher adalah sebagai berikut:
✓ Kunci harus benar-benar acak (trully random). Dengan ketentuan bahwa acak
adalah tidak dapat diprediksi dan tidak dapat diulang.
✓ Panjang kunci = panjang plainteks
Sehingga, akibat dari poin 1 dan 2 → plainteks yang sama tidak selalu menghasilkan
cipherteks yang sama.
1|Page
YANADA SARI BR SITUMORANG – 11S18015
▪ One time pad termasuk kedalam kategori kriptografi simetris, yang memiliki:
panjang kunci = panjang plainteks
Contoh:
▪ One-time pad (pad = kertas bloknot) berisi deretan huruf-huruf kunci yang dibangkitkan
secara acak.
Deretan huruf kunci tersebut merupakan kunci yang sudah ada dalam kertas blocknot itu
sendiri.
▪ Pengirim dan penerima pesan memiliki salinan (copy) pad yang sama.
▪ Satu pad hanya digunakan sekali (one-time) saja untuk mengenkripsi pesan
➔ itulah mengapa dinamakan one-time pad.
▪ Sekali pad telah digunakan, ia dihancurkan supaya tidak dipakai kembali untuk
mengenkripsi pesan yang lain, dengan tujuan → menyulitkan kriptanalisis.
▪ Aturan enkripsi dan dekripsi yang digunakan persis sama seperti pada Vigenere Cipher,
bedanya tidak ada perulangan kunci secara periodik.
Rumus untuk melakukan enkripsi dan dekripsi adalah sama, seperti berikut:
Contoh:
2|Page
YANADA SARI BR SITUMORANG – 11S18015
3|Page
YANADA SARI BR SITUMORANG – 11S18015
B. STREAM CIPHER
1. Pendahuluan
Kategori cipher Berbasis Bit
a. Cipher Alir (Stream Cipher): beroperasi pada bit tunggal dengan proses
enkripsi/dekripsi dilakukan bit per bit.
b. Cipher Blok (Block Cipher): beroperasi pada blok bit (contoh: 64-bit/blok = 8
karakter/blok) dengan proses enkripsi/dekripsi dilakukan blok per blok.
Penting!!!
Bit-String
▪ Kriptografi klasik menggunakan sistem subtitusi dan permutasi karakter dari plainteks.
▪ Pada kriptografi modern, karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits),
yaitu 1 dan 0, yang umum digunakan untuk skema encoding ASCII (American Standard Code for
Information Interchange).
▪ Urutan bit ini yang akan mewakili plainteks yang kemudian dienkripsi untuk mendapatkan
cipherteks ke dalam bentuk urutan bit.
Rangkaian Bit
▪ Pesan (dalam bentuk rangkaian bit) dipecah menjadi beberapa blok.
Contoh: Plainteks 100111010110
Bila dibagi menjadi blok 4-bit
1001 1101 0110
Maka setiap blok menyatakan 0 sampai 15:
9 13 6
Begitu juga untuk pembagian ke 3 bit, dsb…
▪ Padding bits: bit-bit tambahan jika ukuran blok terakhir tidak mencukupi panjang blok.
Contoh: Plainteks 100111010110
Bila dibagi menjadi blok 5-bit:
10011 10101 00010 → sisa bit plainteks akan ditempatkan di pengelompokan terakhir, kemudian
menambahkan angka 0 di depannya agar memenuhi kriteria pengelompokannya, yaitu 5.
Misalnya sisa bit terakhir adalah 11, tetapi bit nya di bagi menjadi 4-bit dalam 1 blok,
sehingga padding bits nya adalah 0011.
Padding bits mengakibatkan ukuran cipherteks sedikit lebih besar daripada ukuran plainteks semula.
4|Page
YANADA SARI BR SITUMORANG – 11S18015
Operasi XOR
▪ Paling banyak digunakan di dalam cipher modern.
Operasi:
Diperoleh hasil:
Contoh:
5|Page
YANADA SARI BR SITUMORANG – 11S18015
Penjelasan:
✓ Keystream → bit-bit kunci untuk enkripsi/dekripsi. Ini dapat dibangkitkan oleh Keystream
generator.
✓ Keystream generator diimplementasikan sebagai prosedur yang sama di sisi pengirim dan
penerima pesan.
✓ Keystream generator dapat membangkitkan keystream berbasis bit per bit atau dalam bentuk
blok-blok bit.
✓ Jika keystream berbentuk blok-blok bit, cipher blok dapat digunakan untuk untuk memperoleh
cipher alir.
Langkah 1: Masing-masing pengirim dan penerima harus memiliki kunci U yang
sama, yang mana kunci ini harus dijaga kerahasiaannya.
Langkah 2: Keystream generator akan menerima masukan sebuah kunci U, baik
dari sisi pengirim maupun penerima.
- Contoh: U = 1111 (U adalah kunci empat-bit yang dipilih sembarang, kecuali 0000)
- Algoritma sederhana memperoleh keystream:
XOR-kan bit ke-1 dengan bit ke-4 dari empat bit sebelumnya: 111101011001000 dan akan
berulang setiap 15 bit.
6|Page
YANADA SARI BR SITUMORANG – 11S18015
- Secara umum, jika panjang kunci U adalah n bit, maka bit-bit kunci tidakakan berulang
sampai 2𝑛 –1 bit. Hal inilah yang menyebabkan kenapa bit-nya, ketika U-nya terdiri dari 4-
bit (n = 4), maka akan berulang setiap 15-bit, yang artinya mulai dari bit ke-16 akan berulang
dari bit ke-1 lagi.
Langkah 3: Keystream generator ini akan menghasilkan bit-bit kunci, yaitu
keystream, yang akan nantinya di XOR-kan untuk proses enkripsi/dekripsi.
- Proses Enkripsi:
Diberikan plainteks dengan ketentuan keystream sudah di generate oleh keystream generator
di sisi pengirim. Kemudian, plainteks tersebut akan di-XOR-kan dengan bit kunci keystream
untuk menghasilkan cipherteks.
- Proses Dekripsi
Diberikan cipherteks yang sudah dihasilkan dengan ketentuan keystream sudah di generate
oleh keystream generator di sisi penerima. Kemudian, cipherteks tersebut akan di-XOR-kan
dengan bit kunci keystream untuk menghasilkan plainteks-nya kembali.
▪ Contoh:
7|Page
YANADA SARI BR SITUMORANG – 11S18015
Kesimpulan:
- Tingkat keamanan cipher alir terletak antara cipher XOR sederhana dengan one-time pad.
- Semakin acak keluaran yang dihasilkan oleh pembangkit keystream, semakin sulit kriptanalis
memecahkan cipherteks.
8|Page
YANADA SARI BR SITUMORANG – 11S18015
9|Page