You are on page 1of 30

Tanda Tangan Digital (Digital Signature)

RSA + SHA-1 Dyah Fajar Nur Rohmah Mulyanto Neng Ika Kurniati Rachmat Wahid Saleh Insani Semuel Hendricard Samadara Siti Puspita Hida Sakti MZ Sumiyatun Teotino Gomez Soares Victoria Diana V. Latumeten Vittalis Ayu Yoga Dwitya Pramudita Natalis Ransi

Neng Ika Kurniati

Latar Belakang

Sejak jaman dahulu, tanda tangan sudah digunakan untuk otentikasi dokumen cetak

Tanda tangan mempunyai karakteristik:


- Tanda tangan adalah bukti yang otentik - Tanda tangan tidak dapat dilupakan - Tanda tangan tidak dapat dipindah untuk digunakan ulang - Dokumen yang telah ditandatangani tidak dapat diubah - Tanda tangan tidak dapat disangkal (non repudiation)

Page 2

Fungsi tanda tangan pada dokumen kertas juga diterapkan untuk otentikasi pada data digital (pesan, dokumen elektronik).

Tanda tangan untuk data digital dinamakan tanda tangan digital

(digital signature)
Tanda tangan digital bukanlah tulisan tanda tangan yang di-digitisasi (discan)

Page 3

Tanda tangan digital adalah nilai kriptografis yang bergantung pada isi pesan dan kunci.

Tanda tangan pada dokumen cetak selalu sama, apa pun isi dokumennya.
Tanda tangan digital selalu berbeda-beda antara satu isi dokumen dengan dokumen lain.

Page 4

Aspek Keamanan Kriptografi

Kerahasiaan (confidentiality) : menjaga isi pesan dari siapapun yang


tidak berhak membacanya penyandian

Integritas data (data integrity) : menjamin pesan masih asli atau


belum pernah dimanipulasi selama pengiriman

Otentikasi (authentication) : identifikasi kebenaran pihak-pihak yang


berkomunikasi.

Nir Penyangkalan (non-repudiation) : mencegah entitas yang


berkomunikasi melakukan penyangkalan

Page 5

Contoh

Kepada Yth. Bapak Dekan Di Tempat Dengan hormat. Bersama surat ini saya ingin mengabarkan bahwa nilai skripsi mahasiswa yang bernama Faisal Saleh dengan NIM 13902021 adalah 86,5 atau dalam nilai indeks A. Sidang skripsi sudah dilakukan pada Hari Rabu Tanggal 21 Januari 20 Juli 2005. Atas perhatian Bapak saya ucapkan terima kasih.

25 Juli 2005 Dosen Pembimbing Skripsi

Ir. Ahmad Agus -----BEGIN PGP SIGNATURE----iQA/AwUAQnibsbPbxejK4Bb3EQJXvQCg8zN6UL0xnwBTPR5 FfWNt4uxh3AEAn2NC/G2VTUrLpcSyo2l/S/D/+rUl=pZeh -----END PGP SIGNATURE-----

Page 6

Siti Puspita Hida Sakti MZ

Penandatanganan Pesan

Menandatangani pesan dapat dilakukan dengan 2 cara, yaitu:


1. Enkripsi pesan

Mengenkripsi pesan dengan sendirinya juga menyediakan otentikasi. Pesan yang terenkripsi menyatakan bahwa pesan tersebut telah ditandatangani.
2. Tanda tangan digital dengan fungsi hash Tanda tangan digital dibangkitkan dari hash terhadap pesan. Nilai hash adalah kode ringkas dari pesan. Tanda tangan digital ditambahkan (append) pada pesan.

Page 7

Penandatanganan Kriptografi Menggunakan Kunci Publik dan Fungsi Hash


Penandatanganan pesan dengan cara enkripsi selalu memberikan dua fungsi berbeda: kerahasiaan pesan dan otentikasi pesan

Pada beberapa kasus, seringkali otentikasi yang diperlukan, tetapi kerahasiaan pesan tidak. Maksudnya, pesan tidak perlu dienkripsi, sebab yang dibutuhkan hanya keotentikan pesan saja.
Algoritma kunci publik dan fungsi hash dapat digunakan untuk kasus seperti ini.

Page 8

Skema Penandatangan dan Verifikasi

Page 9

Victoria Diana V. Latumeten

Fungsi Hash

Fungsi hash: fungsi yang menerima masukan string yang panjangnya sembarang dan mengkonversinya menjadi string yang panjangnya tetap (fixed). Umumnya berukuran jauh lebih kecil dari ukuran string semula

kompresi
Jika string menyatakan message, maka sembarang pesan M berukuran sembarang dikompresi oleh fungsi hash H melalui persamaan:

h = H(M)
Keluaran fungsi hash disebut nilai-hash (hash value) atau pesan ringkas (message digest)
Page 10

Fungsi Hash Satu Arah (One-way hash)

Fungsi hash satu arah adalah fungsi hash yang bekerja dalam satu arah. Pesan yang sudah diubah menjadi pesan-ringkas tidak dapat dikembalikan lagi menjadi pesan semula. Contoh fungsi hash satu arah: MD5 dan SHA. MD5 menghasilkan pesan-ringkas berukuran 128 bit. SHA menghasilkan pesan-ringkas berukuran 160 bit.

Page 11

Sifat-sifat fungsi Hash

Fungsi H dapat diterapkan pada blok data berukuran berapa saja. H menghasilkan nilai-hash(h) dengan panjang tetap (fixed-length output). H(x) mudah dihitung untuk setiap nilai x yang diberikan. 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). Untuk setiap x yang diberikan, tidak mungkin mencari y x sedemikian sehingga H(y) = H(x). Tidak mungkin (secara komputasi) mencari pasangan x dan y sedemikian sehingga H(x) = H(y).

Page 12

Sebuah fungsi hash seharusnya berlaku seperti fungsi acak. Sebuah fungsi hash dianggap tidak aman jika:
- Secara komputasi dimungkinkan pesan yang bersesuaian dengan pesanringkasnya. - Terjadi kolisi (collision), yaitu terdapat beberapa pesan yang mempunyai pesan ringkas sama.

- Masukkan fungsi hash adalah blok pesan (M) dan keluaran dari hashing blok pesan sebelumnya.

hi = H(Mi, hi-1)

Page 13

Sumiyatun

Secure Hash Algorithm (SHA)

Ditemukan oleh National Institute of Standard and Technology (NIST) tahun 1993, merupakan pengembangan dari MD5.

Tahun 1995, dikembangkan menjadi SHA-1


Varian SHA: SHA-1, SHA-224, SHA-256, SHA-512. SHA dianggap secure karena dirancang sedemikian rupa sehingga secara komputasi tidak mungkin menemukan pesan yang berkorespondensi dengan message digest yang diberikan.

Page 14

SHA-1

Menerima masukan pesan M, dengan panjang maksimal 264 bit, ukuran blok pesan 512 bit.

Terdapat tiga elemen:


1. Message schedule : terdiri dari word-word (setiap word berukuran 32 bit). Diperoleh dari membagi pesan yang sudah diformat menjadi masing-masing berukuran 32 bit, yang ditulis sebagai W0, W1, ..., W79.

2.
3.

Buffer: terdiri dari lima buah variabel yang setiap variabelnya berukuran 32bit, ditulis sebagai a, b, c, d dan e.
Nilai hash : sebanyak lima buah masing-masing berukuran 32-bit, ditulis sebagai H0(i), H1(i), H2(i), H3(i) dan H4(i)

Page 15

Preprocessing SHA-1

1. Memformat pesan
Pesan harus diformat terlebih dahulu agar dapat dihitung nilai hash-nya.

Pada SHA-1, pesan diformat dengan menambahkan bit agar panjangnya 512-bit.
Misalkan panjang pesan M adalah l, maka tambahkan bit 1 di bagian akhir pesan dan sejumlah k bit nol, k sendiri didapat dari l + 1 + k = 448 (mod 512) dimana k adalah positif terkecil. Pesan kemudian ditambahkan lagi sejumlah 64-bit yang nilainya sama dengan panjang l.

Page 16

Contoh

Pesan abc memiliki panjang 3 x 8-bit = 24 bit. a = 01100001 b = 01100010 c = 01100011 Tambahkan bit 1 pada bagian akhir pesan, diikuti dengan 448 (24 +1) = 423 bit 0. Contoh format pesan
423 64

01100001 01100010 01100011 1 00 ... 00 00 ... 011000

a
Page 17

l=24

Inisialisasi Buffer

SHA membutuhkan 5 buah buffer yang masing-masing panjangnya 32 bit (MD5 hanya mempunyai 4 buah buffer). Total panjang buffer adalah 532 = 160 bit. Buffer ini menampung hasil antara dan hasil akhir. Kelima penyangga diberi nama A, B, C, D, dan E. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi hexadesimal) sebagai berikut: A : 67452301 B : EFCDAB89 C : 98BADCFE D : 10325476 E : C3D2E1F0
Page 18

Vittalis Ayu

Perhitungan Nilai Hash

Pengolahan pesan dalam blok berukuran 512-bit

Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512-bit (Y0 sampai YL-1)
Setiap blok 512-bit diproses bersama dengan buffer menjadi keluaran 128-bit, dan ini disebut proses HSHA Putaran HSHA terdiri dari 80 putaran (MD5 hanya 4 putaran).

Page 19

Masing-masing putaran menggunakan bilangan penambah Kt, yaitu:


- Putaran 0 t 19 Kt = 5A827999

- Putaran 20 t 39
- Putaran 40 t 59 - Putaran 60 t 79

Kt = 6ED9EBA1
Kt = 8F1BBCDC Kt = CA62C1D6

Pada gambar, Yq menyatakan blok 512-bit ke-q dari pesan yang telah ditambah bit-bit padding dan tambahan 64 bit nilai panjang pesan semula. MDq adalah nilai message digest 160-bit dari proses HSHA ke-q. Pada awal proses, MDq berisi nilai inisialisasi buffer MD.

Page 20

Operasi Dasar SHA-1 dalam satu putaran

Setiap putaran menggunakan operasi dasar yang sama. a, b, c, d, e (CLS5(a) + ft(b, c, d) + e + Wt + Kt), a, CLS30(b), c, d
t ft CLS W Kt + putaran 0 t 79 fungsi logika circular left shift sebanyak s bit. word 32-bit yang diturunkan dari blok 512-bit yang sedang diproses. : konstanta penambah : operasi penjumlahan dalam modulo 232. : : : :

Page 21

Fungsi ft adalah fungsi logika yang melakukan operasi logika bitwise. ft (b, c, d) = (b c) (c d) ft (b, c, d) = (b c d) ft (b, c, d) = (b c) (b d) (c d) ft (b, c, d) = (b c d) untuk 0 t 19 untuk 20 t 39 untuk 40 t 59 untuk 60 t 79

Nilai W1 sampai W16 berasal dari 16 word pada blok yang sedang diproses, sedangkan nilai Wt berikutnya diperoleh dari persamaan: Wt=16 Wt-14 Wt-8 Wt-3 Setelah putaran ke-79, a, b, c, d, dan e ditambahkan ke A, B, C, D, dan E, dan selanjutnya algoritma memproses untuk blok data berikutnya (Yq+1).

Keluaran akhir dari algoritma SHA adalah hasil penyambungan bit-bit di A, B, C, D, dan E.
Page 22

Contoh Perhitungan

Misalkan pesan berupa ASCII binary code abc


01100001 01100010 01100011

Panjang pesan l = 24, selanjutnya di-append 1 diikuti 423 0. Selanjutnya di-append dengan panjang message, yaitu 24 (...011000) sepanjang 64-bit
Bagi ke dalam blok-blok word hexadesimal W[0] = 61626380 W[1] = 00000000 W[2] = 00000000 W[3] = 00000000 W[4] = 00000000 W[5] = 00000000
Page 23

W[6] = 00000000 W[7] = 00000000 W[8] = 00000000 W[9] = 00000000 W[10] = 00000000

W[11] = 00000000 W[12] = 00000000 W[13] = 00000000 W[14] = 00000000 W[15] = 00000018

Nilai hex A, B, C, D, E untuk t = 0..79

Page 24

Block 1 setelah diproses

Setelah semua nilai variable sudah ditentukan, selanjutnya kita akan menentukan nilai hash akhir untuk blok ke-1:

H0(1) = A + H0(i-1) = 67452301 + 42541B35 = A9993E36 H1(1) = B + H1(i-1) = EFCDAB89 + 5738D5E1 = 4706816A H2(1) = C + H2(i-1) = 98BADCFE + 21834873 = BA3E2571 H3(1) = D + H3(i-1) = 10325476 + 681E6DF6 = 7850C26C H4(1) = E + H4(i-1) = C3D2E1F0 + D8FDF6AD = 9CD0D89D.
Message digest = A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D

Page 25

Setelah mengulangi langkah sebanyak blok pesan N maka nilai hash akhir digabungkan sehingga dihasilkan nilai sebagai nilai hash akhir sebanyak 160-bit.

Page 26

Dyah Fajar Nur Rohmah

Metode RSA (Ringkasan)

Page 27

Page 28

Enter your title here. It is also possible to have 2 lines of text.


Enter your subtitle here
This is a dummy text. Please ignore the following content as it is dummy text. This is a dummy text. Please ignore the following content as it is dummy text.

This is definitely some dummy text.


The text here is meaningless as it is used to fill this slide. Replace this dummy text with our own text.

This is definitely some dummy text.


The text here is meaningless as it is used to fill this slide. Replace this dummy text with our own text.

Here comes your footer Page 29

Enter your title here


Enter your subtitle here
Enter your title here

This is a dummy text. Please ignore the following content as it is dummy text. This is definitely some dummy text. The text here is meaningless as it is used to fill this slide.
Enter your title here

This is a dummy text. Please ignore the following content as it is dummy text. This is definitely some dummy text. The text here is meaningless as it is used to fill this slide.

Here comes your footer Page 30

You might also like