Anda di halaman 1dari 9

YANADA SARI BR SITUMORANG – 11S18015

W05-One Time Pad and Stream Cipher


Nama : Yanada Sari Br Situmorang
NIM : 11S18015
Mata Kuliah : Kriptografi dan Keamanan Informasi

A. ONE TIME PAD

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.

2. One Time Pad (OTP)


▪ OTP termasuk kedalam unbreakable cipher.
▪ Satu-satunya algoritma kriptografi sempurna aman (perfect secrecy) sehingga tidak dapat
dipecahkan.
▪ One time pad ditemukan pada tahun 1917 oleh G.Vernam dan Major Joseph
Mauborgne.
▪ Untuk mengatasi kelemahan pada Vigenere Cipher. Vigenere Cipher mengulang
penggunaan kunci secara periodik →mudah ditemukan dengan metode Kasiski.

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:

(o + T) mod 26 = (14+19) mod 26 = 7 = H


(n + B) mod 26 = (13+1) mod 26 = 14 = O
(e + F) mod 26 = (4+5) mod 26 = 9 = J
(t + R) mod 26 = (19+17) mod 26 = 10 = K
(i + G) mod 26 = (8+6) mod 26 = 14 = O
(m + F) mod 26 = (12+5) mod 26 = 17 = R
(e + A) mod 26 = (4+0) mod 26 = 4 = E
(p + R) mod 26 = (15+17) mod 26 = 6 = G
(a + F) mod 26 = (0+5) mod 26 = 5 = F
(d + M) mod 26 = (3+12) mod 26 = 15 = P
Diperoleh cipherteks = HOJKOREGFP

2|Page
YANADA SARI BR SITUMORANG – 11S18015

▪ OTP tidak dapat dipecahkan karena:


✓ Kunci acak + plainteks yang tidak acak = cipherteks yang seluruhnya acak.
✓ Hanya terdapat satu kunci yang memetakan plainteks ke cipherteks, begitu juga
sebaliknya.
▪ Mendekripsi cipherteks dengan beberapa kunci berbeda dapat menghasilkan
plainteks yang bermakna, sehingga kriptanalis kesulitan menentukan plainteks
mana yang benar.
Misalkan kriptanalis mencoba kunci LMCCAWAAZD
untuk mendekripsi cipherteks HOJKOREGHP
Plainteks yang dihasilkan: SALMONEGGS
Bila ia mencoba kunci: ZDVUZOEYEO
Plainteks yang dihasilkan: GREENFIELD
Hal ini akan membuat seorang Kriptanalis menjadi bingung sendiri.
Contoh ini menunjukkan bahwa untuk sembarang plainteks dan cipherteks hanya
ada satu kunci yang memetakannya satu sama lain.
3. Kelemahan OTP:
▪ Tidak mangkus, karena panjang kunci = panjang pesan. Makin panjang pesan,
makin besar ukuran kuncinya. Butuh komputasi yang berat untuk membangkitkan
milyaran karakterkarakater yang benar-benar acak.
▪ Karena kunci dibangkitkan secara acak, maka ‘tidak mungkin’ pengirim dan
penerima membangkitkan kunci yang sama secara bersamaan.
▪ OTP hanya dapat digunakan jika tersedia saluran komunikasi kedua yang cukup
aman untuk mengirim kunci.
▪ Saluran kedua ini tidak boleh sama dengan saluran untuk mengirim pesan.
▪ Saluran kedua ini umumnya lambat dan mahal (misalnya lewat jalur darat, memakai
kurir terpercaya dan tidak bisa dikenali).

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.

Representasi dalam Heksadesimal


▪ Pada beberapa algoritma kriptografi, pesan dinyatakan dalam kode Hex:

Contoh: plainteks 100111010110


Bila dibagi menjadi blok 4-bit:
1001 1101 0110
dalam notasi Hex adalah 9 D 6

4|Page
YANADA SARI BR SITUMORANG – 11S18015

Operasi XOR
▪ Paling banyak digunakan di dalam cipher modern.

Operasi:

Operasi XOR Bitwise


▪ Jika dua rangkaian dioperasikan dengan XOR, maka operasinya dilakukan dengan meng-XOR-kan
setiap bit yang berkoresponden dari kedua rangkaian bit tersebut.
Contoh:

Diperoleh hasil:

Cipher dengan XOR


▪ Sama seperti Vigenere Cipher, tetapi dalam mode bit.
▪ Setiap bit plainteks di-XOR-kan dengan setiap bit kunci.

Contoh:

2. Chiper Alir (Stream Cipher)


▪ Mengenkripsi plainteks menjadi chiperteks setiap bit per bit dengan bit -bit kunci
(dinamakan bit keystream) atau byte per byte (1-byte setiap kali transformasi).
▪ Diperkenalkan oleh Vernam melalui algoritmanya, Vernam Cipher.
▪ Vernam cipher diadopsi dari one time pad cipher, yang dalam hal ini karakter diganti
dengan bit (0 atau 1).

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:

▪ Keamanan cipher alir bergantung seluruhnya pada keystream generator.


▪ Tinjau 3 kasus yang dihasilkan oleh keystream generator:
Kasus 1: Keystream seluruhnya 0
Jika pembangkit mengeluarkan keystream yang seluruhnya nol,
Keystream: 00000000000000000000000000000…
Maka cipherteks = plainteks
Sebab:

Sehingga, proses enkripsi menjadi tak-berarti

Kasus 2: Keystream berulang secara perodik


Jika pembangkit mengeluarkan kesytream yang berulang secara periodik, Kesytream:
11011011011011011011011011011...
Maka algoritma enkripsinya = cipher XOR sederhana yang memiliki tingkat keamanan yang
rendah.

7|Page
YANADA SARI BR SITUMORANG – 11S18015

Kasus 3: Keystream benar-benar acak → Unbreakable Cipher


Jika pembangkit mengeluarkan keystream benar-benar acak (truly random), maka algoritma
enkripsinya = one-time pad dengan tingkat keamanan yang sempurna.
Keystream: 01101010010101110011010110010...
Pada kasus ini, panjang keystream = panjang plainteks, dan kita mendapatkan cipher alir sebagai
unbreakable cipher.

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.

3. Feedback Shift Register (FSR)


▪ FSR adalah contoh sebuah keystream generator.
▪ FSR terdiri dari dua bagian: register geser (n bit) dan fungsi umpan balik.

▪ Contoh FSR adalah LFSR (Linear Feedback Shift Register).

▪ Bit luaran LFSR menjadi keystream.


▪ Contoh LFSR 4-bit:

8|Page
YANADA SARI BR SITUMORANG – 11S18015

▪ Fungsi umpan balik:

▪ Contoh: jika LFSR 4-bit diinisialisasi dengan 1111

▪ Barisan bit acak: 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 ...


▪ Periode LFSR n-bit: 2𝑛 –1

9|Page

Anda mungkin juga menyukai