Modern
(Stream Cipher)
Dosen : Sampe Hotland Sitorus
Sistem Komputer
Universitas Tanjungpura
Pontianak 1
2017
Pendahuluan
Algoritma Kriptografi Modern beroperasi dalam
mode bit (algoritma kriptografi klasik beroperasi
dalam mode karakter)
2
Tetap menggunakan gagasan pada algoritma
klasik: substitusi dan transposisi, tetapi lebih
rumit (sangat sulit dipecahkan)
3
Diagram Blok Kriptografi Modern
S e c u r e N e tw o r k P r o to c o ls
D a ta N on-
C o n fid e n tia lity A u t h e n tic a tio n
In te g r ity R e p u d ia tio n
M AC s C h a lle n g e S m a rt D ig ita l
E n c r y p tio n
M IC s R esponses C a rd s S ig n a tu r e s
S y m m e tr ic K e y M essage S e c re t P u b lic K e y
IV s N onces
C ry p to g ra p h y D ig e s t Keys C ry p to g ra p h y
5
Bila plainteks dibagi menjadi blok 3-bit:
4 7 2 6
6
Padding bits: bit-bit tambahan jika ukuran blok
terakhir tidak mencukupi panjang blok
7
Representasi dalam Heksadesimal
10
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.
1 0 0 1 1
1 1 0 0 1
1 1 0 1 0 0 1 0 1 1
0 1 0 1 0 11
Algoritma Enkripsi dengan XOR
Enkripsi: C = P K
Dekripsi: P = C K
13
Sample Code
14
/*EnkripsisembarangberkasdenganalgoritmaXORsederhana.
*/
#include <stdio.h>
#include <stdio.h>
17
Program komersil yang berbasis DOS atau
Macintosh menggunakan algoritma XOR
sederhana ini.
18
Kategori Algoritma (cipher)
Berbasis Bit
1. Cipher Aliran (Stream Cipher)
- beroperasi pada bit tunggal
- enkripsi/dekripsi bit per bit
19
Cipher Aliran
Mengenkripsi plainteks menjadi chiperteks bit
per bit (1 bit setiap kali transformasi) atau
byte per byte (1 byte setiap kali
transformasi) dengan kunci keystream.
Keystream Keystream
Generator Generator
Keystream ki Keystream ki
ci
pi Cipherteks
pi
Plainteks Enkripsi Dekripsi Plainteks
22
Bit-bit kunci untuk enkripsi/dekripsi disebut
keystream
24
Tinjau 3 kasus yang dihasilkan oleh
keystream generator:
1. Keystream seluruhnya 0
2. Keystream berulang secara perodik
3. Keystream benar-benar acak
25
Kasus 1: Jika pembangkit mengeluarkan
aliran-bit-kunci yang seluruhnya nol,
sebab:
ci = pi 0 = pi
27
Kasus 3: Jika pembangkit mengeluarkan
keystream benar-benar acak (truly random),
maka algoritma enkripsinya = one-time pad
dengan tingkat keamanan yang sempurna.
28
Kesimpulan: Tingkat keamanan cipher aliran
terletak antara algoritma XOR sederhana
dengan one-time pad.
29
Keystream Generator
Keystream generator diimplementasikan
sebagai prosedur yang sama di sisi pengirim
dan penerima pesan.
Keystream Keystream
U U
Generator Generator
Keystream ki Keystream ki
ci
pi Cipherteks
pi
Plainteks Enkripsi Dekripsi Plainteks
32
Internal State
Next-State
U Function
Output Function
Keystream ki
111101011001000
bn bn - 1 ... b4 b3 b2 b1
Fungsi umpan-balik
35
Contoh FSR adalah LFSR (Linear
Feedback Shift Register)
Register Geser
bn bn - 1 ... b4 b3 b2 b1
Bit Keluaran
...
36
Contoh LFSR 4-bit
b4 b3 b2 b1
Bit Keluaran
37
Contoh: jika LFSR 4-bit diinisialisasi dengan 1111
C 01010000 (karakter P)
P 01100101 (karakter e)
K 00110101 (karakter 5)
40
2. Ciphertext-only attack
Terjadi jika keystream yang sama digunakan
dua kali terhadap potongan plainteks yang
berbeda (keystream reuse attack)
41
Contoh: Kriptanalis memiliki dua potongan
cipherteks berbeda (C1 dan C2) yang dienkripsi
dengan bit-bit kunci yang sama.
P1 C1 = P1 (P1 K) = K
45
Contoh 9.5:
00101101
Flip low-bit
00101100
C: uhtr07hjLmkyR3j7Tkdhj38lkkldkYtr#)oknTkRgh
P : QT-TRNSFR US $10010,00 FRM ACCNT 123-67 TO
47
Aplikasi Stream Cipher
Stream Cipher cocok untuk
mengenkripsikan aliran data yang terus
menerus melalui saluran komunikasi,
misalnya:
48
Alasan: jika bit cipherteks yang diterima
mengandung kesalahan, maka hal ini hanya
menghasilkan satu bit kesalahan pada waktu
dekripsi, karena tiap bit plainteks ditentukan
hanya oleh satu bit cipherteks.
49