Algoritma Kriptografi Modern
Download
Report
Transcript Algoritma Kriptografi Modern
Pengenalan Kriptografi
Modern
1
Pendahuluan
Beroperasi dalam mode bit (algoritma
kriptografi klasik beroperasi dalam mode
karakter)
kunci, plainteks, cipherteks, diproses dalam
rangkaian bit
operasi bit xor paling banyak digunakan
2
Tetap menggunakan gagasan pada algoritma klasik:
substitusi dan transposisi, tetapi lebih rumit (sangat sulit
dipecahkan)
Perkembangan algoritma kriptografi modern didorong
oleh penggunaan komputer digital untuk keamanan pesan.
Komputer digital merepresentasikan data dalam biner.
3
Rangkaian bit
Pesan (dalam bentuk rangkaian bit) dipecah
menajdi beberapa blok
Contoh: Plainteks 100111010110
Bila dibagi menjadi blok 4-bit
1001 1101 0110
maka setiap blok menyatakan 0 sampai 15:
9
13 6
4
Bila plainteks dibagi menjadi blok 3-bit:
100
111
010
110
maka setiap blok menyatakan 0 sampai 7:
4
7
2
6
5
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
Padding bits mengakibatkan ukuran
plainteks hasil dekripsi lebih besar daripada
ukuran plainteks semula.
6
Representasi dalam Heksadesimal
Pada beberapa algoritma kriptografi, pesan
dinyatakan dalam kode Hex:
0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
1000 = 8
1100 = C
0101 = 5
1001 = 9
1101 = D
0011 = 6
1010 = A
1110 = E
0111 = 7
1011 = B
1111 = F
Contoh: plainteks 100111010110 dibagi menjadi
blok 4-bit:
1001
1101
0110
dalam notasi HEX adalah 9 D 6
7
Operasi XOR
Notasi:
Operasi:
00=0
10=1
01=1
11=0
Operasi XOR = penjumlahan modulo 2:
00=0
01=1
10=1
11=1
0 + 0 (mod 2) = 0
0 + 1 (mod 2) = 1
0 + 1 (mod 2) = 1
1 + 1 (mod 2) = 0
8
Hukum-hukum yang terkait dengan operator XOR:
(i) a a = 0
(ii) a b = b a
(iii) a (b c) = (a b) c
9
Operasi XOR Bitwise
Jik
ad
u
aran
g
k
aiand
io
p
erasik
and
en
g
anX
O
R
,m
ak
a
o
p
erasin
y
ad
ilak
u
k
and
en
g
anm
en
g
-X
O
R
-k
ansetiapb
ity
an
g
b
erk
o
resp
o
n
d
end
arik
ed
u
aran
g
k
aianb
itterseb
u
t.
C
o
n
to
h
:1
0
0
1
1
1
1
0
0
1=0
1
0
1
0
y
an
gd
alam
h
alin
i,h
asiln
y
ad
ip
ero
lehseb
ag
aib
erik
u
t:
1
0
0 1
1
1
1
0 0
1
1
1 0
10
01
01
1
0
1
0 1
0
10
Algoritma Enkripsi dengan XOR
Enkripsi: C = P K
Dekripsi: P = C K
C
o
n
t
o
h
: p
l
a
i
n
t
e
k
s
k
u
n
c
i
0
1
1
0
0
1
0
1
(
k
a
r
a
k
t
e
r
‘
e
’
)
0
0
1
1
0
1
0
1(
k
a
r
a
k
t
e
r
‘
5
’
)
c
i
p
h
e
r
t
e
k
s
k
u
n
c
i
0
1
0
1
0
0
0
0
(
k
a
r
a
k
t
e
r
‘
P
’
)
0
0
1
1
0
1
0
1(
k
a
r
a
k
t
e
r
‘
5
’
)
p
l
a
i
n
t
e
k
s
0
1
1
0
0
1
0
1
(
k
a
r
a
k
t
e
r
‘
e
’
)
11
Algoritma enkripsi XOR sederhana pada prinsipnya
sama seperti Vigenere cipher dengan penggunaan
kunci yang berulang secara periodik.
Setiap bit plainteks di-XOR-kan dengan setiap bit kunci.
12
Program komersil yang berbasis DOS atau Macintosh
menggunakan algoritma XOR sederhana ini.
Sayangnya, algoritma XOR sederhana tidak aman
karena cipherteksnya mudah dipecahkan.
13
Contoh algoritma Penggunaan
Kriptografi modern
DES = Data Encryption Standard, adalah
standar enkripsi standar. algoritma
dikembangkan di IBM di bawah
kepemimpinan W.L Tuchman (1972).
AES = Advanced Encyption Standard,
menggunakan algoritma kriptografi simetri
berbasis chiper blok
14
Contoh Penggunaan Kriptografi
modern
RSA dibuat oleh 3 orang peneliti dari MIT
pada tahun 1976 yaitu : Ron (R)ivest, Adi
(S)hamir, Leonard (A)dleman.
15
Kriptografi dalam kehidupan seharihari
Smart Card
ATM
Cell-Phone
16
Serangan terhadap Kriptografi
PENDAHULUAN
Keseluruhan point dari kriptografi adalah
menjaga kerahasiaan plainteks atau kunci
(atau keduanya) dari penyadap
(eavesdropper) atau kriptanalis
(cryptanalyst).
Kriptanalis berusaha memecahkan
cipherteks dengan suatu serangan
terhadap sistem kriptografi.
17
Serangan (attack)
Serangan: setiap usaha (attempt) atau percobaan
yang dilakukan oleh kriptanalis untuk menemukan
kunci atau menemukan plainteks dari cipherteksnya.
Asumsi: kriptanalis mengetahui algoritma kriptografi
yang digunakan
Prinsip Kerckhoff: Semua algoritma kriptografi
harus publik; hanya kunci yang rahasia.
Satu-satunya keamanan terletak pada kunci!
18
Jenis-jenis Serangan
Berdasarkan keterlibatan penyerang
dalam komunikasi
1. Serangan pasif (passive attack)
- penyerang tidak terlibat dalam komunikasi
antara pengirim dan penerima
- penyerang hanya melakukan
penyadapan untuk memperoleh data atau
informasi sebanyak-banyaknya
19
…hyTRedcyld[pu6tjkbbjudplkjsdoye6hnw…
Bob
Alice
Eve
Serangan Pasif
20
2. Serangan Active (active attack)
- penyerang mengintervensi komunikasi dan ikut
mempengaruhi sistem untuk keuntungan dirinya
- penyerang mengubah aliran pesan seperti:
menghapus sebagian cipherteks,
mengubah cipherteks,
menyisipkan potongan cipherteks palsu,
me-replay pesan lama,
mengubah informasi yang tersimpan, dsb
21
Man-in-the-middle-attack
- Serangan aktif yang berbahaya
22
23
Jenis-jenis Serangan
Berdasarkan teknik yang digunakan
untuk menemukan kunci:
1. Exhaustive attack /brute force attack
Mengungkap plainteks/kunci dengan mencoba
semua kemungkinan kunci.
Pasti berhasil menemukan kunci jika tersedia
waktu yang cukup
24
Tabel 1 Waktu yang diperlukan untuk exhaustive key search
(Sumber: William Stallings, Data and Computer Communication Fourth Edition)
Ukuran
kunci
16 bit
32 bit
56 bit
128 bit
Jumlah kemungkinan
kunci
216 = 65536
232 = 4.3 109
256 = 7.2 1016
2128 = 4.3 1038
Lama waktu untuk 106
percobaan per detik
32.7 milidetik
35.8 menit
1142 tahun
5.4 1024 tahun
Lama waktu untuk 1012
percobaan per detik
0.0327 mikrodetik
2.15 milidetik
10.01 jam
5.4 1018 tahun
Solusi: Kriptografer harus membuat kunci yang panjang dan tidak mudah ditebak.
25
2. Analytical attack
Menganalisis kelemahan algoritma
kriptografi untuk mengurangi kemungkinan
kunci yang tidak mungkin ada.
Caranya: memecahkan persamaanpersamaan matematika (yang diperoleh
dari definisi suatu algoritma kriptografi)
yang mengandung peubah-peubah yang
merepresentasikan plainteks atau kunci.
26
Metode analytical attack biasanya lebih
cepat menemukan kunci dibandingkan
dengan exhaustive attack.
Solusi: kriptografer harus membuat
algoritma kriptografi yang kompleks
27