Diktat Keamanan Komputer

Slides:



Advertisements
Presentasi serupa
KULIAH VI KRIPTOGRAFI Aswin Suharsono KOM Keamanan Jaringan
Advertisements

Algoritma Kriptografi Modern
Advanced Encryption Standard (AES)
Enkripsi dan Kriptografi
Keamanan Komputer Kriptografi -Aurelio Rahmadian-.
Algoritma Kriptografi Klasik
Advanced Encryption Standard (AES)
KRIPTOGRAFI Kriptografi adalah suatu ilmu yang mempelajari
KRIPTOGRAFI Kriptografi adalah suatu ilmu yang mempelajari
Advanced Encryption Standard (AES)
Algoritma Kriptografi Klasik (bagian 5)
Enkripsi dan KEAMANAN JARINGAN
Advanced Encryption Standard (AES)
KRIPTOGRAFI.
Keamanan Komputer Kriptografi (2) -Aurelio Rahmadian-
Serangan Terhadap Kriptografi
Algoritma Kriptografi Modern
Serangan Terhadap Kriptografi
BILANGAN BULAT (lanjutan 1).
KRIPTOGRAFI Dani Suandi, M.Si.
Algoritma dan Struktur Data Lanjut
RSA (Rivest—Shamir—Adleman)
RSA ALGORITMA ASIMETRI Kriptografi – Week 11.
Advanced Encryption Standard (AES)
Super Enkripsi & Algoritma yang sempurna
KEAMANAN SISTEM INFORMASI
DES (Data Encryption Standard)
KRIPTOGRAFI.
Kriptografi dan Steganography
MATA KULIAH SISTEM KEAMANAN PENDAHULUAN
Kriptografi Kunci-Publik
Pengantar TI 2015/2016 KEAMANAN KOMPUTER.
JENIS-JENIS KRIPTOGRAFI (Bagian 2)
Advanced Encryption Standard (AES)
Algoritma Kriptografi Klasik (lanjutan)
Kriptografi, Enkripsi dan Dekripsi
KRIPTOGRAFI.
Advanced Encryption Standard (AES)
Keamanan Informasi Week 3 – Enkripsi Algoritma Simetris.
MATA KULIAH KEAMANAN SISTEM KRIPTOGRAFI
Tipe dan Mode Algoritma Simetri
ALGORITMA CRYPTOGRAPHY MODERN
MESSAGE DIGEST 5 (MD5) PERTEMUAN 8
ALGORITMA RSA PERTEMUAN 6 TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER
Dasar-dasar keamanan Sistem Informasi
Kriptografi, Enkripsi dan Dekripsi
Dasar-dasar keamanan Sistem Informasi
Dasar-dasar keamanan Sistem Informasi
Network Security Essential
Algoritma Kriptografi Modern
Kriptografi, Enkripsi dan Dekripsi
ADVANCE ENCRYPTION STANDARD (AES)
Algoritma Kriptografi Klasik. Pendahuluan Algoritma kriptografi klasik berbasis karakter Menggunakan pena dan kertas saja, belum ada komputer Termasuk.
Enkripsi dan Dekripsi.
Protocol Keamanan Menggunakan Kriptografi (Enkripsi dan Dekripsi)
Pengenalan Kriptografi Modern
Keamanan Komputer (kk)
Algoritma Kriptografi Klasik
PENGAMANAN Sistem Komputer
Contoh algoritma Penggunaan Kriptografi modern
Kriptografi Modern (1) Levy Olivia Nur, MT.
Keamanan Informasi Week 4 – Enkripsi Algoritma asimetris.
Tri rahajoeningroem, MT Jurusan Manajemen Informatika UNIKOM
Kriptografi Levy Olivia Nur, MT.
KRIPTOGRAFI.
Algoritma Kriptografi Klasik
Aspek-Aspek Keamanan.
Serangan Terhadap Kriptografi (Attacks Cryptography)
Pengenalan Kriptografi (Week 1)
Algoritma Kriptografi Klasik. Pendahuluan Algoritma kriptografi klasik berbasis karakter Menggunakan pena dan kertas saja, belum ada komputer Termasuk.
Transcript presentasi:

Diktat Keamanan Komputer Universitas Komputer Indonesia Oleh : Jana Utama, ST.

Pendahuluan

Pentingnya Keamanan Sistem Latar belakang : Keinginan memberikan informasi secara cepat dan akurat melalui media komputer Cara : Menggunakan jaringan komputer global Tantangan : Bagaimana kita dapat mencegah (atau minimalnya mendeteksi) penipuan / kecurangan di sebuah sistem

Tantangan Keamanan Sistem Ketidakpedulian manajemen perusahaan Lebih mementingkan reducing cost Tidak adanya perencanaan awal Kebutuhan budget yang besar secara tiba-tiba Keuntungan tak terlihat Keuntungan yang tidak bisa diukur dengan uang (intangible) Mengurangi kenyamanan Comfort or Secure ?

Tantangan Keamanan Sistem Tangible vs Intangible Apakah keamanan adalah sesuatu yang tidak bisa diukur dengan uang ? Pertimbangkan kerugian yang terjadi jika : Sistem tidak bekerja (down) 1 X 24 Jam ? 7 hari ? Ada kesalahan informasi Informasi dirubah ? Ada data yang hilang Data pelanggan hilang ? Invoice hilang ? Nama baik perusahaan Web dirubah ?

Tantangan Keamanan Sistem Keamanan vs Kenyamanan Grafik Nyaman Aman

Pengelolaan Keamanan Sistem Menggunakan Risk Management System untuk pengelolaan Risk (resiko) 3 komponen yang memberikan kontribusi resiko : 1. Assets (aset) 2. Vulnerabilities (kelemahan) 3. Threats (ancaman)

Pengelolaan Keamanan Sistem 1. Assets (aset) (hardware, software, dokumentasi, data, komunikasi, lingkungan, manusia) 2. Threat (ancaman) (pemakai, teroris, kecelakaan, crackers, penjahat kriminal, nasib, intel luar negeri) 3. Vulnerabilities (kelemahan) (software bugs, hardware bugs, radiasi, tapping, crosstalk, unauthorized users, hardcopy, keteledoran, cracker via telepon, storage media)

Pengelolaan Keamanan Sistem Usaha penanggulangan resiko (countermeasures) yang dapat dilakukan : Mengurangi Ancaman (threat) Mengurangi Kelemahan (vulnerabilities) Mengurangi Dampak (impact) Mendeteksi Kejadian (hostile event) Proses pemulihan (recover)

Penyebab peningkatan masalah keamanan Sistem Kurva Masalah Keamanan Tahun

Penyebab peningkatan masalah keamanan Sistem Aplikasi  bisnis  berbasis  TI  dan  jaringan  komputer meningkat : online banking, e-commerce, Electronic data Interchange  (EDI).   Desentralisasi  server.   Transisi  dari  single  vendor  ke  multi  vendor.   Meningkatnya  kemampuan  pemakai  (user).   Kesulitan  penegak  hokum  dan  belum  adanya  ketentuan  yang  pasti.   Semakin  kompleksnya  system  yang  digunakan,  semakin  besarnya source code  program  yang  digunakan.   Berhubungan  dengan  internet.  

Klasifikasi Keamanan Keamanan  yang  bersifat  fisik  (physical  security):  termasuk akses orang ke gedung,  peralatan,  dan  media  yang  digunakan.  Contoh  :   Wiretapping (penyadapan) atau hal-hal yang berhubungan dengan akses ke kabel atau komputer yang digunakan juga dapat dimasukkan ke dalam kelas ini. Denial of service, dilakukan misalnya dengan mematikan peralatan atau membanjiri saluran komunikasi dengan pesan-pesan (yang dapat berisi apa saja karena yang diutamakan adalah banyaknya jumlah pesan).    Syn Flood Attack, dimana sistem (host) yang dituju dibanjiri oleh permintaan sehingga dia menjadi terlalu sibuk dan bahkan dapat berakibat macetnya sistem (hang).   Keamanan  yang  berhubungan  dengan  orang  (personel),  Contoh  :   Identifikasi  user  (username  dan  password)   Profil  resiko  dari  orang  yang  mempunyai  akses  (pemakai  dan  pengelola).    Keamanan  dari  data  dan  media  serta  teknik  komunikasi  (communications). Keamanan  dalam  operasi:  Adanya prosedur yang digunakan untuk mengatur dan mengelola sistem keamanan, dan juga termasuk prosedur setelah serangan (post  attack  recovery).  

Karakteristik Penyusup

Istilah Bagi Penyusup

Aspek-Aspek Keamanan

Aspek-Aspek Keamanan 6 Aspek Keamanan Komputer : Privacy / Confidentiality Integrity Authentication Availability Access Control Non-repudiation

Aspek-Aspek Keamanan Privacy / Confidentiality Usaha untuk menjaga informasi dari orang yang tidak berhak mengakses Contoh ancaman : (Privacy) Email anggota tidak boleh dibaca oleh administrator server (Confidentiality) Data pelanggan sebuah ISP dijaga kerahasiaannya Solusi : - Kriptografi (enkripsi dan dekripsi)

Aspek-Aspek Keamanan 2. Integrity Informasi tidak boleh diubah tanpa seijin pemilik informasi. Contoh ancaman : Trojan, virus, man in the middle attack Pengubahan isi email Solusi : Enkripsi Digital Signature

Aspek-Aspek Keamanan 3. Authentication Metoda untuk menyatakan bahwa informasi betul-betul asli. Contoh ancaman : Dokumen palsu, pengguna palsu Solusi : Watermarking, digital signature Access Control (What you have/know/are ?) Digital certificate

Aspek-Aspek Keamanan 4. Availibility Ketersediaan informasi ketika dibutuhkan. Contoh ancaman : “denial of service attack” (DoS attack), dimana server dikirimi permintaan (biasanya palsu) yang bertubi-tubi atau permintaan yang diluar perkiraan sehingga tidak dapat melayani permintaan lain atau bahkan sampai down, hang, crash.    mailbomb, dimana seorang pemakai dikirimi e-mail bertubi-tubi (katakan ribuan  e-mail) dengan ukuran yang besar sehingga sang pemakai tidak dapat membuka e-mailnya atau kesulitan mengakses e-mailnya.   Solusi : Spam blocker Connection limit

Aspek-Aspek Keamanan 5. Access Control Cara pengaturan akses kepada informasi Contoh ancaman : Pengubahan data anggota oleh orang yang tidak berhak Solusi : Membagi user dengan tingkatan (guest, operator, admin)

Aspek-Aspek Keamanan 6. Non-repudiation Menjaga agar seseorang tidak dapat menyangkal telah melakukan sebuah transaksi. Contoh ancaman : Penyangkalan pesanan melalui email Solusi : - Digital signature, certificate dan kriptografi

Serangan terhadap Keamanan Interruption: Perangkat sistem menjadi rusak atau tidak tersedia. Serangan ditujukan kepada ketersediaan (availability) dari sistem. Contoh serangan adalah  “denial  of  service  attack”.   Interception: Pihak yang tidak berwenang berhasil mengakses asset atau informasi. Contoh dari serangan ini adalah penyadapan (wiretapping).   Modification: Pihak yang tidak berwenang tidak saja berhasil mengakses, akan tetapi dapat juga mengubah (tamper) aset. Contoh dari serangan ini antara lain adalah mengubah isi dari website dengan pesan-pesan yang merugikan pemilik website.   Fabrication: Pihak yang tidak berwenang menyisipkan objek palsu ke dalam sistem. Contoh dari serangan jenis ini adalah memasukkan pesan‐pesan palsu seperti  e-mail palsu ke  dalam  jaringan  komputer.  

Tugas Anda sekarang (kerjakan 2orang) Carilah sebuah Sistem yang tersambung dengan jaringan internet, kemudian lakukan analisa mengenai 2 hal berikut : Implementasi Aspek-aspek Keamanan pada sistem tersebut Kemungkinan Serangan Terhadap Keamanan Sistem tersebut

Memahami Hacker Bekerja

Secara umum melalui tahapan-tahapan sebagai berikut : 1.Tahap mencari tahu system komputer sasaran.   2.Tahap  penyusupan   3.Tahap  penjelajahan   4.Tahap  keluar  dan  menghilangkan  jejak.  

Prinsip Dasar Perancangan Sistem Yang Aman 1. Mencegah  hilangnya  data   2. Mencegah  masuknya  penyusup  

Lapisan Keamanan 1. Lapisan Fisik 2. Keamanan lokal 3. Keamanan Root 4.  Keamanan  File  dan  system  file   5.  Keamanan  Password  dan  Enkripsi   6.  Keamanan  Kernel   7.  Keamanan  Jaringan   

Lapisan Fisik Membatasi akses fisik ke mesin : Back-up data : Akses  masuk  ke  ruangan  komputer   penguncian  komputer  secara  hardware   keamanan  BIOS   keamanan  Bootloader   Back-up  data  :   pemilihan  piranti  back-up   penjadwalan  back-up   Mendeteksi  gangguan  fisik  :   log  file  : Log pendek atau tidak lengkap, Log yang berisikan waktu yang aneh, Log dengan permisi atau kepemilikan yang tidak tepat, Catatan pelayanan reboot atau restart, Log yang hilang, masukan su  atau  login   Mengontrol  akses  sumber  daya.  

Keamanan lokal Berkaitan dengan user dan hak-haknya : Beri mereka fasilitas minimal yang diperlukan.    Hati-hati terhadap saat/dari mana mereka login, atau tempat seharusnya mereka login.    Pastikan dan hapus rekening mereka ketika mereka  tidak  lagi  membutuhkan akses.   

Keamanan  Root   Ketika melakukan perintah yang kompleks, cobalah dalam cara yang tidak merusak dulu, terutama perintah yang menggunakan globbing: contoh, anda ingin melakukan "rm  foo*.bak", pertama coba dulu: "ls  foo*.bak" dan pastikan anda ingin menghapus file-file yang anda  pikirkan.    Beberapa orang merasa terbantu ketika melakukan "touch  /‐i" pada sistem mereka. Hal ini akan membuat perintah‐perintah seperti :  "rm ‐fr  *" menanyakan apakah anda benar‐benar ingin menghapus seluruh file. (Shell anda menguraikan "‐i"  dulu, dan memberlakukannya sebagai option ‐i ke rm).    Hanya menjadi root ketika melakukan tugas tunggal tertentu. Jika  anda berusaha mengetahui bagaimana melakukan sesuatu, kembali ke  shell pemakai normal hingga anda yakin apa yang perlu dilakukan oleh root.

Keamanan  Root Jalur perintah untuk pemakai root sangat penting. Jalur perintah, atau variabel lingkungan PATH mendefinisikan lokal yang dicari shell untuk program. Cobalah dan batasi jalur perintah bagi pemakai root sedapat mungkin, dan jangan pernah menggunakan '.', yang berarti 'direktori  saat ini', dalam pernyataan PATH anda. Jangan pernah menggunakan seperangkat utilitas rlogin/rsh/rexec (disebut utilitas r) sebagai root. Mereka menjadi sasaran banyak serangan, dan sangat berbahaya bila dijalankan sebagai root. Jangan membuat file.rhosts untuk root. File/etc/securetty berisikan daftar terminal-terminal tempat root dapat login. Secara baku (pada RedHat Linux) diset hanya pada konsol virtual lokal (vty). Berhati‐hatilah saat menambahkan yang lain ke file ini. Selalu perlahan dan berhati-hati ketika menjadi root. Tindakan anda dapat mempengaruhi banyak hal. Pikir sebelum anda mengetik!      

Dasar-dasar Keamanan Sistem Oleh: Jana Utama, ST

Dasar-dasar Keamanan Sistem Pendahuluan - Masalah Pengamanan Sistem - Cara Pengamanan Sistem Steganografi Kriptografi Enkripsi - Restricted - Key - Hash

Masalah pengamanan sistem Security :  Pengamanan data Intelligence :  Pencarian (pencurian,penyadapan) data S E C U R I T Y DATA INTELLIGENCE

Cara pengamanan data (security) 1. Steganography / steganografi Pengamanan dengan cara membuat seolah-olah pesan rahasia tidak ada atau tidak nampak 2. Cryptography / kriptografi Pengamanan dengan cara pengacakan pesan, sehingga pesan tetap nampak tapi sulit dikenali Pak Edi Santoso Anaknya Nikah ANPES

Steganografi DAFTAR BELANJAAN Ikan teri 2 kilogram Lada 2 botol Oncom 2 kilogram Vanili 2 bungkus Emping 2 kilogram Udang 2 kilogram

Steganografi (2) Tugas : (Diskusikan berdua, tulis di selembar kertas, buatlah dengan kreativitas Anda) Anda diminta membuat sebuah pesan rahasia menggunakan teknik pengamanan Steganografi. Isi pesan rahasia Anda : - bebas - maksimal 15 karakter

ABCDE  DEABC ABCDE  ZYXWV Metode Kriptografi Dapat dilakukan dengan 2 cara Transposisi Pengubahan posisi pesan Substitusi Pengubahan dengan huruf lain ABCDE  DEABC ABCDE  ZYXWV

Kriptografi Kriptografi : Ilmu / seni untuk menjaga pesan agar aman Chiper : persamaan matematik yang digunakan untuk proses enkripsi dan dekripsi Decryption / dechiper CHIPER Plaintext Chipertext Encryption / enchiper

Enkripsi 1. Restricted Algorithm Contoh : Caesar Chiper, ROT13 2. Penggunaan Kunci Contoh : DES 3. Hash Function Contoh : MD5, SHA

Restricted Algorithm a b c d e f g h i ... D E F G H I J K L … A B C D Kerahasiaan Algoritma sangat penting. 1. Caesar Chiper (3) 2. ROT13 a b c d e f g h i ... D E F G H I J K L … A B C D E F G H I … N O P Q R S T U V

Restricted Algorithm (2) Buatlah Chipertext dari Dengan menggunakan Caesar Chiper (3) ROT13 sekuritas komputer

Restricted Algorithm (3) Pengembangan Restricted Algorithm : Polyalphabetic Cipher (c0 : Enigma) Multiple-letter encryption (co: Playfair)

Penggunaan Kunci Kunci Privat Kunci Publik Kerahasiaan algoritma tidak lagi penting (bahkan dipubilkasikan dan diketahui umum), karena letak keamanan bergantung pada kunci yang digunakan. Kunci Privat Kunci Publik Decryption / dechiper CHIPER Encryption / enchiper Plaintext Chipertext

Penggunaan Kunci (2) 1. Kunci Privat Simetric (Kunci enkripsi = kunci dekripsi) Masalah : Kesulitan distribusi kunci Peningkatan jumlah kunci secara eksponential Algoritma yang digunakan : DES (Data Encryption Standard) Memiliki kunci 56bit, berarti kemungkinan kombinasi kunci : 256 kemungkinan.

Penggunaan Kunci (3) 2. Kunci Publik Asymetric (Kunci enkripsi != kunci dekripsi) Setiap orang memiliki 2 kunci : 1 kunci publik di publikasikan 1 kunci private disimpan Algoritma yang digunakan : RSA, ECC

Hash Function Hash merupakan fungsi yang bersifat satu arah Contoh : MD5, SHA HASH FUNCTION plaintext fingerprint One way / non reversible

TUGAS Buat sebuah artikel mengenai salah satu algoritma yang kita sudah diskusikan di atas ! Contoh : MD5 atau RSA atau yang lain. Dikumpulkan minggu depan !

Kriptografi Oleh: Jana Utama, ST

KRIPTOGRAFI 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

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

Blok Diagram Chiphertexts Plaintexts Plaintexts

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.

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

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 (2) 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 (2) 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 jenis kunci yang digunakan (2) 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 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.

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)

Enigma Cipher (1) Enigma adalah mesin yang digunakan Jerman selama Perang Dunia II untuk mengenkripsi/dekripsi pesan-pesan militer. Enigma menggunakan sistem rotor (mesin berbentuk roda yang berputar) untuk membentuk huruf cipherteks yang berubah-ubah. Setelah setiap huruf dienkripsi, rotor kembali berputar untuk membentuk huruf cipherteks baru untuk huruf plainteks berikutnya.

Mesin Enigma

Bagian Rotor Mesin Enigma

Enigma Cipher (2) Enigma menggunakan 4 buah rotor untuk melakukan substitusi. Ini berarti terdapat 26  26  26  26 = 456.976 kemungkinan huruf cipherteks sebagai pengganti huruf plainteks sebelum terjadi perulangan urutan cipherteks. Setiap kali sebuah huruf selesai disubstitusi, rotor pertama bergeser satu huruf ke atas. Setiap kali rotor pertama selesai bergeser 26 kali, rotor kedua juga melakukan hal yang sama, demikian untuk rotor ke-3 dan ke-4.

(a) Kondisi rotor pada penekanan huruf B (b) Posisi rotor stelah penekanan huruf B

Penjelasan Mesin Enigma Posisi awal keempat rotor dapat di-set; dan posisi awal ini menyatakan kunci dari Enigma. Jerman meyakini bahwa cipherteks yang dihasilkan Enigma tidak mungkin dipecahkan. Namun, sejarah membuktikan bahwa pihak Sekutu berhasil juga memecahkan kode Enigma. Keberhasilan memecahkan Enigma dianggap sebagai faktor yang memperpendek Perang Dunia II menjadi hanya 2 tahun.

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: AWASI ASTERIX DAN TEMANNYA OBELIX Cipherteks: 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 Plaintexts Kunci

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 H=8 dan o=15 (8+15)%26=23  V 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 UNIVERSITAS KOMPUTER INDONESIA  (Pada contoh ini, 28 / 4 = 7) Enkripsi:   UNIVERS ITASKOM PUTERIN DONESIA   Cipherteks: (baca secara vertikal)   UPIDNTUOIATNVSEEEKRSROIISMNA UPID NTUO IATN VSEE EKRS ROII SMNA

CONTOH LAIN

TUGAS BUATLAH SEBUAH CHIPERTEXTS DARI SEBUAH PLAINTEXTS “ SAYA PASTI BISA JADI YANG TERBAIK” Menggunakan : >>Cipher Substitusi - Caesar Cipher >>Cipher Substitusi - Vigènere Cipher >>Cipher Transposisi

Algoritama Klasik (Affine Cipher)

Affine Cipher Perluasan dari Caesar cipher Enkripsi: C  mP + b (mod n) Dekripsi: P  m–1 (C – b) (mod n) Kunci: m dan b Keterangan: n adalah ukuran alfabet m bilangan bulat yang relatif prima dengan n b adalah jumlah pergeseran Caesar cipher adalah khusus dari affine cipher dengan m = 1 m–1 adalah inversi m (mod n), yaitu m  m–1  1 (mod n)

Contoh : Plainteks: KRIPTO (10 17 8 15 19 14) n = 26, ambil m = 7 (7 relatif prima dengan 26) Enkripsi: C  7P + 10 (mod 26) p1 = 10  c1  7  10 + 10  80  2 (mod 26) (huruf ‘C’) p2 = 17  c2  7  17 + 10  129  25 (mod 26) (huruf ‘Z’) p3 = 8  c3  7  8 + 10  66  14 (mod 26) (huruf ‘O’) p4 = 15  c4  7  15 + 10  115  11 (mod 26) (huruf ‘L’) p5 = 19  c1  7  19 + 10  143  13 (mod 26) (huruf ‘N’) p6 = 14  c1  7  14 + 10  108  4 (mod 26) (huruf ‘E’) Cipherteks: CZOLNE

Contoh (2): Dekripsi: - Mula-mula hitung m -1 yaitu 7–1 (mod 26) dengan memecahkan 7x  1 (mod 26) Solusinya: x  15 (mod 26) sebab 7  15 = 105  1 (mod 26). - Jadi, P  15 (C – 10) (mod 26) c1 = 2  p1  15  (2 – 10) = –120  10 (mod 26) (huruf ‘K’) c2 = 25  p2  15  (25 – 10) = 225  17 (mod 26) (huruf ‘R’) c3 = 14  p3  15  (14 – 10) = 60  8 (mod 26) (huruf ‘I’) c4 = 11  p4  15  (11 – 10) = 15  15 (mod 26) (huruf ‘P’) c5 = 13  p5  15  (13 – 10) = 45  19 (mod 26) (huruf ‘T’) c6 = 4  p6  15  (4 – 10) = –90  14 (mod 26) (huruf ‘O’) Plainteks yang diungkap kembali: KRIPTO

Kesimpulan Affine cipher tidak aman, karena kunci mudah ditemukan dengan exhaustive search, sebab ada 25 pilihan untuk b dan 12 buah nilai m yang relatif prima dengan 26 (yaitu 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, dan 25).

Solusi (1) Salah satu cara memperbesar faktor kerja untuk exhaustive key search: enkripsi tidak dilakukan terhadap huruf individual, tetapi dalam blok huruf. Misal, pesan KRIPTOGRAFI dipecah menjadi kelompok 4-huruf: KRIP TOGR AFI (ekivalen dengan 10170815 19140617 000508, dengan memisalkan ‘A’ = 0, ‘B’ = 1, …, ‘Z’ = 25)

Solusi (2) Nilai terbesar yang dapat muncul untuk merepresentasikan blok: 25252525 (ZZZZ), maka 25252525 dapat digunakan sebagai modulus n. Nilai m yang relatif prima dengan 25252525, misalnya 21035433, b dipilih antara 1 dan 25252525, misalnya 23210025. Fungsi enkripsi menjadi: C  21035433P + 23210025 (mod 25252525) Fungsi dekripsi, setelah dihitung, menjadi P  5174971 (C – 23210025) (mod 25252525)

Pembuktian Affine cipher mudah diserang dengan known-plaintext attack. Misalkan kriptanalis mempunyai dua buah plainteks, P1 dan P2, yang berkoresponden dengan cipherteks C1 dan C2, maka m dan b mudah dihitung dari buah kekongruenan simultan berikut ini: C1  mP1 + b (mod n) C2  mP2 + b (mod n)

Contoh Pembuktian Contoh: Misalkan kriptanalis menemukan cipherteks C dan plainteks berkorepsonden K cipherteks E dan plainteks berkoresponden O. Kriptanalis m dan n dari kekongruenan berikut: 2  10m + b (mod 26) (i) 4  14m + b (mod 26) (ii)   Kurangkan (ii) dengan (i), menghasilkan 2  4m (mod 26) (iii) Solusi: m = 7 Substitusi m = 7 ke dalam (i), 2  70 + b (mod 26) (iv)   Solusi: b = 10.

Algoritma Hill Cipher

Enkripsi Hill Cipher Hill cipher - Dikembangkan oleh Lester Hill (1929) - Menggunakan m buah persamaan linier - Untuk m = 3 (enkripsi setiap 3 huruf), C1 = (k11 p1 + k12p2 + k13 p3) mod 26 C2 = (k21 p1 + k22p2 + k23 p3) mod 26 C3 = (k31 p1 + k32p2 + k33 p3) mod 26 atau: atau C = KP

Dekripsi Hill Cipher Dekripsi perlu menghitung K-1 sedemikian sehingga KK-1 = I (I matriks identitas). Contoh: K = Plainteks: PAYMOREMONEY Enkripsi tiga huruf pertama: PAY = (15, 0, 24) Cipherteks: C = = LNS Cipherteks selengkapnya: LNSHDLEWMTRW

Dekripsi Hill Cipher (2) sebab

Dekripsi Hill Cipher (3) P = K-1 C Cipherteks: LNS atau C = (11, 13, 18) Plainteks: C = (15, 0, 24) = (P, A, Y)

Kesimpulan Kekuatan Hill cipher terletak pada penyembunyian frekuensi huruf tunggal Huruf plainteks yang sama belum tentu dienkripsi menjadi huruf cipherteks yang sama.

Pembuktian Hill cipher mudah dipecahkan dengan known-plaintext attack. Misalkan untuk Hill cipher dengan m = 2 diketahui: P = (5, 17) dan C = (15, 16) P = (8, 3) dan C = (2, 5) Jadi, K(5, 17) = (15, 16) dan K(8, 3) = (10, 20) Inversi dari X adalah Sehingga

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 menjadi 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 (2) Bila plainteks dibagi menjadi blok 3-bit:   100 111 010 110 maka setiap blok menyatakan 0 sampai 7:  4 7 2 6

Algoritma Enkripsi dengan rangkaian bit (3) Padding bits: bit-bit tambahan jika ukuran blok terakhir tidak mencukupi panjang blok Contoh: Plainteks 100111010110 Bila dibagi menjadi blok 5-bit: 10011 10101 00010 Padding bits mengakibatkan ukuran plainteks hasil dekripsi lebih besar daripada ukuran plainteks semula.

Representasi dalam Heksadesimal Pada beberapa algoritma kriptografi, pesan dinyatakan dalam kode Hex: 0000 = 0 0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0011 = 6 0111 = 7 1000 = 8 1001 = 9 1010 = A 1011 = B 1100 = C 1101 = D 1110 = E 1111 = F Contoh: plainteks 100111010110 dibagi menjadi blok 4-bit:   1001 1101 0110 dalam notasi HEX adalah 9 D 6

Operasi XOR Notasi:  Operasi: 0  0 = 0 0  1 = 1 0  0 = 0 0  1 = 1 1  0 = 1 1  1 = 0 Operasi XOR = penjumlahan modulo 2: 0  0 = 0  0 + 0 (mod 2) = 0 0  1 = 1  0 + 1 (mod 2) = 1 1  0 = 1  1 + 0 (mod 2) = 1 1  1 = 1  1 + 1 (mod 2) = 0

HUKUM OPERATOR XOR Hukum-hukum yang terkait dengan operator XOR:   (i) a  a = 0 (ii) a  b = b  a (iii) a  (b  c) = (a  b)  c

Operasi XOR Bitwise

Algoritma Enkripsi dengan XOR Enkripsi: C = P  K Dekripsi: P = C  K

KESIMPULAN Algoritma enkripsi XOR sederhana pada prinsipnya sama seperti Vigenere cipher dengan penggunaan kunci yang berulang secara periodik. Setiap bit plainteks di-XOR-kan dengan setiap bit kunci. Program komersil yang berbasis DOS atau Macintosh menggunakan algoritma XOR sederhana ini. Sayangnya, algoritma XOR sederhana tidak aman karena cipherteksnya mudah dipecahkan.

Contoh algoritma Penggunaan Kriptografi modern DES = Data Encryption Standard, adalah standar enkripsi standar. algoritma dikembangkan di IBM di bawah kepemimpinan W.L Tuchman (1972). AES = Advanced Encyption Standard, menggunakan algoritma kriptografi simetri berbasis chiper blok

Contoh Penggunaan Kriptografi modern RSA dibuat oleh 3 orang peneliti dari MIT pada tahun 1976 yaitu : Ron (R)ivest, Adi (S)hamir, Leonard (A)dleman Kriptografi dalam kehidupan sehari-hari: >>Smart Card >>ATM >>Cell-Phone

Serangan terhadap Kriptografi PENDAHULUAN Keseluruhan point dari kriptografi adalah menjaga kerahasiaan plainteks atau kunci (atau keduanya) dari penyadap (eavesdropper) atau kriptanalis (cryptanalyst). Kriptanalis berusaha memecahkan cipherteks dengan suatu serangan terhadap sistem kriptografi.

Serangan (attack) Serangan: setiap usaha (attempt) atau percobaan yang dilakukan oleh kriptanalis untuk menemukan kunci atau menemukan plainteks dari cipherteksnya. Asumsi: kriptanalis mengetahui algoritma kriptografi yang digunakan Prinsip Kerckhoff: Semua algoritma kriptografi harus publik; hanya kunci yang rahasia. Satu-satunya keamanan terletak pada kunci!

Jenis-jenis Serangan 1. Serangan pasif (passive attack) Berdasarkan keterlibatan penyerang dalam komunikasi 1. Serangan pasif (passive attack) - penyerang tidak terlibat dalam komunikasi antara pengirim dan penerima - penyerang hanya melakukan penyadapan untuk memperoleh data atau informasi sebanyak-banyaknya

Serangan Pasif …hyTRedcyld[pu6tjkbbjudplkjsdoye6hnw… Alice Bob Eve

Jenis-jenis Serangan (2) 2. Serangan Active (active attack) - penyerang mengintervensi komunikasi dan ikut mempengaruhi sistem untuk keuntungan dirinya - penyerang mengubah aliran pesan seperti: menghapus sebagian cipherteks, mengubah cipherteks, menyisipkan potongan cipherteks palsu, me-replay pesan lama, mengubah informasi yang tersimpan, dsb

Serangan Aktif Man-in-the-middle-attack - Serangan aktif yang berbahaya

Serangan Aktif (2)

Jenis-jenis Serangan Berdasarkan teknik yang digunakan untuk menemukan kunci: 1. Exhaustive attack /brute force attack Mengungkap plainteks/kunci dengan mencoba semua kemungkinan kunci. Pasti berhasil menemukan kunci jika tersedia waktu yang cukup

Solusi Solusi: Kriptografer harus membuat kunci yang panjang dan tidak mudah ditebak.

Jenis-jenis Serangan 2. Analytical attack Menganalisis kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang tidak mungkin ada. Caranya: memecahkan persamaan-persamaan matematika (yang diperoleh dari definisi suatu algoritma kriptografi) yang mengandung peubah-peubah yang merepresentasikan plainteks atau kunci.

Solusi (2) Metode analytical attack biasanya lebih cepat menemukan kunci dibandingkan dengan exhaustive attack. Solusi: kriptografer harus membuat algoritma kriptografi yang kompleks

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 ini menggunakan Algoritma AES, RSA dan MD5

TUGAS KELOMPOK (4 ORANG) BUATLAH REPRESENTASI DARI JENIS-JENIS ALGORITMA YANG ADA. (cara membuat enkripsi, masalah & solusinya) Algoritma Simetri >>Blok Chiper : AES Algoritma Asimetri : RSA Fungsi Hash : MD5 (MINGGU DEPAN AKAN PRESENTASIKAN OLEH MASING-MASING KELOMPOK) OK!!!

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

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)

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

RSA Kunci Publik Misalkan p = 7 dan q = 11 (keduanya prima), maka dapat dihitung: n = p q = 77 (n) = (p – 1)(q – 1) = 6 x 10 = 60.   Pilih kunci publik e = 17 (yang relatif prima dengan 60 karena pembagi bersama terbesarnya adalah 1). Hapus p dan q, sehingga kunci publiknya adalah n=77 dan e=17 Kunci Privat Selanjutnya akan dihitung kunci privat d dengan kekongruenan: d=eˉ¹(mod (n))   e  d = 1 (mod 60) ==> d= 1+(k x 60) / 17 Dengan mencoba nilai-nilai k = 1, 2, 3, …, diperoleh nilai d yang bulat adalah 53. Ini adalah kunci privat (untuk dekripsi).

RSA Misalkan plainteks M = “ P E S A N “   atau dalam tabel koresponden m : 16 5 19 1 14   (dengan A=1, B=2,…Z=26) Pecah M menjadi:   m1 = 16 m4 = 1 m2 = 5 m5 = 14 m3 = 19 (Perhatikan, mi masih terletak di dalam antara 0 sampai n – 1) krn n= 77 artinya masih terletak antara 0-76.

RSA Enkripsi setiap blok:  

RSA Dekripsi setiap blok:

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 = p  q. Sekali n berhasil difaktorkan menjadi p dan q, maka (n) = (p – 1)(q – 1) dapat dihitung. Selanjutnya, karena kunci enkripsi e diumumkan (tidak rahasia), maka kunci dekripsi d dapat dihitung dari persamaan e x d  1 (mod (n) ). Penemu algoritma RSA menyarankan nilai p dan q panjangnya lebih dari 100 digit. Dengan demikian hasil kali n = p x q 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 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

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

MD5 (Algoritma)

MD5 (Algoritma)

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

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

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

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

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.