Pertemuan 3 dan 4 tentang Kriptografi

Download Report

Transcript Pertemuan 3 dan 4 tentang Kriptografi

Pengantar Kriptografi
1
ENC%????Ü3E«Q)_lp?²D¹J„ö´ÖôGx)€_Ûë¶<
æ¨Äó~„³ý~eÿw—ÔÖɃ80
???????????????
2
Masih ingat dengan kasus2 berikut?
1. Wikileaks: mengungkapkan dokumen-dokumen rahasia
negara dan perusahaan kepada publik melalui situs web.
Julian Assange, salah satu
pendiri situs WikiLeaks.
Kantor dan tempat penyimpanan data WikiLeaks.
3
Dokumen yang dibocorkan:
1. Data Nasabah Bank Julius Baer
2. Surel Sarah Palin
3. Video Helikopter Apache
4. Perang Afganistan
5. Berkas Guantanamo
5. Dokumen Perang Irak
6. Kawat diplomatik Amerika Serikat
(Sumber: Wikpedia)
4
2. Kasus penyadapan percakapan ponsel antara Artalyta
Suryani (Ayin) dan Kemas Yahya Rahman yang melibatkan
Jaksa Urip Tri Gunawan tentang “dugaan” suap Rp 6 Milyar
lebih.
Transkrip percakapan:
A: Halo..
K: Halo.
A: Ya, siap.
K: Sudah dengar pernyataan saya (Soal penghentian penyelidikan
kasus BLBI)? He…he…he
A: Good, very good.
K: Jadi tugas saya sudah selesai.
A: Siap, tinggal…
K: Sudah jelas itu, gamblang. Tidak ada permasalahan lagi
5
A: Bagus itu
K: Tapi saya dicaci maki. Sudah baca Rakyat Merdeka (surat kabar
Rakyat Merdeka yang terbit di Jakarta)?
A: Aaah Rakyat Merdeka, mah nggak usah dibaca
K: Bukan, katanya saya mau dicopot ha..ha…ha. Jadi gitu ya…
A: Sama ini Bang, saya mau informasikan
K: Yang mana?
A: Masalah si Joker.
K: Ooooo nanti, nanti, nanti.
A: Nggak, itu kan saya perlu jelasin, Bang
K: Nanti, nanti, tenang saja.
A: Selasa saya ke situ ya…
K: Nggak usah, gampang itu, nanti, nanti. Saya sudah bicarakan dan
sudah ada pesan dari sana. Kita…
A: Iya sudah
K: Sudah sampai itu
A: Tapi begini Bang…
K: Jadi begini, ini sudah telanjur kita umumkan. Ada alasan lain, nanti
dalam perencanaan
6
Menyingkap Dunia Penyadapan (1)
Pejabat Gerah Gunakan Ponsel
Sjamsir Siregar - inilah.com/Abdul Rauf
INILAH.COM, Jakarta Penyadapan seperti jadi dunia terang
benderang di Pengadilan Tipikor. Apa saja yang dikatakan
Artalyta Suryani, tersangka kasus penyuapan jaksa, diumbar.
Seperti apa sebenarnya penyadapan? Bagaimana aturannya?
Suara Sjamsir Siregar terdengar keras dari balik teleponnya.
"Aku sedang sibuk bekerja. Kalau mau bertemu, silahkan.
Tapi nantilah dicarikan waktu. Kalau bicara di telepon,
jangan! Banyak penyadapan sekarang. Sudah ya, aku mau
sholat Jumat dulu," kata Kepala Badan Intelijen Negara (BIN)
itu.
7
Moral of the story:
Kasus-kasus kebocoran informasi dan penyadapan
tersebut menunjukkan bahwa KROPTIGRAFI itu
sangat penting.
8
Terminologi
 Pesan: data atau informasi yang dapat dibaca dan
dimengerti maknanya.
Nama lain: plainteks (plaintext)
teks-jelas (cleartext)
 Rupa pesan: teks, gambar, musik mp3,
video, tabel, daftar belanja, dll
 Pesan ada yang:
- dikirim (via pos, kurir, saluran telekom., dll),
- disimpan di dalam storage (disk, kaset, CD)
9
Pesan
3. Gambar (image)
1. Teks
“Halo apa kabar”
Tabel
2. Audio
4. Video
10
Terminologi
•
•
•
•
Pengirim (sender): pihak yang mengirim pesan
Penerima (receiver): pihak yang menerima pesan
Pengirim/penerima bisa berupa orang, komputer, mesin, dll
Contoh:
pengirim = Alice, penerima = Bob;
pengirim = komputer client, penerima = komp. server;
pengirim = Alice, penerima = mesin penjawab
• Pengirim ingin pesan dapat dikirim secara aman, yaitu pihak
lain tidak dapat membaca/memanipulasi pesan.
11
Terminologi
• Cipherteks (ciphertext): pesan yang telah disandikan
sehingga tidak bermakna lagi.
Tujuan: agar pesan tidak dapat dibaca oleh pihak yang
tidak berhak.
Nama lain: kriptogram (cryptogram)
• Cipherteks harus dapat dikembalikan menjadi
plainteks semula
12
Terminologi
Contoh:
Plainteks:
culik anak itu jam 11 siang
Cipherteks:
t^$gfUi89rewoFpfdWqL:p[uTcxZ
13
Terminologi
• Enkripsi (encryption): proses menyandikan plainteks
menjadi cipherteks.
Nama lain: enciphering
• Dekripsi (decryption): Proses mengembalikan
cipherteks menjadi plainteks semula.
Nama lain: deciphering
14
Terminologi
K u n ci
K u n ci
C ip h e rte ks
P la in te ks
E n krip si
D e krip si
P la in te ks
15
Notasi Matematis
Misalkan:
C = chiperteks
P = plainteks
Fungsi enkripsi E memetakan P ke C,
E(P) = C
Fungsi dekripsi D memetakan C ke P,
D(C) = P
16
Fungsi enkripsi
memenuhi sifat:
dan
dekripsi
harus
D(E(P)) = P
17
Aplikasi Enkripsi – Dekripsi
1. Pengiriman data melalui saluran komunikasi (data
encryption on motion).
2. Penyimpanan data di dalam disk storage
(data encryption at rest)
18
Data Encryption on Motion
 Sinyal yang ditransmisikan dalam percakapan dengan
handphone.
 Nomor PIN kartu ATM yang ditransmisikan dari
mesin ATM ke komputer bank.
 Nomor PIN kartu kredit pada transaksi e-commerce
di internet.
 Siaran televisi berbayar (Pay TV)
 Pesan melalui BlackBerry Messenger (BBM)
19
Data Encryption at Rest
1. Dokumen teks
P lainteks (p l a i n . t x t ):
Ketika saya berjalan-jalan di pantai,
saya menemukan banyak sekali kepiting
yang merangkak menuju laut. Mereka
adalah anak-anak kepiting yang baru
menetas dari dalam pasir. Naluri
mereka mengatakan bahwa laut adalah
tempat kehidupan mereka.
C ipherteks (c i p h e r . t x t ):
Ztâxzp/épêp/qtüyp{p}<yp{p}/sx/•p}âpx;
épêp/|t}t|äzp}/qp}êpz/étzp{x/zt•xâx
}v
êp}v/|tüp}vzpz/|t}äyä/{päâ=/\tütz
p
psp{pw/p}pz<p}pz/zt•xâx}v/êp}
v/qpüä
|t}tâpé/spüx/sp{p|/•péxü=/]
p{äüx
|ttüzp/|t}vpâpzp}/qpwåp/{päâ
/psp{pw
ât|•pâ/ztwxsä•p}/|tützp=
20
2. Dokumen gambar
Plain image
Cipher image
21
3. Basisdata
P lainteks (s i s w a . d b f ):
N IM
000001
000002
000003
000004
000005
000006
000007
000008
000009
N am a
Elin Jamilah
Fariz RM
Taufik Hidayat
Siti Nurhaliza
Oma Irama
Aziz Burhan
Santi Nursanti
Cut Yanti
Ina Sabarina
T inggi
160
157
176
172
171
181
167
169
171
B erat
50
49
65
67
60
54
59
61
62
22
C ipherteks (s i s w a 2 . d b f ):
N IM
000001
000002
000003
000004
000005
000006
000007
000008
000009
N am a
tüp}vzpz/|t}äyä/{äâ
|t}tâpé/spüx/sp
ât|•pâ/ztwxsä•p}/|
épêp/|t}t|äzp}/qpêpz
étzp{x/zt•xâx}v
êp}
spüx/sp{p|/•péxü=/]
Ztâxzp/épêp/qtüypp}<
qpwåp/{päâ/psp{pw
}t|äzp}/qp}êpz/ép{
T inggi
|äzp}
péxü=
}/|tü
qp}êpz
päâ/psp
xâx}v
äzp}
Ztwxs
qp}êp
B erat
épêp
ztwxsä•
spüx/
wxsä
étzp{
ttüzp/|
}äyä/{
xâx}v
äzp}/qp
K eterangan: hanya field N am a, B erat, dan T inggi yang dienkripsi.
23
4. Video
- Plain video
- Encrypted video
24
Terminologi
• Kriptografi (cryptography)
• Kata cryptography berasal dari bahasa Yunani: krupto
(hidden atau secret) dan grafh (writing)
Artinya “secret writing”
• Definisi lama:
Kriptografi adalah ilmu dan seni untuk menjaga
kerahasian pesan dengan cara menyandikannya ke dalam
bentuk yang tidak dapat dimengerti lagi maknanya.
25
Terminologi
•
Kriptografi berkembang sedemikan rupa
sehingga tidak lagi sebatas mengenkripsi pesan,
tetapi juga memberikan aspek keamanan yang
lain (akan dibahas nanti).
•
Definisi baru: Kriptografi adalah ilmu dan seni
untuk menjaga keamanan pesan (message)
[Schneier, 1996].
“art and science to keep message secure”
26
Terminologi
• Algoritma kriptografi (cipher)
- aturan untuk enchipering dan
dechipering, atau
- fungsi matematika yang digunakan
untuk enkripsi dan dekripsi pesan.
27
Terminologi
• Cipher tidak sama dengan kode (code)
• Kode mempunyai sejarah tersendiri di dalam kriptografi
• Contoh kode:
Pesan: kapal api datang
Kode: hutan bakau hancur
Pesan: kapal api datang
Kode: xyztvq bkugbf hjqpot
28
Terminologi
• Encoding: Transformasi dari plainteks menjadi kode
• Decoding: transformasi kebalikan dari kode menajdi
plainteks.
• Buku kode (codebook): dokumen yang digunakan
untuk mengimplementasikan suatu kode
• Buku kode terdiri dari tabel lookup (lookup table)
untuk encoding dan decoding
29
Terminologi
30
Terminologi
• Codebreaker: Orang yang memecahkan kode
(untuk menemukan plainteks)
31
Terminologi
• Kunci: parameter yang digunakan untuk transformasi
enciphering dan dechipering
• Jika kekuatan kriptografi ditentukan dengan menjaga
kerahasiaan algoritmanya, maka algoritma kriptografinya
dinamakan algoritma restricted
• Algoritma resricted tidak cocok lagi saat ini
• Kriptografi modern mengatasi masalah ini dengan
menggunakan kunci.
• Kunci bersifat rahasia (secret), sedangkan algoritma kriptografi
tidak rahasia (public)
32
Terminologi
• Enkripsi dan dekripsi dengan kunci:
Enkripsi: EK(P) = C
Dekripsi: DK(C) = P
Harus dipenuhi:
DK(EK(P)) = P
K u n ci K
K u n ci K
S type xouvatx kutreq
C
K irim senjata perang
P
p lain tek s
E n k rip si
E K (P ) = C
cip h ertek s
D ek rip si
D K (C ) = P
K irim senjata perang
P
p lain tek s
33
Terminologi
• Sistem kriptografi (cryptosystem)
dari:
- algoritma kriptografi,
- plainteks,
- cipherteks,
- dan kunci.
Terdiri
34
Terminologi
• Penyadap (eavesdropper): orang yang mencoba menangkap
pesan selama ditransmisikan.
Nama lain: enemy, adversary, intruder, interceptor, bad guy
• Ron Rivest (pakar kriptografi): “cryptography is about
communication in the presence of adversaries”
35
Terminologi
• Kriptanalisis (cryptanalysis): ilmu dan seni untuk
memecahkan chiperteks menjadi plainteks tanpa mengetahui
kunci yang digunakan.
• Pelakunya disebut kriptanalis
• (Perancang algoritma kriptografi: kriptografer)
• Kriptanalisis merupakan “lawan” kriptografi
36
Terminologi
• Kriptologi (cryptology): studi mengenai kriptografi dan
kriptanalisis.
K rip to lo g i
K rip to g ra fi
K rip ta n a lisis
Ilm u dan seni untuk m enjaga
Ilm u dan seni untuk
keam anan pesan
m enm ecahkan cipherteks
37
Terminologi
Persamaan kriptografer dan kriptanalis:
• Keduanya sama-sama menerjemahkan cipherteks menjadi
plainteks
Perbedaan kriptografer dan kriptanalis:
• Kriptografer bekerja atas legitimasi pengirim atau penerima
pesan
• Kriptanalis bekerja tanpa legitimasi pengirim atau penerima
pesan
38
Sejarah Kriptografi
• Kriptografi mempunyai sejarah yang panjang.
• Tercatat Bangsa Mesir 4000 tahun yang lalu menggunakan
hieroglyph yang tidak standard untuk menulis pesan
39
Sejarah Kriptografi
• Di Yunani, kriptografi sudah digunakan 400 BC
• Alat yang digunakan: scytale
40
Sejarah Kriptografi
• Sejarah lengkap kriptografi dapat ditemukan di
dalam buku David Kahn, “The Codebreakers”
• Empat kelompok orang yang menggunakan dan
berkontribusi pada kriptografi:
1. Militer (termasuk intelijen dan mata-mata)
2. Korp diplomatik
3. Diarist
4. Lovers
41
Sejarah Kriptografi
• Kriptografi juga digunakan untuk alasan keagamaan
• untuk menjaga tulisan relijius dari gangguan otoritas politik
atau budaya yang dominan saat itu.
• Contoh: “666” atau “Angka si Buruk Rupa (Number of the
Beast) di dalam Kitab Perjanjian Baru.
42
Sejarah Kriptografi
• Di India, kriptografi digunakan oleh pencinta (lovers)
untuk berkomunikasi tanpa diketahui orang.
• Bukti ini ditemukan di dalam buku Kama Sutra yang
merekomendasikan wanita seharusnya mempelajari
seni memahami tulisan dengan cipher
43
Sejarah Kriptografi
• Tidak ditemukan catatan kriptografi di Cina dan
Jepang hingga abad 15.

Pada Abad ke-17, sejarah
kriptografi pernah mencatat
korban di Inggris.

Queen Mary of Scotland, dipancung
setelah pesan rahasianya dari balik
penjara (pesan terenkripsi yang
isinya rencana membunuh Ratu
Elizabeth I) pada Abad Pertengahan
berhasil dipecahkan oleh Thomas
Phelippes, seorang pemecah kode.
Queen Mary
44
Sejarah Kriptografi
• Perang Dunia ke II, Pemerintah Nazi Jerman
membuat mesin enkripsi yang dinamakan Enigma.
• Enigma cipher berhasil dipecahkan oleh pihak
Sekutu.
• Keberhasilan memecahkan Enigma sering dikatakan
sebagai faktor yang memperpendek perang dunia ke2
45
Enigma
46
Kriptanalisis
• Sejarah kriptografi paralel dengan sejarah kriptanalisis
(cryptanalysis), yaitu bidang ilmu dan seni untuk
memecahkan cipherteks
• Teknik kriptanalisis sudah ada sejak abad ke-9.

Dikemukakan pertama kali oleh seorang ilmuwan
Arab pada Abad IX bernama Abu Yusuf Yaqub
Ibnu Ishaq Ibnu As-Sabbah Ibnu 'Omran Ibnu
Ismail Al-Kindi, atau yang lebih dikenal sebagai
Al-Kindi.
47
Kriptanalisis
• Al-Kindi menulis buku tentang seni memecahkan kode, buku
yang berjudul ‘Risalah fi Istikhraj al-Mu'amma (Manuscript for
the Deciphering Cryptographic Messages)
• Al-Kindi menemukan frekuensi perulangan huruf di dalam AlQuran. Teknik yang digunakan Al-Kindi kelak dinamakan
analisis frekuensi.
• Yaitu teknik untuk memecahkan cipherteks berdasarkan
frekuensi kemunculan karakter di dalam pesan
48
Kriptanalisis
Halaman pertama buku Al-Kindi,
Manuscript for the Deciphering
Cryptographic
49
Layanan yang Disediakan Kriptografi
1.
Kerahasiaan
(confidentiality)
Layanan yang
digunakan untuk
menjaga isi pesan dari
siapapun yang tidak
berhak untuk
membacanya.
Dia bisa ikut menerima pesan tapi tidak mengerti
Sumber: Tutun Juhana (EL)
50
Layanan yang Disediakan Kriptografi
2.
Integritas data (data
integrity)
Layanan yang menjamin
bahwa pesan masih asli/utuh
atau belum pernah
dimanipulasi selama
pengiriman.
“Apakah pesan yang diterima
masih asli atau tidak
mengalami perubahan
(modifikasi)?”.
51
Layanan yang Disediakan Kriptografi
3.
Otentikasi
(authentication)
Layanan yang untuk
mengidentifikasi
kebenaran pihak-pihak
yang berkomunikasi (user
authentication) dan untuk
mengidentifikasi
kebenaran sumber pesan
(data origin
authentication).
“Apakah pesan yang
diterima benar-benar
berasal dari pengirim yang
benar?”
He can claim that he is A
52
Layanan yang Disediakan Kriptografi
4.
Nirpenyangkalan (nonrepudiation)
Layanan untuk mencegah
entitas yang berkomunikasi
melakukan penyangkalan,
yaitu pengirim pesan
menyangkal melakukan
pengiriman atau penerima
pesan menyangkal telah
menerima pesan.
53
Saat ini….
Kehidupan kita saat ini dikelilingi oleh kriptografi,
mulai:
• ATM tempat mengambil uang,
• Telepon genggam (HP),
• Komputer di lab/kantor,
• Internet,
• Gedung-gedung bisnis,
• sampai ke pangkalan militer
54
Kriptografi kunci-simetri
• Symmetric-key cryptography
• Kunci enkripsi = kunci dekripsi
• Istilah lainnya: kunci simetri, kunci privat, kunci rahasia
(secret key)
• Algoritma kriptografinya disebut algoritma simetri
• Istilah lainnya: algoritma konvensional
K u n ci p riv at, K
P lain tek s, P
E n k rip si
E K (P ) = C
K u n ci p riv at, K
C ip h ertek s, C
D ek rip si
D K (C ) = P
P lain tek s, P
55
Kriptografi kunci-simetri
• Contoh algoritma simetri:
- DES (Data Encyption Standard)
- Rijndael
- Blowfish
- IDEA
- GOST
- Serpent
- RC2, RC4, Rc5, dll
56
Skema algoritma simetri
57
Kriptografi kunci-nirsimetri
•
•
•
•
Asymmetric-key cryptography
Kunci enkripsi  kunci dekripsi
Nama lain: kriptografi kunci-publik
karena kunci enkripsi bersifat publik (public key)
sedangkan kunci dekripsi bersifat rahasia (secret key atau
private key).
K u n ci p u b lik , K 1
P lain tek s, P
E n k rip si
E K 1 (P ) = C
K u n ci p riv at, K 2
C ip h ertek s, C
D ek rip si
D K 2 (C ) = P
P lain tek s, P
58
Kriptografi kunci-nirsimetri
• Kriptografi kunci-publik dapat dapat dianalogikan seperti
kotak surat yang terkunci dan memiliki lubang untuk
memasukkan surat.
• Kotak surat digembok dengan kunci. Kunci hanya dimiliki oleh
pemilik kotak surat.
• Setiap orang dapat memasukkan surat ke dalam kotak surat
tersebut, tetapi hanya pemilik kotak yang dapat membuka
kotak dan membaca surat di dalamnya karena ia yang
memiliki kunci.
59
60
Kriptografi kunci-nirsimetri
• Keuntungan sistem ini:
1. Tidak ada kebutuhan untuk mendistribusikan kunci privat
sebagaimana pada sistem kriptografi simetri.
2. Kunci publik dapat dikirim ke penerima melalui saluran
yang sama dengan saluran yang digunakan untuk mengirim
pesan. Saluran untuk mengirim pesan umumnya tidak aman
3. Kedua, jumlah kunci dapat ditekan.
61
Kriptografi kunci-nirsimetri
• Contoh algoritma nirsimetri:
- RSA
- ElGamal
- Rabin
- Diffie-Hellman Key Exchange
- DSA
- dll
62
Prinsip yang mendasari kriptografi yakni:
 Confidentiality
 Integrity
 Availability
 Authentication
 Non-Repudiation
Algoritma Kriptografi :
 Berdasarkan jenis kunci yang digunakan
o Algoritma Simetris
o Algoritma Asimetris
 Berdasarkan besar data yang diolah :
o Algoritma Block Cipher
o Algoritma Stream Cipher
:
Berdasarkan jenis kunci yang digunakan :
 Algoritma Simetris
Algoritma simetris (symmetric algorithm) adalah suatu
algoritma dimana kunci enkripsi yang digunakan sama
dengan kunci dekripsi sehingga algoritma ini disebut
juga sebagai single-key algorithm.
Berdasarkan jenis kunci yang digunakan :
 Kelebihan algoritma simetris :
 Kecepatan operasi lebih tinggi bila dibandingkan
dengan algoritma asimetrik.
 Karena kecepatannya yang cukup tinggi, maka dapat
digunakan pada sistem real-time
 Kelemahan algoritma simetris :
 Untuk tiap pengiriman pesan dengan pengguna yang
berbeda dibutuhkan kunci yang berbeda juga,
sehingga akan terjadi kesulitan dalam manajemen
kunci tersebut.
 Permasalahan dalam pengiriman kunci itu sendiri yang
disebut “key distribution problem”
Berdasarkan jenis kunci yang digunakan :
 Algoritma Asimetris
Algoritma asimetris (asymmetric algorithm) adalah suatu
algoritma dimana kunci enkripsi yang digunakan tidak sama
dengan kunci dekripsi. Pada algoritma ini menggunakan
dua kunci yakni kunci publik (public key) dan kunci privat
(private key). Kunci publik disebarkan secara umum
sedangkan kunci privat disimpan secara rahasia oleh si
pengguna. Walau kunci publik telah diketahui namun akan
sangat sukar mengetahui kunci privat yang digunakan.
Berdasarkan jenis kunci yang digunakan :
 Kelebihan algoritma asimetris :
 Masalah keamanan pada distribusi kunci dapat lebih baik
 Masalah manajemen kunci yang lebih baik karena
jumlah kunci yang lebih sedikit
 Kelemahan algoritma asimetris :
 Kecepatan yang lebih rendah bila dibandingkan dengan
algoritma simetris
 Untuk tingkat keamanan sama, kunci yang
digunakan lebih panjang dibandingkan dengan
algoritma simetris.
Berdasarkan besar data yang diolah :
 Block Cipher
algoritma kriptografi ini bekerja pada suatu data yang
berbentuk blok/kelompok data dengan panjang data tertentu
(dalam beberapa byte), jadi dalam sekali proses enkripsi atau
dekripsi data yang masuk mempunyai ukuran yang sama.
 Stream Cipher
algoritma yang dalam operasinya bekerja dalam suatu pesan
berupa bit tunggal atau terkadang dalam suatu byte, jadi
format data berupa aliran dari bit untuk kemudian mengalami
proses enkripsi dan dekripsi.
Cryptography
Serangan Terhadap Kriptografi
 Penyadap berusaha mendapatkan data yang digunakan untuk kegiatan kriptanalisis
 Kriptanalis berusaha mengungkapkan plainteks atau kunci dari data yang disadap
 Kriptanalis dapat juga menemukan kelemahan dari sistem kriptografi yang pada
akhirnya mengarah untuk menemukan kunci dan mengungkapkan plainteks
 Penyadapan dapat dilakukan melalui saluran kabel komunikasi dan saluran wireless
Cryptography
Jenis-jenis serangan:
1. Exhaustive attach atau brute force attack
• Percobaan yang dibuat untuk mengungkapkan plainteks atau kunci dengan
mencoba semua kemungkinan kunci (trial and error)
• Diasumsikan kriptanalis:
• Memiliki sebagian plainteks dan cipherteks yang bersesuaian
• Caranya:
• Plainteks yang diketahui dienkripsi dengan setiap kemungkinan kunci, lalu
hasilnya dibandingkan dengan cipherteks yang bersesuaian
• Jika hanya cipherteks yang tersedia, cipherteks tersebut didekripsi dengan
setiap kemungkinan kunci dan plainteks hasilnya diperiksa apakah
mengandung makna atau tidak
• Serangan ini membutuhkan waktu yang sangat lama
• Untuk menghindari serangan ini, gunakan kunci yang panjang dan tidak mudah
ditebak
Cryptography
Waktu yang diperlukan untuk exhaustive key search
(Sumber: William Stallings, Data and Computer Communication Fourth Edition)
Ukuran
Kunci
Jumlah Kemungkinan Kunci
Lama waktu untuk
106 percobaan per
detik
Lama waktu untuk
1012 percobaan per
detik
16 bit
216 = 65536
32.7 milidetik
0.0327 mikrodetik
32 bit
212 = 4.3 X 109
35.8 menit
2.15 milidetik
56 bit
256 = 7.2 X 1016
1142 tahun
10.01 jam
128 bit
2128 = 4.3 X 101
5.4  1024 tahun
5.4  1018 tahun
Cryptography
Jenis-jenis serangan:
2. Analytical attach
• Kriptanalis tidak mencoba semua kemungkinan kunci, tetapi menganalisa
kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang
tidak ada.
• Analisa yang dilakukan dengan memecahkan persamaan-persamaan matematika
yang diperoleh dari definisi suatu algoritma kriptografi
• Diasumsikan kriptanalis mengetahui algoritma kriptografi
• Metode analytical attack biasanya lebih cepat menemukan kunci dibandingkan
dengan exhaustive attack.
• Untuk menghindari serangan ini, kriptografer harus membuat algoritma yang
kompleks.
Cryptography
Memastikan keamanan dari algoritma kriptografi




Algoritma harus dievaluasi oleh pakar
Algoritma yang tertutup (tidak dibuka kepada publik) dianggap tidak aman
Membuat algoritma yang aman tidak mudah
Code maker VS code breaker akan terus berlangsung
Algoritma Kriptografi Klasik
Pendahuluan
• Algoritma kriptografi klasik berbasis karakter
• Menggunakan pena dan kertas saja, belum
ada komputer
• Termasuk ke dalam kriptografi kunci-simetri
• Algoritma kriptografi klasik:
– Cipher Substitusi (Substitution Ciphers)
– Cipher Transposisi (Transposition Ciphers)
1. Cipher Substitusi
• Monoalfabet : setiap karakter chipertext menggantikan satu
macam karakter plaintext
• Polyalfabet : setiap karakter chipertext menggantikan lebih
dari satu macam karakter plaintext
• Monograf /unilateral: satu enkripsi dilakukan terhadap satu
karakter plaintext
• Polygraf /multilateral: satu enkripsi dilakukan terhadap lebih
dari satu karakter plaintext
1. Cipher Substitusi - Caesar Cipher
• Tiap huruf alfabet digeser 3 huruf ke kanan
pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
• Contoh:
Plainteks:
Cipherteks:
AWASI ASTERIX DAN TEMANNYA OBELIX
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
1. Cipher Substitusi - Caesar Cipher
• Dalam praktek, cipherteks dikelompokkan ke dalam kelompok
n-huruf, misalnya kelompok 4-huruf:
DZDV LDVW HULA GDQW HPDQ QBAR EHOL A
• Atau membuang semua spasi:
DZDVLDVWHULAGDQWHPDQQBAREHOLA
• Tujuannya agar kriptanalisis menjadi lebih sulit
1. Cipher Substitusi - Vigènere Cipher
• Termasuk ke dalam cipher abjad-majemuk (polyalpabetic
substitution cipher ).
• Algoritma tersebut baru dikenal luas 200 tahun kemudian
yang oleh penemunya cipher tersebut kemudian dinamakan
Vigènere Cipher.
• Vigènere Cipher menggunakan Bujursangkar Vigènere untuk
melakukan enkripsi.
• Setiap baris di dalam bujursangkar menyatakan huruf-huruf
cipherteks yang diperoleh dengan Caesar Cipher.
1. Cipher Substitusi - Vigènere Cipher
P lainteks
Ku
nci
a
b
c
d
e
f
g
h
i
j
K
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
G am bar 4.2 B ujursangkar Vigènere
1. Cipher Substitusi - Vigènere Cipher
• Contoh penerapan Vigènere Cipher :
Plainteks : THIS PLAINTEXT
Kunci
: sony sonysonys
Cipherteks : LVVQ HZNGFHRVL
• Jika panjang kunci lebih pendek daripada panjang plainteks, maka
kunci diulang secara periodik. Dalam hal ini Kunci “sony” diulang
sebanyak panjang plaintext-nya
• Pada dasarnya, setiap enkripsi huruf adalah Caesar cipher dengan
kunci yang berbeda-beda.
c(‘T’) = (‘T’ + ‘s’) mod 26 = L
T = 20 dan s= 19  (20+19)%26=13  L
c(‘H’) = (‘H’ + ‘o’) mod 26 = V, dst
2. Cipher Transposisi
• Cipherteks diperoleh dengan mengubah posisi huruf di dalam
plainteks.
• Dengan kata lain, algoritma ini melakukan transpose terhadap
rangkaian huruf di dalam plainteks.
• Nama lain untuk metode ini adalah permutasi, karena
transpose setiap karakter di dalam teks sama dengan
mempermutasikan karakter-karakter tersebut.
2. Cipher Transposisi (Contoh)
Contoh: Misalkan plainteks adalah
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
Enkripsi:
POLITEK
NIKELEK
TRONIKA
NEGERIS
URABAYA
Cipherteks: (baca secara vertikal)
PNTNUOIRERLKOGAIENEBTLIRAEEKIYKKASA
PNTN UOIR ERLK OGAI ENEB TLIR AEEK IYKK ASA
Algoritma Kriptografi Modern
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
Pendahuluan
• 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.
Algoritma Enkripsi dengan 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
Algoritma Enkripsi dengan rangkaian bit
Bila plainteks dibagi menjadi blok 3-bit:
100
111 010
110
maka setiap blok menyatakan 0 sampai 7:
4
7
2
6
Jenis Algoritma Kriptografi
• Algoritma Simetri
a. Blok Chiper : DES, IDEA, AES
b. Stream Chiper : OTP, A5 dan RC4
• Algoritma Asimetri : RSA, DH, ECC, DSA
• Fungsi Hash : MD5, SHA1
• Dalam presentasi kami menggunakan
Algoritma AES, RSA dan MD5
AES (Advanced Encryption Standard)
ALGORITMA SIMETRI : BLOK CHIPER
AES (Advanced Encryption Standard)
• DES dianggap sudah tidak aman.
• Perlu diusulkan standard algoritma baru sebagai pengganti
DES.
• National Institute of Standards and Technology (NIST)
mengusulkan kepada Pemerintah Federal AS untuk sebuah
standard kriptografi kriptografi yang baru.
• NIST mengadakan lomba membuat standard algoritma
kriptografi yang baru. Standard tersebut kelak diberi nama
Advanced Encryption Standard (AES).
AES (Advanced Encryption Standard)
• Pada bulan Oktober 2000, NIST
mengumumkan untuk memilih Rijndael
(dibaca: Rhine-doll)
• Pada bulan November 2001, Rijndael
ditetapkan sebagai AES
• Diharapkan Rijndael menjadi standard
kriptografi yang dominan paling sedikit selama
10 tahun.
AES (Advanced Encryption Standard)
• Tidak seperti DES yang berorientasi bit, Rijndael beroperasi dalam
orientasi byte.
• Setiap putaran mengunakan kunci internal yang berbeda (disebut round
key).
• Enciphering melibatkan operasi substitusi dan permutasi.
• Karena AES menetapkan panjang kunci adalah 128, 192, dan 256, maka
dikenal AES-128, AES-192, dan AES-256
A E S-1 2 8
A E S-1 9 2
A E S-2 5 6
C atatan: 1 w ord = 32 bit
P anjang K unci
(N k w ords)
4
6
8
U kuran B lok
(N b w ords)
4
4
4
Jum lah P utaran
(N r)
10
12
14
AES (Advanced Encryption Standard)
• Garis besar Algoritma Rijndael yang beroperasi pada blok 128-bit
dengan kunci 128-bit adalah sebagai berikut (di luar proses
pembangkitan round key):
– AddRoundKey: melakukan XOR antara state awal (plainteks) dengan
cipher key. Tahap ini disebut juga initial round.
– Putaran sebanyak Nr – 1 kali. Proses yang dilakukan pada setiap putaran
adalah:
•
•
•
•
SubBytes: substitusi byte dengan menggunakan tabel substitusi (S-box).
ShiftRows: pergeseran baris-baris array state secara wrapping.
MixColumns: mengacak data di masing-masing kolom array state.
AddRoundKey: melakukan XOR antara state sekarang round key.
– Final round: proses untuk putaran terakhir:
• SubBytes
• ShiftRows
• AddRoundKey
AES (Advanced Encryption Standard)
AES (Advanced Encryption Standard)
• Selama kalkulasi plainteks menjadi cipherteks, status sekarang dari
data disimpan di dalam array of bytes dua dimensi, state, yang
berukuran NROWS  NCOLS.
• Untuk blok data 128-bit, ukuran state adalah 4  4.
• Elemen array state diacu sebagai S[r,c], 0  r < 4 dan 0  c < Nb
(Nb adalah panjang blok dibagi 32.
• Pada AES-128, Nb = 128/32 = 4)
input bytes
state array
output bytes
in0
in4
in8
in12
S0,0
S0,1
S0,2
S0,3
out0
out4
out8
out12
in1
in5
in9
in13
S1,0
S1,1
S1,2
S1,3
out1
out5
out9
out13
in2
in6
in10
in14
S2,0
S2,1
S2,2
S2,3
out2
out6
out10
out14
in3
in7
in11
in15
S3,0
S3,1
S3,2
S3,3
out3
out7
out11
out15
AES (Advanced Encryption Standard)
• Contoh: (elemen state dan kunci dalam notasi HEX)
RSA
ALGORITMA ASIMETRI
RSA
• Ditemukan oleh tiga orang yaitu Ron Rivest, Adi Shamir, dan Leonard
Adleman yang kemudian disingkat menjadi RSA.
• Termasuk algritma asimetri karena mempunyai dua kunci, yaitu kunci
publik dan kunci privat.
• Algoritma kunci-publik yang paling terkenal dan paling banyak aplikasinya.
• Ditemukan oleh tiga peneliti dari MIT (Massachussets Institute of
Technology), yaitu Ron Rivest, Adi Shamir, dan Len Adleman, pada tahun
1976.
• Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan
yang besar menjadi faktor-faktor prima.
RSA
Pembangkitan pasangan kunci
1.
2.
3.
4.
Pilih dua bilangan prima, a dan b (rahasia)
Hitung n = a b. Besaran n tidak perlu dirahasiakan.
Hitung f(n) = (a – 1)(b – 1).
Pilih sebuah bilangan bulat untuk kunci publik, sebut namanya e,
yang relatif prima terhadap f(n) .
5. Hitung kunci dekripsi, d, melalui ed  1 (mod m) atau d  e-1 mod
(f(n) )
Hasil dari algoritma di atas:
-
Kunci publik adalah pasangan (e, n)
Kunci privat adalah pasangan (d, n)
Catatan: n tidak bersifat rahasia, namun ia diperlukan pada
perhitungan enkripsi/dekripsi
RSA
Kunci Publik
• Misalkan a = 47 dan b = 71 (keduanya prima), maka dapat dihitung:
n = a  b = 3337
f(n) = (a – 1)(b – 1) = 46 x 70 = 3220.
• Pilih kunci publik e = 79 (yang relatif prima dengan 3220 karena pembagi
bersama terbesarnya adalah 1).
• Hapus a dan b dan kunci publiknya adalah n=3337 dan e=79
Kunci Privat
• Selanjutnya akan dihitung kunci privat d dengan kekongruenan:
e  d  1 (mod m) = =>
d 
1  ( k  3220 )
79
Dengan mencoba nilai-nilai k = 1, 2, 3, …, diperoleh nilai d yang bulat adalah
1019. Ini adalah kunci privat (untuk dekripsi).
RSA
• Misalkan plainteks M = HARI INI
atau dalam ASCII: 7265827332737873
Pecah M menjadi blok yang lebih kecil (misal 3 digit):
m1 = 726
m4 = 273
m2 = 582
m5 = 787
m3 = 733
m6 = 003
(Perhatikan, mi masih terletak di dalam antara 0 sampai n –
1)
RSA
• Enkripsi setiap blok:
c1 = 72679 mod 3337 = 215
c2 = 58279 mod 3337 = 776, dst
Chiperteks C = 215 776 1743 933 1731 158.
• Dekripsi (menggunakan kunci privat d = 1019)
m1 = 2151019 mod 3337 = 726
m2 = 7761019 mod 3337 = 582 dst untuk sisi blok lainnya
Plainteks M = 7265827332737873 yang dalam ASCII
karakternya adalah HARI INI.
RSA
• Kekuatan dan Keamanan RSA
– Kekuatan algoritma RSA terletak pada tingkat kesulitan dalam
memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam
hal ini n = a  b.
– Sekali n berhasil difaktorkan menjadi a dan b, maka f(n) = (a – 1)(b – 1)
dapat dihitung. Selanjutnya, karena kunci enkripsi e diumumkan (tidak
rahasia), maka kunci dekripsi d dapat dihitung dari persamaan ed  1 (mod
n).
– Penemu algoritma RSA menyarankan nilai a dan b panjangnya lebih dari
100 digit. Dengan demikian hasil kali n = a b akan berukuran lebih dari
200 digit.
– Menurut Rivest dan kawan-kawan, usaha untuk mencari faktor bilangan
200 digit membutuhkan waktu komputasi selama 4 milyar tahun! (dengan
asumsi bahwa algoritma pemfaktoran yang digunakan adalah algoritma
yang tercepat saat ini dan komputer yang dipakai mempunyai kecepatan 1
milidetik).
Algoritma MD5
FUNGSI HASH
MD5
• MD5 adalah fungsi hash satu-arah yang dibuat oleh Ron
Rivest.
• MD5 merupakan perbaikan dari MD4 setelah MD4 berhasil
diserang oleh kriptanalis.
• Algoritma MD5 menerima masukan berupa pesan dengan
ukuran sembarang dan menghasilkan message digest yang
panjangnya 128 bit.
• Dengan panjang message digest 128 bit, maka secara brute
force dibutuhkan percobaan sebanyak 2128 kali untuk
menemukan dua buah pesan atau lebih yang mempunyai
message digest yang sama.
MD5 (Algoritma)
• Penambahan Bit-bit Pengganjal
– Pesan ditambah dengan sejumlah bit pengganjal
sedemikian sehingga panjang pesan (dalam
satuan bit) kongruen dengan 448 modulo 512.
– Jika panjang pesan 448 bit, maka pesan tersebut
ditambah dengan 512 bit menjadi 960 bit. Jadi,
panjang bit-bit pengganjal adalah antara 1 sampai
512.
– Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti
dengan sisanya bit 0
MD5 (Algoritma)
• Penambahan Nilai Panjang Pesan
– Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi
dengan 64 bit yang menyatakan panjang pesan semula.
– Jika panjang pesan > 264 maka yang diambil adalah panjangnya dalam
modulo 264. Dengan kata lain, jika panjang pesan semula adalah K bit,
maka 64 bit yang ditambahkan menyatakan K modulo 264.
– Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi
kelipatan 512 bit
MD5 (Algoritma)
• Inisialisai Penyangga MD
– MD5 membutuhkan 4 buah penyangga (buffer) yang masing-masing
panjangnya 32 bit. Total panjang penyangga adalah 4  32 = 128 bit.
Keempat penyangga ini menampung hasil antara dan hasil akhir.
– Keempat penyangga ini diberi nama A, B, C, dan D. Setiap penyangga
diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut:
A = 01234567
B = 89ABCDEF
C = FEDCBA98
D = 76543210
MD5 (Algoritma)
• Pengolahan Pesan dalam Blok Berukuran 512
bit
– Pesan dibagi menjadi L buah blok yang masingmasing panjangnya 512 bit (Y0 sampai YL – 1).
– Setiap blok 512-bit diproses bersama dengan
penyangga MD menjadi keluaran 128-bit, dan ini
disebut proses HMD5
MD5 (Algoritma)
Yq
MDq
512
ABCD  f F ( ABCD, Yq , T [1..16])


Yq :blok 512-bit ke-q dari
pesan + bit-bit pengganjal
+ 64 bit nilai panjang pesan
semula
Fungsi-fungsi fF, fG, fH, dan
fI masing-masing berisi 16
kali operasi dasar terhadap
masukan, setiap operasi
dasar menggunakan elemen
Tabel T
A
B
C
D
ABCD  f G ( ABCD, Yq , T [17..32])
A
B
D
C
ABCD  f H ( ABCD, Yq , T [33..48])
A
B
C
D
ABCD  f I ( ABCD, Yq , T [49..64])
+
+
+
128
MDq + 1
+
MD5 (Algoritma)
T ab el 1. F ungsi-fungsi dasar M D 5
N am a
fF
N otasi
F (b , c, d)
g (b , c, d )
(b  c)  (~ b  d )
fG
G (b, c, d)
(b  d)  (c  ~ d )
fH
H (b, c, d)
b  c d
fI
I(b , c, d)
c  (b  ~ d)
C atatan : operator logika A N D , O R , N O T , X O R m asing -m asing dilam bangkan deng an  ,
, ~, 
MD5 (Algoritma)
T a b el 2 . N ilai T [i]
T[1] = D76AA478
T[2] = E8C7B756
T[3] = 242070DB
T[4] = C1BDCEEE
T[5] = F57C0FAF
T[6] = 4787C62A
T[7] = A8304613
T[8] = FD469501
T[9] = 698098D8
T[10] = 8B44F7AF
T[11] = FFFF5BB1
T[12] = 895CD7BE
T[13] = 6B901122
T[14] = FD987193
T[15] = A679438E
T[16] = 49B40821
T[17]
T[18]
T[19]
T[20]
T[21]
T[22]
T[23]
T[24]
T[25]
T[26]
T[27]
T[28]
T[29]
T[30]
T[31]
T[32]
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
F61E2562
C040B340
265E5A51
E9B6C7AA
D62F105D
02441453
D8A1E681
E7D3FBCB
21E1CDE6
C33707D6
F4D50D87
455A14ED
A9E3E905
FCEFA3F8
676F02D9
8D2A4C8A
T[33]
T[34]
T[35]
T[36]
T[37]
T[38]
T[39]
T[40]
T[41]
T[42]
T[43]
T[44]
T[45]
T[46]
T[47]
T[48]
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
FFFA3942
8771F681
69D96122
FDE5380C
A4BEEA44
4BDECFA9
F6BB4B60
BEBFBC70
289B7EC6
EAA127FA
D4EF3085
04881D05
D9D4D039
E6DB99E5
1FA27CF8
C4AC5665
T[49]
T[50]
T[51]
T[52]
T[53]
T[54]
T[55]
T[56]
T[57]
T[58]
T[59]
T[60]
T[61]
T[62]
T[63]
T[64]
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
F4292244
432AFF97
AB9423A7
FC93A039
655B59C3
8F0CCC92
FFEFF47D
85845DD1
6FA87E4F
FE2CE6E0
A3014314
4E0811A1
F7537E82
BD3AF235
2AD7D2BB
EB86D391
MD5 (Algoritma)
P u taran 1 :
• Putaran 1 : 16 kali operasi
dasar dengan g(b,c,d) =
F(b,c,d)
1 6 k ali o p erasi d asar d en g an g (b , c, d ) = F (b ,
d ap at d ilih at p ad a T ab el 3 .
T a b el 3 . R in cian o p erasi p ad a fu n g si F (b , c, d )
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[abcd
[ABCD
[DABC
[CDAB
[BCDA
[ABCD
[DABC
[CDAB
[BCDA
[ABCD
[DABC
[CDAB
[BCDA
[ABCD
[DABC
[CDAB
[BCDA
k
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
s
7
12
17
22
7
12
17
22
7
12
17
22
7
12
17
22
i]
1]
2]
3]
4]
5]
6]
7]
8]
9]
10]
11]
12]
13]
14]
15]
16]
MD5 (Algoritma)
P u taran 2 :
1 6 k ali o p erasi d asar d en g an g (b , c, d ) = G (b , c, d )
d ap at d ilih at p ad a T ab el 4 .
• Putaran 2 : 16 kali operasiT a b el 4 . R in cian o p erasi p ad a fu n g si G (b , c, d )
No.
[abcd
k
s
i ]
dasar dengan g(b,c,d) =
1
[ABCD
1
5
17]
G(b,c,d)
2
[DABC
6
9
18]
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[CDAB
[BCDA
[ABCD
[DABC
[CDAB
[BCDA
[ABCD
[DABC
[CDAB
[BCDA
[ABCD
[DABC
[CDAB
[BCDA
11
0
5
10
15
4
9
14
3
8
13
2
7
12
14
20
5
9
14
20
5
9
14
20
5
9
14
20
19]
20]
21]
22]
23]
24]
25]
26]
27]
28]
29]
30]
31]
32]
MD5 (Algoritma)
P u taran 3 :
• Putaran 3 : 16 kali operasi
dasar dengan g(b,c,d) =
H(b,c,d)
1 6 k ali o p erasi d asar d en g an g (b , c, d ) = H (b , c, d
d ap at d ilih at p ad a T ab el 5 .
T a b el 5 . R in cian o p erasi p ad a fu n g si H (b , c, d )
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[abcd
[ABCD
[DABC
[CDAB
[BCDA
[ABCD
[DABC
[CDAB
[BCDA
[ABCD
[DABC
[CDAB
[BCDA
[ABCD
[DABC
[CDAB
[BCDA
k
5
8
11
14
1
4
7
10
13
0
3
6
9
12
15
2
s
4
11
16
23
4
11
16
23
4
11
16
23
4
11
16
23
i ]
33]
34]
35]
36]
37]
38]
39]
40]
41]
42]
43]
44]
45]
46]
47]
48]
MD5 (Algoritma)
P u taran 4 :
1 6 k ali o p erasi d asar d en g an g (b , c, d ) = I(b , c, d )
d ap at d ilih at p ad a T ab el 6 .
• Putaran 4 : 16 kali operasiT a b el 6 . R in cian o p erasi p ad a fu n g si I(b , c, d )
No.
[abcd
k
s
i ]
dasar dengan g(b,c,d) =
1
[ABCD
0
6
49]
I(b,c,d)
2
[DABC
7
10
50]
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[CDAB
[BCDA
[ABCD
[DABC
[CDAB
[BCDA
[ABCD
[DABC
[CDAB
[BCDA
[ABCD
[DABC
[CDAB
[BCDA
14
5
12
3
10
1
8
15
6
13
4
11
2
9
15
21
6
10
15
21
6
10
15
21
6
10
15
21
51]
52]
53]
54]
55]
56]
57]
58]
59]
60]
61]
62]
63]
64]
MD5 (Algoritma)
• Setelah putaran keempat, a, b, c, dan d
ditambahkan ke A, B, C, dan D, dan
selanjutnya algoritma memproses untuk blok
data berikutnya (Yq+1).
• Keluaran akhir dari algoritma MD5 adalah
hasil penyambungan bit-bit di A, B, C, dan D.
Referensi
• Rinaldi Munir,
http://informatika.stei.itb.ac.id/~rinaldi.munir
/Kriptografi/20122013/Pengantar%20Kriptografi%20(2013).ppt
• http://www.mdp.ac.id/materi/2010-20112/TI407/051041/TI407-051041-771-24.ppt
119