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:
00=0
10=1
01=1
11=0
 Operasi XOR = penjumlahan modulo 2:
00=0
01=1
10=1
11=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