stream cipher - dinus.ac.iddinus.ac.id/repository/docs/ajar/kriptografi_-_week7_-_sream... ·...

23
LOGO STREAM CIPHER Kriptografi - Week 7 Aisyatul Karima, 2012

Upload: trinhthuy

Post on 10-Apr-2019

230 views

Category:

Documents


0 download

TRANSCRIPT

LOGO

“ Add your company slogan ”

STREAM CIPHERKriptografi - Week 7

Aisyatul Karima, 2012

Standar Kompetensi Pada akhir semester, mahasiswa menguasai pengetahuan, pengertian,

& pemahaman tentang teknik-teknik kriptografi. Selain itu mahasiswadiharapkan mampu mengimplementasikan salah satu teknik kriptografiuntuk mengamankan informasi yang akan dikirimkan melalui jaringan.

Mahasiswa menguasai langkah super enkripsi Mahasiswa menguasai teknik rahasia algoritma sempurna Mahasiswa mampu menyelesaikan soal teknik one time pad Mahasiswa mampu menganalisa teknik enigma rotor machine

Kompetensi Dasar

Contents

1

Stream Cipher2

Jenis Stream Cipher

3

Operasi XOR

5

Keystream Generator

Operasi XOR

Notasi: Operasi:

0 0 = 0 0 1 = 11 0 = 1 1 1 = 0

Operasi XOR = penjumlahan modulo 2:0 0 = 0 0 + 0 (mod 2) = 00 1 = 1 0 + 1 (mod 2) = 11 0 = 1 0 + 1 (mod 2) = 11 1 = 0 1 + 1 (mod 2) = 0

Aturan Operasi XOR

Hukum-hukum yang terkait denganoperator XOR:(i) a a = 0(ii) a b = b a(iii) a (b c) = (a b) c

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: 10011 11001 = 01010yang dalam hal ini, hasilnya diperoleh sebagai berikut:

1 0 0 1 11 1 0 0 1

1 1 0 1 0 0 1 0 1 10 1 0 1 0

Algoritma Enkripsi dengan XOR

Enkripsi: C = P K Dekripsi: P = C K

Contoh: plainteks 01100101 (karakter ‘e’) kunci 00110101 (karakter ‘5’) cipherteks 01010000 (karakter ‘P’) kunci 00110101 (karakter ‘5’)

plainteks 01100101 (karakter ‘e’)

Cipher Aliran (Stream Cipher)

Mengenkripsi plainteks menjadi cipherteks bitper bit (1 bit setiap kali transformasi) atau byteper byte (1 byte setiap kali transformasi) dengankunci keystream.

Diperkenalkan oleh Vernam melaluialgoritmanya, Vernam Cipher.

Vernam cipher diadopsi dari one-time padcipher, yang dalam hal ini karakter digantidengan bit (0 atau 1).

Cipher Aliran (Stream Cipher)

Konsep cipher aliran

Keystream Generator

Bit-bit kunci untuk enkripsi/dekripsi disebutkeystream Keystream dibangkitkan oleh keystream

generator. Keystream di-XOR-kan dengan bit-bit plainteks,

p1, p2, …, menghasilkan aliran bit-bit cipherteks:ci = pi ki

Di sisi penerima dibangkitkan keystream yangsama untuk mendekripsi aliran bit-bit cipherteks:

pi = ci ki

Keystream Generator Contoh:

Plainteks: 1100101Keystream: 1000110 Cipherteks: 0100011

Keamanan sistem cipher aliran bergantung seluruhnya pada keystream generator.

Tinjau 3 kasus yang dihasilkan oleh keystreamgenerator:1. Keystream seluruhnya 02. Keystream berulang secara perodik3. Keystream benar-benar acak

Keystream Generator

Kasus 1: Jika pembangkit mengeluarkan aliran-bit-kunciyang seluruhnya nol, maka cipherteks = plainteks, sebab:

ci = pi 0 = pi

dan proses enkripsi menjadi tak-berarti

Keystream Generator

Kasus 2: Jika pembangkit mengeluarkan kesytream yang berulang secara periodik, maka algoritmaenkripsinya = algoritma enkripsi dengan XOR sederhana yang memiliki tingkat keamananyang rendah.

Keystream Generator

Kasus 3: Jika pembangkit mengeluarkan keystreambenar-benar acak (truly random), makaalgoritma enkripsinya = one-time paddengan tingkat keamanan yang sempurna.

Pada kasus ini, panjang keystream = panjangplainteks, dan kita mendapatkan cipher aliran sebagaiunbreakable cipher.

Keystream Generator

Kesimpulan: Tingkat keamanan cipher aliranterletak antara algoritma XOR sederhanadengan one-time pad.

Semakin acak keluaran yang dihasilkan olehpembangkit aliran-bit-kunci, semakin sulitkriptanalis memecahkan cipherteks.

Keystream Generator

Keystream generator diimplementasikansebagai prosedur yang sama di sisi pengirimdan penerima pesan.

Keystream generator dapat membangkitkankeystream berbasis bit per bit atau dalambentuk blok-blok bit.

Jika keystream berbentuk blok-blok bit,cipher blok dapat digunakan untuk untukmemperoleh cipher aliran.

Keystream Generator

Prosedur menerima masukan sebuah kunci U. Keluarandari prosedur merupakan fungsi dari U.

Pengirim dan penerima harus memiliki kunci U yang sama.Kunci U ini harus dijaga kerahasiaanya.

Pembangkit harus menghasilkan bit-bit kunci yang kuatsecara kriptografi.

Keystream Generator 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.

Secara umum, jika panjang kunci U adalah n bit, makabit-bit kunci tidak akan berulang sampai 2n – 1 bit.

Jenis-jenis Cipher Aliran

1. Synchronous Stream Cipher- Cipher aliran dimana aliran-kunci independen dari

plaintext dan ciphertext, dan aliran bit-bit kunci di XORkan dengan plaintext (untuk enkripsi) atau ciphertext(untuk dekripsi).

- Perubahan status cipher tidak dipengaruhi oleh pesanplaintext maupun ciphertext.

- Cipher jenis ini disebut juga Cipher Aliran Aditif.

Baik pengirim maupun penerima harus sinkron dalammengirim dan menerima pesan sebab bit kunci ygdihasilkan tidak dapat diulang lagi.

Jika sinkronisasi hilang, misal bit ciphertext hilangselama transmisi, maka dekripsi gagal. Dan sinkronisasidapat diulang dengan inisialisasi ulang.

Jenis-jenis Cipher Aliran

2. Self-Synchronous Stream Cipher- Cipher aliran dimana aliran-kunci dimana bit-bit aliran-

kunci adalah fungsi dari kunci dan beberapa bitciphertext sebelumnya.

- Status cipher tergantung dari beberapa bit kuncisebelumnya.

Jenis-jenis Cipher Aliran

Keuntungan cipher ini: penerima pesan secara otomatistersinkronisasi dengan pembangkit aliran kunci setelah menerima nbuah bit sehingga memudahkan recovery jika bit ciphertextterhapus.

Jika terjadi kesalahan transmisi, misal 1 bit ciphertext hilang atauterhapus maka hanya dekripsi n ciphertext berikutnya saja yangtidak benar, setelah itu kembali benar.

Jenis-jenis Cipher Aliran

LOGO

“ Add your company slogan ”