Cryptography

Cryptography

University of Indonesia Magister of Information Technology Cryptography Arrianto Mukti Wibowo University of Indonesia – University of Budi Luhur Magister of Information Technology Tujuan • Mempelajari berbagai metode dan teknik penyembunyian data menggunakan kriptografi. University of Indonesia – University of Budi Luhur Magister of Information Technology Topik • Symmetric & asymmetric cryptography, key strength, cryptosystems, public key infrastructure (PKI), one-way function, hash function, key management, cryptographic attacks University of Indonesia – University of Budi Luhur Magister of Information Technology Cryptography Issues (Schneier ‟96) • Kerahasiaan (confidentiality) dijamin dengan melakukan enkripsi (penyandian). • Keutuhan (integrity) atas data-data pembayaran dilakukan dengan fungsi hash satu arah. • Jaminan atas identitas dan keabsahan (authenticity) pihak-pihak yang melakukan transaksi dilakukan dengan menggunakan password atau sertifikat digital. Sedangkan keotentikan data transaksi dapat dilakukan dengan tanda tangan digital. • Transaksi dapat dijadikan barang bukti yang tidak bisa disangkal (non-repudiation) dengan memanfaatkan tanda tangan digital dan sertifikat digital. University of Indonesia – University of Budi Luhur Magister of Information Technology Makna Kriptografi • Krupto + Grafh = secret + writing • Cryptography: ilmu untuk membuat sebuah pesan menjadi aman University of Indonesia – University of Budi Luhur Magister of Information Technology Cryptographic algorithm & key • Cipher: fungsi matematika yang dipergunakan untuk enkripsi & dekripsi. • Key (kunci): Kenapa tidak pakai algoritma rahasia saja? Karena susah untuk membuat yang baru setiap kali akan mengirim pesan! Jadi pakai kunci saja • Analogi: Pernah lihat gembok yang menggunakan kode-kode angka untuk membuka gemboknya? – Cipher / algoritma: hampir semua orang tahu cara membuka/ mengunci gembok: putar saja kode-kode angkanya ke posisi yang tepat – Kuncinya: hanya bisa diputar oleh orang yang tahu urutan kode yang benar! University of Indonesia – University of Budi Luhur Magister of Information Technology Proses Kriptografis Key Key Plaintext Encryption Ciphertext Decryption Plaintext University of Indonesia – University of Budi Luhur Magister of Information Technology Monoalphabetic cipher • Jumlah kombinasi: 26! ( = 26x25x24x…x1 4 x 1026) kemungkinan kunci ABCDEFGHIJKLMNOPQRSTUVWXYZ PBUYMEVHXIJCLDNOGQRTKWZAFS • Jadi kalau plaintext-nya “FASILKOM” maka ciphertextnya adalah “EPRXCJNL” University of Indonesia – University of Budi Luhur Magister of Information Technology Beberapa sejarah kriptografi • Spartan roll • Atbash, kriptografi Ibrani monoalphabetic cipher • Julius Caesar cipher menggeser alphabet • Mesin rotor dipergunakan dalam Perang Saudara di A.S. abad ke-19 • Enigma, perang dunia II • Steganography? Menyembunyikan, bukan menyandikan! University of Indonesia – University of Budi Luhur Magister of Information Technology Symetric Cryptography • Sebuah kunci yang dipakai bersama-sama oleh pengirim pesan dan penerima pesan • Contoh: DES, TripleDES, AES, Blowfish, Rambutan, Twofish, RC4, RC5, RC6, Lucifer, IDEA (dalam PGP) • Ada problem “pendistribusian kunci rahasia”. University of Indonesia – University of Budi Luhur Magister of Information Technology Authentication dgn Symetric Key • Kalo agen 007 ingin ketemu agen 005, tapi mereka belom pernah kenal muka, gimana caranya? M (boss mereka) memberikan mereka password „Golden Gun‟. Tapi kalau mereka menyebutkan password itu di depan umum, nanti bisa terdengar orang lain! • Solusi, dengan „challenge & respons‟. Misalnya 007 mengotentikasi 005: – 007 memilih bilangan random – 007 mengirim bilangan random itu sebagai tantangan kepada 005 – 005 mengenkripsi bilangan random itu dengan kunci „Golden Gun‟ – 005 mengirim ciphertext kepada 007 – 007 mendekripsi ciphertext itu – Jika plaintextnya = bilangan random ybs, maka 007 dapat merasa pasti bahwa 005 itu benar-benar yang asli! 007 Bil random 005 mengenkripsi bil 007 mendekripsi random itu EK(Bil random) ciphertext University of Indonesia – University of Budi Luhur Magister of Information Technology Beberapa “black box” dasar untuk kriptrografi • XOR • Permutasi • Subtitusi University of Indonesia – University of Budi Luhur Magister of Information Technology XOR Input 1 Input 2 Output 0 0 0 0 1 1 1 0 1 1 1 0 Coba kalau dibalik…! University of Indonesia – University of Budi Luhur Magister of Information Technology Subtitution • Jika kita memiliki input k-bit dengan kemungkinan 2k, kita harus menentukan pasangan setiap k-bit tersebut yang lebarnya juga k-bit. 0000 0001 0010 0011 dst… 0101 1011 1000 0100 University of Indonesia – University of Budi Luhur Magister of Information Technology Permutasi • Untuk setiap bit dari input k-bit, tiap bit ditukar posisinya ke tempat lain. Misalnya bit ke-4 dari input menjadi bit ke-5. Lalu bit ke-7 dari input jadi bit ke 2, dst. Bit ke: 0 1 2 3 4 5 6 7 Bit ke: 0 1 2 3 4 5 6 7 • Why permute secara fixed? • Tak terlalu berguna kecuali untuk membuatnya tidak efisien pada software! University of Indonesia – University of Budi Luhur Magister of Information Technology Data Encryption Standard • Diciptakan tahun 1977 oleh National Bureau of Standard, AS. • Menggunakan kunci 56-bit dengan tambahan 8-bit parity untuk kunci ybs. • Termasuk „block cipher‟. Satu blok DES panjangnya 64- bit. • Menggunaan XOR, S-Box, dan P-Box • Memiliki sifat-sifat symetric key: – One-to-one mapping: hal ini diperlukan agar saat proses dekripsi dari ciphertext, hanya ada satu plaintext. – Cipertext dari plaintext harus tidak dapat diduga (random). Perfect secrecy berarti antara ciphertext dan plaintext secara statistik saling lepas. University of Indonesia – University of Budi Luhur Magister of Information Technology Beberapa metode DES • Electronic Code Book • Cipher Block Chaining University of Indonesia – University of Budi Luhur Magister of Information Technology Electronic Code Book Plaintext1 Plaintext2 Plaintext3 DES DES DES key key Encryption key Encryption Encryption Ciphertext1 Ciphertext2 Ciphertext3 University of Indonesia – University of Budi Luhur Magister of Information Technology Cipher Block Chaining Plaintext 1 Plaintext2 Plaintext3 random IV DES key DES DES Encryption key Encryption key Encryption Ciphertext 1 Ciphertext2 Ciphertext3 University of Indonesia – University of Budi Luhur Magister of Information Technology Triple DES • Kalau enkripsi 2 kali dengan kunci yang sama: search space –nya tetap sama, yakni 256. Jadi tidak bertambah secure. • Kalau enkripsi 2 kali dengan kunci yang berbeda bagaimana? Harusnya kalau kuncinya 2 maka panjangnya jadi 112-bit. Jadi faktor kesulitannya bertambah 256 kali. Ternyata Merkle & Hellman menemukan „celah‟ untuk membobol hanya dalam waktu kira-kira 2 kali DES 56 bit. Jadi seolah-oleh DES 57-bit. • Ada beberapa mode Triple DES (112 bit): – Umumnya menggunakan EncryptK1 lalu DecryptK2 lalu EncryptK1 --> EDE2 – Bisa juga EEE2, tapi less secure dari EDE2, karena permutasi akhir (pada blok pertama) dan permutas awal (pada blok berikutnya) akan saling meng-cancel • Kenapa enkripsi 3 kali? Karena belum ada yang menemukan kelemahannya… • Alasan EDE pakai 2 kunci adalah karena dianggap cukup aman dengan kunci 112-bit dan belum ada yang bisa menjebolnya (kecuali dengan brute force). Jadi tidak perlu bikin K3 56x3 bit (meskipun bisa, dan paling aman). University of Indonesia – University of Budi Luhur Magister of Information Technology Advanced Encryption Standard • Diinisiasikan oleh NIST thn 1997 • Syarat: – Tahan terhadap semua jenis serangan yg diketahui – Simpel – Code yang kecil – Cepat • Thn 1999 ada 5 finalis: Twofish (Counterpane), Rijndael (Daemen & Rijmen), RC6 (RSA), Serpent (Anderson, Biham, Knudsen), MARS (IBM Lucifer) • Thn 2000 diumumkan pemenangnya adalah Rijndael • AES bisa menggunakan kunci 128, 192 dan 256 bit • Jika sebuah mesin pemecah DES bisa memecahkan DES dalam waktu 1 detik, maka mesin yang sama perlu 149 trilyun tahun. University of Indonesia – University of Budi Luhur Magister of Information Technology One Time Pad • Meskipun ada yang mengatakan bahwa tidak ada skim enkripsi yang 100% secure, ada yang sebenarnya bisa dibuktikan 100% aman (secara matematis). • Caranya: kuncinya adalah deretan yang random yang tidak pernah berulang. Atau dengan kata lain, kuncinya sepanjang messagenya. • Dengan kata lain, sebuah ciphertext tanpa one-time pad-nya, dapat menghasilkan message (meskipun bukan message asli) apa saja! • Bisa pakai XOR…! • Termasuk jenis „stream cipher‟ University of Indonesia – University of Budi Luhur Magister of Information Technology Public Key Cryptography • Ada 2 kegunaan yang mendasar: – Menandatangani pesan – Mengirim surat rahasia dalam amplop yang tidak bisa dibuka orang lain • Ada sepasang kunci untuk setiap orang (entitas): – kunci publik (didistribusikan kepada khalayak ramai / umum) – kunci privat (disimpan secara rahasia, hanya diketahui diri sendiri) University of Indonesia – University of Budi Luhur Magister of Information Technology Membungkus pesan • Semua orang bisa (Anto, Chandra, Deni) mengirim surat ke “Penerima” (Badu) • Hanya “penerima” yang bisa membuka surat • (pada prakteknya tidak persis spt ini) Pengirim (Anto) Penerima (Badu) Kunci Enkripsi privat Kunci publik Dekripsi Pesan Sandi Pesan University of Indonesia – University of Budi Luhur Magister of Information Technology Menandatangani pesan dgn public-key cryptography • Hanya pemilik kunci privat (penandatangan, Anto) saja yang bisa membuat tanda tangan

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    78 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us