2. Saat ini banyak data-data bisnis
yang penting dipertukarkan menggunakan
media internet, yang mana media ini
bukanlah merupakan media yang aman.
Pesan-pesan e-mail dan data dapat saja di
baca, diubah, dirusak jika tidak diamankan
dengan tepat. e-mail menyediakan
metode komunikasi yang mudah, tidak
mahal, serta paling reliable di seluruh dunia.
Pesan-pesan yang dikirimkan
menggunakan e-mail dapat saja berisikan
data plaintext yang mudah dibaca, sisipan
gambar-gambar, file-file suara, dan
elemen-elemen lainnya.
3. Keamanan terhadap e-mail sangat penting, sebab
pesan-pesan e-mail harus melewati beberapa server
dahulu sebelum akhirnya di terima oleh penerima email
tersebut. Dalam keamanan e-mail yang harus di
pertimbangkan adalah:
Kerahasiaan, dengan keamanan e-mail harus dapat
menjamin kerahasiaan dari pesan-pesan email tersebut
serta kerahasiaan datanya.
Integritas, keamanan e-mail juga harus bisa memastikan
integritas pesan-pesan e-mail harus terjaga dengan
menggunakan algoritma hashing yang menghasilkan
pesan-pesan yang di enkripsi.
Autentikasi, dalam lingkungan yang aman pesan-pesan
e-mail di enkripsi menggunakan kunci rahasia yang hanya
di ketahui oleh pengirim dan penerima e-mail.
Nonrepudiation, merupakan proses mem-verifikasi
keabsahan dari pengirim dan penerima pesan.
Nonrepudiation dapat di implementasikan dengan
menyertakan tanda tangan digital yang unik pada pesan
e-mail yang di kirimkan. Tanda tangan digital memastikan
bahwa yang mengirimkan pesan adalah pengirim yang
sah
4. Fungsi hash adalah fungsi yang menerima masukan
string yang panjangnya sembarang dan
mengkonversinya menjadi string keluaran yang
panjangnya tetap (fixed) (umumnya berukuran jauh
lebih kecil daripada ukuran string semula).
Keluaran fungsi hash disebut juga nilai hash (hash-
value) atau pesan ringkas (message digest).
Dengan kata lain, fungsi hash mengkompresi
sembarang pesan yang berukuran berapa saja
menjadi message digest yang ukurannya selalu
tetap (dan lebih pendek dari panjang pesan
semula).
6. Fungsi hash yang bekerja dalam satu
arah: pesan yang sudah diubah menjadi
message digest tidak dapat
dikembalikan lagi menjadi pesan
semula.
7. 1. Fungsi H dapat diterapkan pada blokdata
berukuran berapa saja.
2. H menghasilkan nilai (h) dengan panjang tetap
(fixed-length output)
3. H(x) mudah dihitung untuk setiap nilai x yang
diberikan.
4. Untuk setiap h yang dihasilkan, tidak mungkin
dikembalikan nilai x sedemikian sehingga H(x) = h.
Itulah sebabnya fungsi H dikatakan fungsi hash satu-
arah (one-way hash function)
5. Untuk setiap x yang diberikan, tidak mungkin
mencari y ≠ x sedemikian sehingga H(y) = H(x).
6. Tidak mungkin mencari pasangan x dan y
sedemikian sehingga H(x) = H(y).
8. Fungsi hash yang memiliki beberapa sifat
keamanan tambahan sehingga dapat
dipakai untuk tujuan keamanan data.
Umumnya digunakan untuk keperluan
autentikasi dan integritas data.
9. Preimage resistant: bila diketahui nilai hash
h maka sulit (secara komputasi tidak layak)
untuk mendapatkan m dimana h = hash
(m).
Second preimage resistant : bila diketahui
input m1 maka sulit mencari input m2 (tidak
sama dengan m1) yang menyebabkan
hash (m1) = hash(m2).
Collision - reristant: sulit mencari dua input
berbeda m1 dan m2 menyebabkan
hash(m1) = hash(m2).
10. Adalah fungsi hashsatu arah yang
dibuat oleh Ron Rivest dan merupakan
pengembangan dari algoritma MD4.
algoritma MD5 menerima masukan
berupa pesan dengan ukuran
sembarang dan menghasilkan sebuah
message digest dengan panjang 128 bit.
11. 1. Penambahan bit-bit pengganjal (padding
bits).
2. Penambahan nilai panjang pesan semula.
3. Inisialisasi penyangga (buffer) MD.
4. Pengolahan pesan dalam blok berukuran
512 bit.
12. Pesan ditambah dengan sejumlah bit pengganjal
sedemikian sehingga panjang pesan (dalam satuan bit)
kongruen dengan 448 modulo 512. Ini berarti panjang
pesan setelah ditambahi Bit - bit pengganjal adalah 64 bit
kurang dari kelipatan 512. Angka 512 ini muncul karena
MD5 memperoses pesan dalam blok-blok yang berukuran
512.
Pesan dengan panjang 448 bit pun tetap ditambah
dengan bit - bit pengganjal. 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.
13. Pesan yang telah diberi bit-bit pengganjal
ditambah lagi dengan 64 bit yang
menyatakan panjang pesan semula.
Jika panjang pesan > 2
64
maka yang
diambil adalah panjangnya dalam modulo
2
64
. Dengan kata lain, jika panjang pesan
semula adalah K bit, maka 64 bit yang
ditambahkan menyatakan K modulo 2
64
Setelah ditambah dengan 64 bit, panjang
pesan sekarang menjadi 512 bit.
14. MD5 membutuhkan 4 buah penyangga (buffer)
yang masing masing panjangnya 32 bit. Total
panjang penyangga adalah 4 x 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
15. Pesan dibagi menjadi L buah blok yang
masing-masing panjangnya 512 bit (Y 0
sampai Y L – 1).
•Setiap blok 512-bit diproses bersama
dengan penyangga MD menjadi
keluaran 128-bit, dan ini disebut proses H.
16. MD5 mengolah blok 512 bit, dibagi
kedalam 16 subblok berukuran 32 bit.
Keluaran algoritma diset menjadi 4 blok
yang masing-masing berukuran 32 bit
yang setelah digabungkan akan
membentuk nilai hash 128 bit.
17. MD5 terdiri atas 64 operasi,
dikelompokkan dalam
empat putaran dari 16
operasi.
F : Adalah fungsi nonlinear,
satu fungsi digunakan pada
tiap-tiap putaran.
Mi : Menujukkan blok 32-bit
dari masukan pesan, dan
Ki : Menunjukkan konstanta
32-bit, berbeda untuk tiap-
tiap operasi.
<<<s : Menunjukkan
perputaran bit kiri oleh s; s
bervariasi untuk tiap-tiap
operasi.
: Menunjukan
tambahan modulo 232.
18. A, B, C, D, dan E adalah 32-bit
kata. F adalah fungsi non-linear
yang bervariasi.
<<< ; menyatakan rotasi ke kiri
sebanyak n tempat di mana n
berbeda untuk tiap operasi.
; menyatakan modulo
tambahan 232
. Kt adalah
konstanta.
Contoh SHA-1: SHA1("The quick
brown fox jumps over the lazy
dog") = 2fd4e1c6 7a2d28fc
ed849ee1 bb76e739 1b93eb12
19. SHA1("The quick brown fox jumps over
the lazy dog") = 2fd4e1c6 7a2d28fc
ed849ee1 bb76e739 1b93eb12
Bahkan dengan ada sedikit perubahan
kecil, nilai dari SHA-1 akan berubah.
Contoh:
SHA1("The quick brown fox jumps over
the lazy cog") = de9f2c7f d25e1b3a
fad3e85a 0bd17d9b 100db4b3