Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Keamanan Komputer Kriptografi.

Presentasi serupa


Presentasi berjudul: "Keamanan Komputer Kriptografi."— Transcript presentasi:

1 Keamanan Komputer Kriptografi

2 KRIPTOGRAFI Kriptografi adalah suatu ilmu yang mempelajari
Pendahuluan : Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga Hal ini seiring dengan semakin berkembangnya teknologi jaringan komputer dan internet Semakin banyaknya aplikasi yang muncul memanfaatkan teknologi jaringan Beberapa aplikasi tersebut menuntut tingkat aplikasi pengiriman data yang aman

3 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

4 Layanan yang Disediakan Kriptografi
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)

5 Layanan yang Disediakan Kriptografi
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)?”.

6 Layanan yang Disediakan Kriptografi
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

7 Layanan yang Disediakan Kriptografi
Nirpenyangkalan (non-repudiation) Layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.

8 Proses Utama pada Kriptografi :
Enkripsi adalah proses dimana informasi/data yang hendak dikirim diubah menjadi bentuk yang hampir tidak dikenali sebagai informasi awalnya dengan menggunakan algoritma tertentu Dekripsi adalah kebalikan dari enkripsi yaitu mengubah kembali bentuk tersamar tersebut menjadi informasi awal

9 Istilah dalam Kriptografi :
Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi : Plaintext (M) adalah pesan yang hendak dikirimkan (berisi data asli). Ciphertext (C) adalah pesan ter-enkrip (tersandi) yang merupakan hasil enkripsi. Enkripsi (fungsi E) adalah proses pengubahan plaintext menjadi ciphertext. Dekripsi (fungsi D) adalah kebalikan dari enkripsi yakni mengubah ciphertext menjadi plaintext, sehingga berupa data awal/asli. Kunci adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi dan dekripsi.

10 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”

11 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

12 Terminologi Kriptologi (cryptology): studi mengenai kriptografi dan kriptanalisis.    

13 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

14 Sejarah Kriptografi Kriptografi mempunyai sejarah yang panjang.
Tercatat Bangsa Mesir 4000 tahun yang lalu menggunakan hieroglyph yang tidak standard untuk menulis pesan

15 Sejarah Kriptografi Di Yunani, kriptografi sudah digunakan 400 BC
Alat yang digunakan: scytale

16 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

17 Sejarah Kriptografi Kriptografi juga digunakan untuk alasan keagamaan
untuk menjaga tulisan religius 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.

18 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

19 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

20 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 ke-2

21 Enigma

22 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.

23 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 Al-Quran. Teknik yang digunakan Al-Kindi kelak dinamakan analisis frekuensi. Yaitu teknik untuk memecahkan cipherteks berdasarkan frekuensi kemunculan karakter di dalam pesan

24 Prinsip yang mendasari kriptografi yakni:
Confidentiality Integrity Availability Authentication Non-Repudiation Algoritma Kriptografi : Berdasarkan jenis kunci yang digunakan : Algoritma Simetris Algoritma Asimetris Berdasarkan besar data yang diolah : Algoritma Block Cipher Algoritma Stream Cipher

25 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.

26 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”

27 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.

28 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.

29 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.

30 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

31 Cryptography Jenis-jenis serangan:
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

32 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 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

33 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.

34 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

35 Algoritma Kriptografi Klasik

36 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)

37 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

38 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: AWASI ASTERIX DAN TEMANNYA OBELIX Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA

39 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

40 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.

41 1. Cipher Substitusi - Vigènere Cipher

42 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

43 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.

44 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

45 Algoritma Kriptografi Modern

46 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

47 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.

48 Algoritma Enkripsi dengan rangkaian bit
Pesan (dalam bentuk rangkaian bit) dipecah menajdi beberapa blok Contoh: Plainteks Bila dibagi menjadi blok 4-bit   maka setiap blok menyatakan 0 sampai 15:  

49 Algoritma Enkripsi dengan rangkaian bit
Bila plainteks dibagi menjadi blok 3-bit:   maka setiap blok menyatakan 0 sampai 7: 

50 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

51 AES (Advanced Encryption Standard)
ALGORITMA SIMETRI : BLOK CHIPER

52 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).

53 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.

54 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

55 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

56 AES (Advanced Encryption Standard)

57 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)

58 AES (Advanced Encryption Standard)
Contoh: (elemen state dan kunci dalam notasi HEX)

59 RSA ALGORITMA ASIMETRI

60 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.

61 RSA Pembangkitan pasangan kunci Hasil dari algoritma di atas:
Pilih dua bilangan prima, a dan b (rahasia) Hitung n = a b. Besaran n tidak perlu dirahasiakan. Hitung (n) = (a – 1)(b – 1). Pilih sebuah bilangan bulat untuk kunci publik, sebut namanya e, yang relatif prima terhadap (n) . Hitung kunci dekripsi, d, melalui ed  1 (mod m) atau d  e-1 mod ((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

62 RSA Kunci Publik Misalkan a = 47 dan b = 71 (keduanya prima), maka dapat dihitung: n = a  b = 3337 (n) = (a – 1)(b – 1) = 46 x 70 =   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) = => Dengan mencoba nilai-nilai k = 1, 2, 3, …, diperoleh nilai d yang bulat adalah Ini adalah kunci privat (untuk dekripsi).

63 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)

64 RSA Enkripsi setiap blok: c1 = 72679 mod 3337 = 215
c2 = mod 3337 = 776, dst Chiperteks C = Dekripsi (menggunakan kunci privat d = 1019)   m1 = mod 3337 = 726 m2 = mod 3337 = 582 dst untuk sisi blok lainnya Plainteks M = yang dalam ASCII karakternya adalah HARI INI.

65 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 (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).

66 Algoritma MD5 FUNGSI HASH

67 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.

68 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

69 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

70 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 = B = 89ABCDEF C = FEDCBA98 D =

71 MD5 (Algoritma) 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 penyangga MD menjadi keluaran 128-bit, dan ini disebut proses HMD5

72 MD5 (Algoritma) 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

73 MD5 (Algoritma)

74 MD5 (Algoritma)

75 MD5 (Algoritma) Putaran 1 : 16 kali operasi dasar dengan g(b,c,d) = F(b,c,d)

76 MD5 (Algoritma) Putaran 2 : 16 kali operasi dasar dengan g(b,c,d) = G(b,c,d)

77 MD5 (Algoritma) Putaran 3 : 16 kali operasi dasar dengan g(b,c,d) = H(b,c,d)

78 MD5 (Algoritma) Putaran 4 : 16 kali operasi dasar dengan g(b,c,d) = I(b,c,d)

79 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.


Download ppt "Keamanan Komputer Kriptografi."

Presentasi serupa


Iklan oleh Google