SlideShare a Scribd company logo
Fungsi Hash &
Algoritma SHA-256
Kelompok 5 – Sistem Informasi 2A
Kelompok 5
▪ Muh. Irfan Aziz (14.1.03.03.0035)
▪ Rifa'i Dwi Cahyono (14.1.03.03.0143)
▪ Prista Avinda D. (14.1.03.03.0017)
▪ Dwi Bagus Kurniawan (14.1.03.03.0019)
▪ Aditya Gusti Tammam (14.1.03.03.0052)
▪ Hamim Arifunas (14.1.03.03.0092)
Content
•Pengertian Fungsi Hash
•Sifat-sifat Fungsi Hash
•Manfaat Fungsi Hash
•Message Integrity
•Message Fingerprint
•Macam-macam Fungsi Hash
•Sejarah SHA-256
•Awal Perkembangan SHA-256
•Dasar Prinsip SHA-256
•Cara Kerja SHA-256
•Tahapan SHA-256
•Penerapan SHA-256
•Kelebihan & Kekurangan SHA-256
Apa itu Fungsi Hash ?
▪ Suatu fungsi yang merubah suatu pesan
dengan panjang sembarang menjadi suatu
pesan ringkas yang panjangnya selalu tetap
meskipun panjang pesan aslinya berbeda-
beda.
)( MHh 
Irfan
Contoh
UNP Fungsi Hash 54ASHS89
UNP. Fungsi Hash H5894ASS
Tugas Keaamanan
Komputer
Fungsi Hash SH54AS89
Catatan : Nilai hash diatas hanya contoh dan bukan nilai yang sebenarnya. Irfan
Sifat Fungsi Hash
▪ Fungsi H dapat diterapkan pada blok data
berukuran berapa saja.
▪ H menghasilkan (h) dengan panjang tetap.
▪ H(x) mudah dihitung untuk setiap nilai x yang
diberikan.
Irfan
Sifat Fungsi Hash (lanjutan)
Irfan
Sifat Fungsi Hash (lanjutan)
▪ Preimage Resistance : Untuk setiap h yang
dihasilkan, tidak mungkin dikembalikan ke nilai
x sedemikian hingga H(x) = h.
▪ Second Preimage Resistance : Untuk setiap
nilai x1, tidak mungkin mencari nilai x2
sedemikian hingga H(x1) = H(x2).
▪ Collision Resistance : Tidak mungkin mencari
pasangan x1 dan x2 sedemikian hingga H(x1) =
H(x2).
Irfan
Manfaat Fungsi Hash
▪ Autentifikasi password
▪ Autentifikasi keaslian file
▪ Tanda tangan digital
▪ Dsb.
Irfan
Message Integrity
▪ Berkaitan dengan keutuhan pesan.
▪ Memastikan bahwa suatu pesan
tidak rusak atau berubah.
Rifa’i
Message Fingerprint
▪ Sidik jari digital dari suatu pesan yang terdiri
dari kode, dihitung atas dasar isi pesan, yang
dapat dimanfaatkan untuk memeriksa dan
menjamin keaslian file.
Rifa’i
Macam-macam Fungsi Hash
▪ MD4
▪ MD5
▪ SHA-0
▪ SHA-1
▪ SHA-256
▪ SHA-512
Rifa’i
Macam-macam Fungsi Hash (bonus)
Rifa’i
Macam-macam Fungsi Hash (bonus)
Rifa’i
Sejarah SHA-256
▪ Bulan Agustus 1991, NIST mengumumkan
standard untuk tanda-tangan digital yang
dinamakan Digital Signature Standard (DSS).
▪ DSS terdiri dari :
– Digital Signature Algorithm (DSA)
– Secure Hash Algorithm (SHA)
Prista
Sejarah SHA-256 (lanjutan)
▪ SHA adalah fungsi hash satu arah yang dibuat
oleh NIST (The National Institute of Standard
and Technology).
▪ Oleh NSA, SHA dijadikan standard fungsi hash
satu arah.
▪ Salah satu varian SHA adalah SHA-256 yang
akan dibahas lebih lanjut dalam materi ini.
Prista
Awal Perkembangan SHA-256
▪ SHA-0 dikenal pada tahun 1991.
▪ SHA-1 dikenal pada tahun 1993.
▪ Varian SHA-2 sejak 2000 hingga kini :
– SHA-224
– SHA-256
– SHA-384
– SHA-512
▪ SHA-3 ? (Segera!)
Prista
Dasar Prinsip SHA-256
▪ Pembuatan message-digest didasarkan pada pesan
dengan panjang maksimum 264 bit.
▪ Menggunakan message-schedule yang terdiri dari :
– 64 element word 32-bit.
– 8 buah variabel 32-bit.
– Variabel penyimpan nilai hash 8 buah word 32-bit.
▪ Hasil akhir didapat message-digest sepanjang 256
bit.
Dwi Bagus
Cara Kerja SHA-256
▪ SHA-256 mengubah pesan masukan ke dalam
message digest 256 bit. Berdasarkan Secure
Hash Signature Standard, pesan masukan yang
panjangnya lebih pendek dari 264 bit, harus
dioperasikan oleh 512 bit dalam kelompok dan
menjadi sebuah message diggest 256-bit.
Dwi Bagus
Tahapan SHA-256
Gusti Tammam
Tahapan SHA-256 (lanjutan)
Misal kita ingin
membuat message
digest dari sebuah
pesan M yang berisi
"abc". Maka M =
"abc"
Gusti Tammam
Tahapan SHA-256 (lanjutan)
Ubah pesan menjadi
binary. Lihat slide
selanjutnya !
Gusti Tammam
Tahapan SHA-256 : Ubah pesan ke
bentuk binary
▪ M = "abc"
▪ 'a' = 01100001
▪ 'b’ = 01100010
▪ 'c' = 01100011
▪ Maka :
– M = 01100001 01100010 01100011
Gusti Tammam
Tahapan SHA-256 (lanjutan)
Padding pesan
dengan
menambahkan bit-
bit pengganjal
sehingga total
panjangnya 512 bit.
Lihat slide
selanjutnya !
Note : Meskipun apabila pesan sudah memiliki panjang 512-bit, pesan tersebut tetap dipadding
Gusti Tammam
Tahapan SHA-256 : Padding Pesan
▪ M = 01100001 01100010 01100011
8 bit 8 bit 8 bit
▪ Maka panjang pesan, l =24 bit.
▪ Padding dilakukan dengan cara menambahkan bit
'1' dan sisanya adalah bit '0' sejumlah k. Dimana k
merupakan solusi dari persamaan berikut:
512mod4481  kl
Gusti Tammam
Tahapan SHA-256 : Padding Pesan
(lanjutan)
▪ Mencari nilai k :
▪ k = l + 1 ≡ 448 mod 512
k = 24 + 1 ≡ 448 mod 512
k = 25 ≡ 448 mod 512
k = 448 – 25 = 423
▪ Ditemukan nilai k = 423. Maka banyak bit '0' yang
ditambahkan sejumlah 423 bit.
Gusti Tammam
Tahapan SHA-256 : Padding Pesan
(lanjutan)
▪ Setelah itu tambahkan jumlah panjang pesan
pada akhir pesan yang dipadding.
▪ l = 24 = 00011000
Gusti Tammam
Tahapan SHA-256 : Padding Pesan
(lanjutan)
▪ Hasil pesan yang dipadding [M(0)] :
01100001 01100010 01100011 10000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00011000
Gusti Tammam
Tahapan SHA-256 (lanjutan)
Pesan yang dipadding akan
menghasilkan blok pesan
512-bit M(0), M(1), ..., M(n-1).
Namun dalam contoh kasus
ini karena panjang pesan
yang dipadding tidak
melebihi 512-bit, maka hanya
menghasilkan 1 blok 512-bit
yaitu M(0).
Tahap selanjutnya adalah
dengan membagi setiap blok
512-bit menjadi 16 buah
word 32-bit, M0
(i), M1
(i), ...,
M15
(i).
Gusti Tammam
Tahapan SHA-256 : Parsing Pesan
▪ Hasil pesan yang dipadding [M(0)] diparsing :
01100001 01100010 01100011 10000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00011000
Gusti Tammam
Tahapan SHA-256 : Parsing Pesan
(lanjutan)
▪ M0
(0) : 0110 0001 0110 0010 0110 0011 1000 0000
▪ M1
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M2
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M3
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M4
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M5
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M6
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M7
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M8
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M9
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M10
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M11
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M12
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M13
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M14
(0) : 0000 0000 0000 0000 0000 0000 0000 0000
▪ M15
(0) : 0000 0000 0000 0000 0000 0000 0001 1000
Gusti Tammam
Tahapan SHA-256 (lanjutan)
Initial hash value untuk SHA-
256 adalah sebagai berikut :
H0
(0) = 6a09e667
H1
(0) = bb67ae85
H2
(0) = 3c6ef372
H3
(0) = a54ff53a
H4
(0) = 510e527f
H5
(0) = 9b05688c
H6
(0) = 1f83d9ab
H7
(0) = 5be0cd19
Gusti Tammam
Tahapan SHA-256 (lanjutan)
SHA-256 Function
Gusti Tammam
Tahapan SHA-256 (lanjutan)
Terdiri dari 64 buah
32-bit word.
Gusti Tammam
Tahapan SHA-256 : Prepare
Message Schedule (lanjutan)
Gusti Tammam
Tahapan SHA-256 : Prepare
Message Schedule (lanjutan)
▪ M0
(0) : 6 1 6 2 6 3 8 0
▪ M1
(0) : 0 0 0 0 0 0 0 0
▪ M2
(0) : 0 0 0 0 0 0 0 0
▪ M3
(0) : 0 0 0 0 0 0 0 0
▪ M4
(0) : 0 0 0 0 0 0 0 0
▪ M5
(0) : 0 0 0 0 0 0 0 0
▪ M6
(0) : 0 0 0 0 0 0 0 0
▪ M7
(0) : 0 0 0 0 0 0 0 0
▪ M8
(0) : 0 0 0 0 0 0 0 0
▪ M9
(0) : 0 0 0 0 0 0 0 0
▪ M10
(0) : 0 0 0 0 0 0 0 0
▪ M11
(0) : 0 0 0 0 0 0 0 0
▪ M12
(0) : 0 0 0 0 0 0 0 0
▪ M13
(0) : 0 0 0 0 0 0 0 0
▪ M14
(0) : 0 0 0 0 0 0 0 0
▪ M15
(0) : 0 0 0 0 0 0 1 8
Gusti Tammam
Tahapan SHA-256 : Prepare
Message Schedule (lanjutan)
▪ W0
(0) : 61626380
▪ W1
(0) : 00000000
▪ W2
(0) : 00000000
▪ W3
(0) : 00000000
▪ W4
(0) : 00000000
▪ W5
(0) : 00000000
▪ W6
(0) : 00000000
▪ W7
(0) : 00000000
▪ W8
(0) : 00000000
▪ W9
(0) : 00000000
▪ W10
(0) : 00000000
▪ W11
(0) : 00000000
▪ W12
(0) : 00000000
▪ W13
(0) : 00000000
▪ W14
(0) : 00000000
▪ W15
(0) : 00000018
Dan seterusnya hinggaW63
(i-1), dimana i adalah jumlah blok 512-bit. Gusti Tammam
Tahapan SHA-256 (lanjutan)
Working variable diambil dari
initial hash value
a = H0
(0) = 6a09e667
b = H1
(0) = bb67ae85
c = H2
(0) = 3c6ef372
d = H3
(0) = a54ff53a
e = H4
(0) = 510e527f
f = H5
(0) = 9b05688c
g = H6
(0) = 1f83d9ab
h = H7
(0) = 5be0cd19
Gusti Tammam
Tahapan SHA-256 (lanjutan)
The real computation
has begin....
Gusti Tammam
Tahapan SHA-256 : Intermediate
Hash Computation
Gusti Tammam
Tahapan SHA-256 : Intermediate
Hash Computation
▪ SHA-256 Constants
▪ K0
{256}, K1
{256}, ..., K63
{256}
Gusti Tammam
Tahapan SHA-256 : Intermediate
Hash Computation
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Gusti Tammam
Tahapan SHA-256 (lanjutan)
Gusti Tammam
Tahapan SHA-256 : Compute
Intermediate Hash Value + Init
▪ H0
(0) = 506e3058 + 6a09e667 = ba7816bf
▪ H1
(0) = d39a2165 + bb67ae85 = 8f01cfea
▪ H2
(0) = 04d24d6c + 3c6ef372 = 414140de
▪ H3
(0) = b85e2ce9 + a54ff53a = 5dae2223
▪ H4
(0) = 5ef50f24 + 510e527f = b00361a3
▪ H5
(0) = fb121210 + 9b05688c = 96177a9c
▪ H6
(0) = 948d25b6 + 1f83d9ab = b410ff61
▪ H7
(0) = 961f4894 + 5be0cd19 = f20015ad
Gusti Tammam
Tahapan SHA-256 (lanjutan)
Gabungkan H0-H7 !
Gusti Tammam
Tahapan SHA-256 : Gabungkan H0-H7
ba7816bf || 8f01cfea || 414140de || 5dae2223 || b00361a3 || 96177a9c || b410ff61 || f20015ad
Gusti Tammam
Tahapan SHA-256 (lanjutan)
Diakhir tahap
didapatkanlah nilai
hash atau message
digestnya.
Gusti Tammam
Tahapan SHA-256 : Nilai Hash
h = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
Gusti Tammam
Penerapan SHA-256
▪ Contoh penerapan SHA-256 pada bahasa
pemrograman Python silahkan cek snippet
code-nya di
https://github.com/thomdixon/pysha2/blob/m
aster/sha2/sha256.py
▪ Contoh penerapan SHA-256 dalam aplikasi :
– Secure Sockets Layer (SSL)
– Bitcoin
Gusti Tammam
Kelebihan dan Kekurangan
▪ Untuk mengetahui kelebihan dan kekurangan
suatu objek, maka diperlukan objek
pembanding lainnya.
▪ Disini objek pembanding untuk SHA-256 akan
dipilih yaitu MD5
Hamim
SHA-256 Vs MD5
Parameter SHA-256 MD5
Ketahanan terhadap
serangan brute-force
•Message digest
dengan panjang 256
bit diyakini mampu
menahan serangan
brute-force lebih kuat
• Message digest
dengan panjang 128
bit cenderung lebih
mudah diserang brute
force
Hamim
Score
SHA-256Vs MD5
1 0
SHA-256 Vs MD5
Parameter SHA-256 MD5
Kerentanan
terhadap serangan
cryptanalysis
•Tidak rentan • Rentan
Hamim
Score
SHA-256Vs MD5
1 0
SHA-256 Vs MD5
Parameter SHA-256 MD5
Kecepatan
komputasi
•Proses komputasi
untuk menghasilkan
256 bit message
digets lebih lambat
•Proses komputasi
untuk menghasilkan
128 bit message
digest lebih cepat
Hamim
Score
SHA-256Vs MD5
0 1
SHA-256 Vs MD5
Parameter SHA-256 MD5
Kemudahan
implementasi
•Keduanya mudah untuk
dijelaskan/dideskripsikan dan
diimplemntasikan.
Hamim
Score
SHA-256Vs MD5
1 1
SHA-256 Vs MD5
▪ SHA-256 lebih unggul dari MD5
Total Score
SHA-256Vs MD5
3 2
Hamim
Kesimpulan
▪ Fungsi hash memiliki algoritma yang iterative dan
searah, yang dapat memproses pesan yang
diberikan untuk menghasilkan representasi yang
lebih pendek yang disebut message digest.
▪ Fungsi hash dapat digunakan untuk berbagai
kebutuhan yang berkaitan dengan autentifikasi dan
tanda tangan digital.
▪ Fungsi hash haruslah tidak memungkinkan
seseorang untuk mengembalikan nilai hash
menjadi pesan semula.
Hamim
Kesimpulan
▪ Secara umum tahapan SHA-256 terdiri dari
Preprocessing dan Hash Computation.
▪ Algoritma SHA-256 menghasilkan pesan ringkas
dengan panjang 256-bit.
▪ Algoritma SHA-256 termasuk dalam algoritma
satu-arah yang cukup kuat dan aman dibanding
dengan algoritma-algoritma sebelumnya.
▪ Belum ditemukan collision pada SHA-256.
Hamim
Terimakasih.
Silahkan bertanya !
Referensi
▪ [1] Angga, Christian. 2011. Analisis Cara Kerja Beragam Fungsi Hash yang Ada. Bandung: Institut Teknologi Bandung.
▪ [2] Munir, Rinaldi. 2004. Fungsi Hash Satu-Arah dan Algoritma MD5. Bandung: Institut Teknologi Bandung.
▪ [3] PC Magazine Encyclopedia. Definition of : Message Integrity. Didapat dari : http://www.pcmag.com/encyclopedia/term/46823/message-integrity. Diakses pada : 18 April 2016.
▪ [4] Ferilli, Stefano. 2011. Automatic Digital Document Processing and Management : Problems, Algorithms, and Techniques. London: Springer.
▪ [5] Munir, Rinaldi. 2004. Digital Signature Standard (DSS). Bandung: Institut Teknologi Bandung.
▪ [6] Insani, Agus Yoga. 2008. Proteksi Akses File Executable Menggunakan Sistem Keamanan Teknologi USB Flash Disk. Bandung: Universitas Komputer Indonesia.
▪ [7] Rodriguez-Henriquez, Francisco. 2006. Cryptographic Algorithms on Reconfigurable Hardware. New York: Springer.
▪ [8] Sebastian, Amudi. 2007. Implementasi dan Perbandingan Performa Algoritma Hash SHA-1, SHA-256, dan SHA-512. Bandung: Institut Teknologi Bandung.
▪ [9] Mankar, R.V dan Nipanikar, S. I. 2013. C Implementation of SHA-256 Algorithm. Pune: Pune University.
▪ [10] Anonim. Descriptions of SHA-256, SHA-384, and SHA-512. Didapat dari : http://www.iwar.org.uk/comsec/resources/cipher/sha256-384-512.pdf. Diakses pada 19 April 2016.
▪ [11] Dixon, Thomas. PySHA2. Didapat dari : https://github.com/thomdixon/pysha2. Diakses pada : 19 April 2016.
▪ [12] Lee, Chang-Hsing. Applied Cryptography Chapter 9. Didapat dari : http://people.chu.edu.tw/~chlee/Crypto/Crypto9_1p.pdf. Diakses pada : 19 April 2016.

More Related Content

PDF
Fungsi Hash & Algoritma SHA-256
PPT
Hash mac algorithms
PDF
Fungsi hash
PPT
9.kompresi teks
PPTX
DIGITAL SIGNATURE ALGORITHM (DSA)
PDF
Elliptic curve cryptography
PPTX
Bab2 peubah-acak-dan-distribusi-peluang
PPTX
MD5 ALGORITHM.pptx
Fungsi Hash & Algoritma SHA-256
Hash mac algorithms
Fungsi hash
9.kompresi teks
DIGITAL SIGNATURE ALGORITHM (DSA)
Elliptic curve cryptography
Bab2 peubah-acak-dan-distribusi-peluang
MD5 ALGORITHM.pptx

What's hot (20)

DOCX
Sistem Kriptografi Klasik Berbasis Substitusi
PPT
Elliptical curve cryptography
PDF
Kriptografi - Hash
PDF
Algoritma dan Struktur Data - Binary Search
PPT
Desain arsitektur
PDF
Struktur Pemrograman Java
DOCX
Tugas 3 Rangkuman Protocol DNS, FTP, HTTP, dan SMTP
PDF
Laporan praktikum jarkom_3
PDF
CNIT 141: 6. Hash Functions
PPT
Secure Socket Layer (SSL)
PPTX
Cryptographic hash function md5
PPT
Traditional symmetric-key cipher
DOCX
CDMA - USE WALSH TABLE TO GENERATE CHIP SEQUENCE
PPTX
Merge sort
PDF
Bitcoin Addresses
PDF
Modul2 metode regula falsi praktikum metode numerik
DOCX
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
PDF
10.kompresi citra
PDF
Block Cipher Modes of Operation And Cmac For Authentication
PPTX
ML-ChapterFour-ModelEvaluation.pptx
Sistem Kriptografi Klasik Berbasis Substitusi
Elliptical curve cryptography
Kriptografi - Hash
Algoritma dan Struktur Data - Binary Search
Desain arsitektur
Struktur Pemrograman Java
Tugas 3 Rangkuman Protocol DNS, FTP, HTTP, dan SMTP
Laporan praktikum jarkom_3
CNIT 141: 6. Hash Functions
Secure Socket Layer (SSL)
Cryptographic hash function md5
Traditional symmetric-key cipher
CDMA - USE WALSH TABLE TO GENERATE CHIP SEQUENCE
Merge sort
Bitcoin Addresses
Modul2 metode regula falsi praktikum metode numerik
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
10.kompresi citra
Block Cipher Modes of Operation And Cmac For Authentication
ML-ChapterFour-ModelEvaluation.pptx
Ad

More from Aditya Gusti Tammam (8)

PDF
Mengaktifkan Fitur Multi-Currency Pada Odoo 12.0 Community Edition
PPTX
Bagaimana Torrent Bekerja
PDF
Cara mengetahui pihak mana yang memproduksi film - masTamm 2014
PDF
Pengertian pseudo code dan contohnya
PDF
Jaringan komputer dan komunikasi data
DOCX
Pengertian, Fungsi, dan Contoh dari Hardware dan Software
PDF
How to run multiple instances of transmission daemon in linux debian or ubuntu
PDF
Cara membuat link dengan dua halaman tujuan
Mengaktifkan Fitur Multi-Currency Pada Odoo 12.0 Community Edition
Bagaimana Torrent Bekerja
Cara mengetahui pihak mana yang memproduksi film - masTamm 2014
Pengertian pseudo code dan contohnya
Jaringan komputer dan komunikasi data
Pengertian, Fungsi, dan Contoh dari Hardware dan Software
How to run multiple instances of transmission daemon in linux debian or ubuntu
Cara membuat link dengan dua halaman tujuan
Ad

Recently uploaded (9)

PPTX
Materi_Array_Karakter_String untuk kelas XI sma.pptx
PPTX
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
PDF
Modul_Pemula_Merakit_Komputer untuk smppdf
PPTX
Materi asdsa asd asd sad sa dsa dsa d sa
PPT
pengantar-sistem-informasi manajemen.ppt
PPTX
Implementasi Microservices pada Manufaktur
DOCX
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
DOCX
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
PDF
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
Materi_Array_Karakter_String untuk kelas XI sma.pptx
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
Modul_Pemula_Merakit_Komputer untuk smppdf
Materi asdsa asd asd sad sa dsa dsa d sa
pengantar-sistem-informasi manajemen.ppt
Implementasi Microservices pada Manufaktur
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf

Fungsi Hash & Algoritma SHA-256 - Presentation

  • 1. Fungsi Hash & Algoritma SHA-256 Kelompok 5 – Sistem Informasi 2A
  • 2. Kelompok 5 ▪ Muh. Irfan Aziz (14.1.03.03.0035) ▪ Rifa'i Dwi Cahyono (14.1.03.03.0143) ▪ Prista Avinda D. (14.1.03.03.0017) ▪ Dwi Bagus Kurniawan (14.1.03.03.0019) ▪ Aditya Gusti Tammam (14.1.03.03.0052) ▪ Hamim Arifunas (14.1.03.03.0092)
  • 3. Content •Pengertian Fungsi Hash •Sifat-sifat Fungsi Hash •Manfaat Fungsi Hash •Message Integrity •Message Fingerprint •Macam-macam Fungsi Hash •Sejarah SHA-256 •Awal Perkembangan SHA-256 •Dasar Prinsip SHA-256 •Cara Kerja SHA-256 •Tahapan SHA-256 •Penerapan SHA-256 •Kelebihan & Kekurangan SHA-256
  • 4. Apa itu Fungsi Hash ? ▪ Suatu fungsi yang merubah suatu pesan dengan panjang sembarang menjadi suatu pesan ringkas yang panjangnya selalu tetap meskipun panjang pesan aslinya berbeda- beda. )( MHh  Irfan
  • 5. Contoh UNP Fungsi Hash 54ASHS89 UNP. Fungsi Hash H5894ASS Tugas Keaamanan Komputer Fungsi Hash SH54AS89 Catatan : Nilai hash diatas hanya contoh dan bukan nilai yang sebenarnya. Irfan
  • 6. Sifat Fungsi Hash ▪ Fungsi H dapat diterapkan pada blok data berukuran berapa saja. ▪ H menghasilkan (h) dengan panjang tetap. ▪ H(x) mudah dihitung untuk setiap nilai x yang diberikan. Irfan
  • 7. Sifat Fungsi Hash (lanjutan) Irfan
  • 8. Sifat Fungsi Hash (lanjutan) ▪ Preimage Resistance : Untuk setiap h yang dihasilkan, tidak mungkin dikembalikan ke nilai x sedemikian hingga H(x) = h. ▪ Second Preimage Resistance : Untuk setiap nilai x1, tidak mungkin mencari nilai x2 sedemikian hingga H(x1) = H(x2). ▪ Collision Resistance : Tidak mungkin mencari pasangan x1 dan x2 sedemikian hingga H(x1) = H(x2). Irfan
  • 9. Manfaat Fungsi Hash ▪ Autentifikasi password ▪ Autentifikasi keaslian file ▪ Tanda tangan digital ▪ Dsb. Irfan
  • 10. Message Integrity ▪ Berkaitan dengan keutuhan pesan. ▪ Memastikan bahwa suatu pesan tidak rusak atau berubah. Rifa’i
  • 11. Message Fingerprint ▪ Sidik jari digital dari suatu pesan yang terdiri dari kode, dihitung atas dasar isi pesan, yang dapat dimanfaatkan untuk memeriksa dan menjamin keaslian file. Rifa’i
  • 12. Macam-macam Fungsi Hash ▪ MD4 ▪ MD5 ▪ SHA-0 ▪ SHA-1 ▪ SHA-256 ▪ SHA-512 Rifa’i
  • 13. Macam-macam Fungsi Hash (bonus) Rifa’i
  • 14. Macam-macam Fungsi Hash (bonus) Rifa’i
  • 15. Sejarah SHA-256 ▪ Bulan Agustus 1991, NIST mengumumkan standard untuk tanda-tangan digital yang dinamakan Digital Signature Standard (DSS). ▪ DSS terdiri dari : – Digital Signature Algorithm (DSA) – Secure Hash Algorithm (SHA) Prista
  • 16. Sejarah SHA-256 (lanjutan) ▪ SHA adalah fungsi hash satu arah yang dibuat oleh NIST (The National Institute of Standard and Technology). ▪ Oleh NSA, SHA dijadikan standard fungsi hash satu arah. ▪ Salah satu varian SHA adalah SHA-256 yang akan dibahas lebih lanjut dalam materi ini. Prista
  • 17. Awal Perkembangan SHA-256 ▪ SHA-0 dikenal pada tahun 1991. ▪ SHA-1 dikenal pada tahun 1993. ▪ Varian SHA-2 sejak 2000 hingga kini : – SHA-224 – SHA-256 – SHA-384 – SHA-512 ▪ SHA-3 ? (Segera!) Prista
  • 18. Dasar Prinsip SHA-256 ▪ Pembuatan message-digest didasarkan pada pesan dengan panjang maksimum 264 bit. ▪ Menggunakan message-schedule yang terdiri dari : – 64 element word 32-bit. – 8 buah variabel 32-bit. – Variabel penyimpan nilai hash 8 buah word 32-bit. ▪ Hasil akhir didapat message-digest sepanjang 256 bit. Dwi Bagus
  • 19. Cara Kerja SHA-256 ▪ SHA-256 mengubah pesan masukan ke dalam message digest 256 bit. Berdasarkan Secure Hash Signature Standard, pesan masukan yang panjangnya lebih pendek dari 264 bit, harus dioperasikan oleh 512 bit dalam kelompok dan menjadi sebuah message diggest 256-bit. Dwi Bagus
  • 21. Tahapan SHA-256 (lanjutan) Misal kita ingin membuat message digest dari sebuah pesan M yang berisi "abc". Maka M = "abc" Gusti Tammam
  • 22. Tahapan SHA-256 (lanjutan) Ubah pesan menjadi binary. Lihat slide selanjutnya ! Gusti Tammam
  • 23. Tahapan SHA-256 : Ubah pesan ke bentuk binary ▪ M = "abc" ▪ 'a' = 01100001 ▪ 'b’ = 01100010 ▪ 'c' = 01100011 ▪ Maka : – M = 01100001 01100010 01100011 Gusti Tammam
  • 24. Tahapan SHA-256 (lanjutan) Padding pesan dengan menambahkan bit- bit pengganjal sehingga total panjangnya 512 bit. Lihat slide selanjutnya ! Note : Meskipun apabila pesan sudah memiliki panjang 512-bit, pesan tersebut tetap dipadding Gusti Tammam
  • 25. Tahapan SHA-256 : Padding Pesan ▪ M = 01100001 01100010 01100011 8 bit 8 bit 8 bit ▪ Maka panjang pesan, l =24 bit. ▪ Padding dilakukan dengan cara menambahkan bit '1' dan sisanya adalah bit '0' sejumlah k. Dimana k merupakan solusi dari persamaan berikut: 512mod4481  kl Gusti Tammam
  • 26. Tahapan SHA-256 : Padding Pesan (lanjutan) ▪ Mencari nilai k : ▪ k = l + 1 ≡ 448 mod 512 k = 24 + 1 ≡ 448 mod 512 k = 25 ≡ 448 mod 512 k = 448 – 25 = 423 ▪ Ditemukan nilai k = 423. Maka banyak bit '0' yang ditambahkan sejumlah 423 bit. Gusti Tammam
  • 27. Tahapan SHA-256 : Padding Pesan (lanjutan) ▪ Setelah itu tambahkan jumlah panjang pesan pada akhir pesan yang dipadding. ▪ l = 24 = 00011000 Gusti Tammam
  • 28. Tahapan SHA-256 : Padding Pesan (lanjutan) ▪ Hasil pesan yang dipadding [M(0)] : 01100001 01100010 01100011 10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00011000 Gusti Tammam
  • 29. Tahapan SHA-256 (lanjutan) Pesan yang dipadding akan menghasilkan blok pesan 512-bit M(0), M(1), ..., M(n-1). Namun dalam contoh kasus ini karena panjang pesan yang dipadding tidak melebihi 512-bit, maka hanya menghasilkan 1 blok 512-bit yaitu M(0). Tahap selanjutnya adalah dengan membagi setiap blok 512-bit menjadi 16 buah word 32-bit, M0 (i), M1 (i), ..., M15 (i). Gusti Tammam
  • 30. Tahapan SHA-256 : Parsing Pesan ▪ Hasil pesan yang dipadding [M(0)] diparsing : 01100001 01100010 01100011 10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00011000 Gusti Tammam
  • 31. Tahapan SHA-256 : Parsing Pesan (lanjutan) ▪ M0 (0) : 0110 0001 0110 0010 0110 0011 1000 0000 ▪ M1 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M2 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M3 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M4 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M5 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M6 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M7 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M8 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M9 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M10 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M11 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M12 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M13 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M14 (0) : 0000 0000 0000 0000 0000 0000 0000 0000 ▪ M15 (0) : 0000 0000 0000 0000 0000 0000 0001 1000 Gusti Tammam
  • 32. Tahapan SHA-256 (lanjutan) Initial hash value untuk SHA- 256 adalah sebagai berikut : H0 (0) = 6a09e667 H1 (0) = bb67ae85 H2 (0) = 3c6ef372 H3 (0) = a54ff53a H4 (0) = 510e527f H5 (0) = 9b05688c H6 (0) = 1f83d9ab H7 (0) = 5be0cd19 Gusti Tammam
  • 33. Tahapan SHA-256 (lanjutan) SHA-256 Function Gusti Tammam
  • 34. Tahapan SHA-256 (lanjutan) Terdiri dari 64 buah 32-bit word. Gusti Tammam
  • 35. Tahapan SHA-256 : Prepare Message Schedule (lanjutan) Gusti Tammam
  • 36. Tahapan SHA-256 : Prepare Message Schedule (lanjutan) ▪ M0 (0) : 6 1 6 2 6 3 8 0 ▪ M1 (0) : 0 0 0 0 0 0 0 0 ▪ M2 (0) : 0 0 0 0 0 0 0 0 ▪ M3 (0) : 0 0 0 0 0 0 0 0 ▪ M4 (0) : 0 0 0 0 0 0 0 0 ▪ M5 (0) : 0 0 0 0 0 0 0 0 ▪ M6 (0) : 0 0 0 0 0 0 0 0 ▪ M7 (0) : 0 0 0 0 0 0 0 0 ▪ M8 (0) : 0 0 0 0 0 0 0 0 ▪ M9 (0) : 0 0 0 0 0 0 0 0 ▪ M10 (0) : 0 0 0 0 0 0 0 0 ▪ M11 (0) : 0 0 0 0 0 0 0 0 ▪ M12 (0) : 0 0 0 0 0 0 0 0 ▪ M13 (0) : 0 0 0 0 0 0 0 0 ▪ M14 (0) : 0 0 0 0 0 0 0 0 ▪ M15 (0) : 0 0 0 0 0 0 1 8 Gusti Tammam
  • 37. Tahapan SHA-256 : Prepare Message Schedule (lanjutan) ▪ W0 (0) : 61626380 ▪ W1 (0) : 00000000 ▪ W2 (0) : 00000000 ▪ W3 (0) : 00000000 ▪ W4 (0) : 00000000 ▪ W5 (0) : 00000000 ▪ W6 (0) : 00000000 ▪ W7 (0) : 00000000 ▪ W8 (0) : 00000000 ▪ W9 (0) : 00000000 ▪ W10 (0) : 00000000 ▪ W11 (0) : 00000000 ▪ W12 (0) : 00000000 ▪ W13 (0) : 00000000 ▪ W14 (0) : 00000000 ▪ W15 (0) : 00000018 Dan seterusnya hinggaW63 (i-1), dimana i adalah jumlah blok 512-bit. Gusti Tammam
  • 38. Tahapan SHA-256 (lanjutan) Working variable diambil dari initial hash value a = H0 (0) = 6a09e667 b = H1 (0) = bb67ae85 c = H2 (0) = 3c6ef372 d = H3 (0) = a54ff53a e = H4 (0) = 510e527f f = H5 (0) = 9b05688c g = H6 (0) = 1f83d9ab h = H7 (0) = 5be0cd19 Gusti Tammam
  • 39. Tahapan SHA-256 (lanjutan) The real computation has begin.... Gusti Tammam
  • 40. Tahapan SHA-256 : Intermediate Hash Computation Gusti Tammam
  • 41. Tahapan SHA-256 : Intermediate Hash Computation ▪ SHA-256 Constants ▪ K0 {256}, K1 {256}, ..., K63 {256} Gusti Tammam
  • 42. Tahapan SHA-256 : Intermediate Hash Computation Gusti Tammam
  • 67. Tahapan SHA-256 : Compute Intermediate Hash Value + Init ▪ H0 (0) = 506e3058 + 6a09e667 = ba7816bf ▪ H1 (0) = d39a2165 + bb67ae85 = 8f01cfea ▪ H2 (0) = 04d24d6c + 3c6ef372 = 414140de ▪ H3 (0) = b85e2ce9 + a54ff53a = 5dae2223 ▪ H4 (0) = 5ef50f24 + 510e527f = b00361a3 ▪ H5 (0) = fb121210 + 9b05688c = 96177a9c ▪ H6 (0) = 948d25b6 + 1f83d9ab = b410ff61 ▪ H7 (0) = 961f4894 + 5be0cd19 = f20015ad Gusti Tammam
  • 68. Tahapan SHA-256 (lanjutan) Gabungkan H0-H7 ! Gusti Tammam
  • 69. Tahapan SHA-256 : Gabungkan H0-H7 ba7816bf || 8f01cfea || 414140de || 5dae2223 || b00361a3 || 96177a9c || b410ff61 || f20015ad Gusti Tammam
  • 70. Tahapan SHA-256 (lanjutan) Diakhir tahap didapatkanlah nilai hash atau message digestnya. Gusti Tammam
  • 71. Tahapan SHA-256 : Nilai Hash h = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad Gusti Tammam
  • 72. Penerapan SHA-256 ▪ Contoh penerapan SHA-256 pada bahasa pemrograman Python silahkan cek snippet code-nya di https://github.com/thomdixon/pysha2/blob/m aster/sha2/sha256.py ▪ Contoh penerapan SHA-256 dalam aplikasi : – Secure Sockets Layer (SSL) – Bitcoin Gusti Tammam
  • 73. Kelebihan dan Kekurangan ▪ Untuk mengetahui kelebihan dan kekurangan suatu objek, maka diperlukan objek pembanding lainnya. ▪ Disini objek pembanding untuk SHA-256 akan dipilih yaitu MD5 Hamim
  • 74. SHA-256 Vs MD5 Parameter SHA-256 MD5 Ketahanan terhadap serangan brute-force •Message digest dengan panjang 256 bit diyakini mampu menahan serangan brute-force lebih kuat • Message digest dengan panjang 128 bit cenderung lebih mudah diserang brute force Hamim Score SHA-256Vs MD5 1 0
  • 75. SHA-256 Vs MD5 Parameter SHA-256 MD5 Kerentanan terhadap serangan cryptanalysis •Tidak rentan • Rentan Hamim Score SHA-256Vs MD5 1 0
  • 76. SHA-256 Vs MD5 Parameter SHA-256 MD5 Kecepatan komputasi •Proses komputasi untuk menghasilkan 256 bit message digets lebih lambat •Proses komputasi untuk menghasilkan 128 bit message digest lebih cepat Hamim Score SHA-256Vs MD5 0 1
  • 77. SHA-256 Vs MD5 Parameter SHA-256 MD5 Kemudahan implementasi •Keduanya mudah untuk dijelaskan/dideskripsikan dan diimplemntasikan. Hamim Score SHA-256Vs MD5 1 1
  • 78. SHA-256 Vs MD5 ▪ SHA-256 lebih unggul dari MD5 Total Score SHA-256Vs MD5 3 2 Hamim
  • 79. Kesimpulan ▪ Fungsi hash memiliki algoritma yang iterative dan searah, yang dapat memproses pesan yang diberikan untuk menghasilkan representasi yang lebih pendek yang disebut message digest. ▪ Fungsi hash dapat digunakan untuk berbagai kebutuhan yang berkaitan dengan autentifikasi dan tanda tangan digital. ▪ Fungsi hash haruslah tidak memungkinkan seseorang untuk mengembalikan nilai hash menjadi pesan semula. Hamim
  • 80. Kesimpulan ▪ Secara umum tahapan SHA-256 terdiri dari Preprocessing dan Hash Computation. ▪ Algoritma SHA-256 menghasilkan pesan ringkas dengan panjang 256-bit. ▪ Algoritma SHA-256 termasuk dalam algoritma satu-arah yang cukup kuat dan aman dibanding dengan algoritma-algoritma sebelumnya. ▪ Belum ditemukan collision pada SHA-256. Hamim
  • 82. Referensi ▪ [1] Angga, Christian. 2011. Analisis Cara Kerja Beragam Fungsi Hash yang Ada. Bandung: Institut Teknologi Bandung. ▪ [2] Munir, Rinaldi. 2004. Fungsi Hash Satu-Arah dan Algoritma MD5. Bandung: Institut Teknologi Bandung. ▪ [3] PC Magazine Encyclopedia. Definition of : Message Integrity. Didapat dari : http://www.pcmag.com/encyclopedia/term/46823/message-integrity. Diakses pada : 18 April 2016. ▪ [4] Ferilli, Stefano. 2011. Automatic Digital Document Processing and Management : Problems, Algorithms, and Techniques. London: Springer. ▪ [5] Munir, Rinaldi. 2004. Digital Signature Standard (DSS). Bandung: Institut Teknologi Bandung. ▪ [6] Insani, Agus Yoga. 2008. Proteksi Akses File Executable Menggunakan Sistem Keamanan Teknologi USB Flash Disk. Bandung: Universitas Komputer Indonesia. ▪ [7] Rodriguez-Henriquez, Francisco. 2006. Cryptographic Algorithms on Reconfigurable Hardware. New York: Springer. ▪ [8] Sebastian, Amudi. 2007. Implementasi dan Perbandingan Performa Algoritma Hash SHA-1, SHA-256, dan SHA-512. Bandung: Institut Teknologi Bandung. ▪ [9] Mankar, R.V dan Nipanikar, S. I. 2013. C Implementation of SHA-256 Algorithm. Pune: Pune University. ▪ [10] Anonim. Descriptions of SHA-256, SHA-384, and SHA-512. Didapat dari : http://www.iwar.org.uk/comsec/resources/cipher/sha256-384-512.pdf. Diakses pada 19 April 2016. ▪ [11] Dixon, Thomas. PySHA2. Didapat dari : https://github.com/thomdixon/pysha2. Diakses pada : 19 April 2016. ▪ [12] Lee, Chang-Hsing. Applied Cryptography Chapter 9. Didapat dari : http://people.chu.edu.tw/~chlee/Crypto/Crypto9_1p.pdf. Diakses pada : 19 April 2016.