1 kriptografi new

Upload: isaac-jenkins

Post on 14-Oct-2015

42 views

Category:

Documents


7 download

TRANSCRIPT

  • MateriKriptografiHash, Tandatangan Digital, OtentifikasiWatermarking + Kriptografi di Kehidupan Sehari-hariPraktekPresentasi**

  • Proteksi dan Keamanan Sistem Informasi

  • Layanan KeamananKerahasiaan (Confidentiality)Keaslian (Authentication)Integritas (Integrity)Tanpa-penolakan (Non-repudiation)Ketersediaan (Avalaibility)Kendali akses (Access control)

    **

  • KriptografiMemberikan layanan keamanan untuk menjaga kerahasiaan informasiAda 2 model:Simetris (Klasik/Konvensional)Menggunakan kunci yang sama untuk mengenkrip atau mendekripAsimetris (Kunci Publik)Menggunakan kunci yang berbeda untuk mengenkrip atau mendekrip**

  • Proteksi dan Keamanan m-Bisnis

  • Model Enkripsi KonvensionalModel sederhana enkripsi konvensional

    Keamananan model ini tergantung pada :Algoritma enkripsi / dekripsiKunci rahasia

  • Model Enkripsi Konvensional (2)Model Kriptosistem Konvensional

  • Model Enkripsi Konvensional (3)Komponen :Plaintext :X = [X1, X2, , XM]Kunci rahasia :K = [K1, K2, , KM]Ciphertext :Y = [Y1, Y2, , YM]

    Proses enkripsi :

    Y = EK(X)

    Proses dekripsi :

    X = EK(Y)

  • Teknik Enkripsi KlasikSteganographyCaesar CipherMonoalphabetic CiphersMultiple-Letter EncryptionPolyalphabetic CiphersTeknik Transposisi

  • SteganographyPrinsip :Menyembunyikan pesan diantara teks lain.

    Teknik yang ada :Character markingInvisible inkPin puncturesTypewritter correction ribbon

  • Contoh :Puisi putus asa

    Teman baikku semua Sepi sakit pusingSenja kian semu Raut wajah hilang termangu

    Kawan baikmu

  • Contoh :Puisi putus asa

    Teman baikku semua Sepi sakit pusingSenja kian semu Raut wajah hilang termangu

    Kawan baikmu

  • Caesar CipherPrinsip dasar : Substitusi dengan huruf ketiga sesudahnya.

    Enkripsi : C = E(p) = (p + 3) mod 26

    Dekripsi : P = D(c) = (c - 3) mod 26

  • PlayfairMenggunakan matriks ukuran 5 x 5Matriks dibentuk dari huruf kata kunci (dikurangi duplikasi) dari kiri ke kanan dan dari atas ke bawah dan kemudian mengisi sisa yang masih kosong dengan sisa huruf alfabet secara berurutanHuruf I dan J dihitung sebagai satu huruf

  • Playfair (2)Contoh :Kata kunci : monarchy

    MONARCHYBDEFGI/JKLPQSTUVWXZ

  • Playfair (3)Aturan enkripsi :Plaintext dienkripsi tiap dua hurufHuruf plaintext yang berulang dipisahkan dengan huruf pengganti, misalnya X, sehingga kata balloon akan menjadi ba lx lo onHuruf plaintext yang berada dalam satu baris diganti dengan huruf sebelah kanannya. Sebagai contohnya adalah ar akan dienkripsi RMHuruf plaintext yang berada dalam satu kolom diganti dengan huruf di bawahnya. Sebagai contohnya adalah mu dienkripsi dengan CM

  • Playfair (4)Selain itu, setiap huruf plaintext diganti dengan huruf yang terletak pada perpotongan kolom dan baris huruf yang bersangkutanContoh : hs dienkripsi menjadi BPea dienkripsi menjadi IM (JM)

  • Polyalphabetic CiphersMenggunakan beberapa alfabet cipherMempersulit cryptanalyst untuk menebak isi dari pesanMenggunakan kunci berupa kataAlgoritma yang ada : Vigenere, Beauford, dan Variant-Beauford

  • Vigenere CiphersAlgoritma :Menggunakan tabel/matriks VigenereKata kunci ditulis berulang sepanjang plaintextEnkripsi :Jika diberikan sebuah huruf kunci x dan sebuah huruf plaintext y, maka huruf ciphertextnya diperoleh dari perpotongan dari baris x dengan kolom yDekripsi :Huruf kunci akan sebagai penunjuk baris dan posisi huruf ciphertext akan menunjukkan kolom, sehingga huruf plaintextnya akan berada di atas huruf tersebut

  • Vigenere Ciphers (2)Matriks Vigenere(hanya ditampilkan sebagian)

  • Vigenere Ciphers (3)Contoh :

    Kunci : deceptivedeceptivedeceptivePlaintext : wearediscoveredsaveyourselfCiphertext : ZICVTWQNGRZGVTWAVZHCQYGLMGJ

  • Vigenere Ciphers (4)Alternatif : kata kunci tidak diulang tetapi disambung dengan plaintext

    Contoh :

    Kunci : deceptivewearediscoveredsavPlaintext : wearediscoveredsaveyourselfCiphertext : ZICVTWQNGKZEIIGASXSTSLVVWLA

  • Teknik TransposisiTransposisi baris :Plaintext ditulis ke kanan kemudian ke bawah sesuai kunci yang ada sehingga membentuk suatu matriksKolom yang terbentuk saling dipertukarkanCiphertext diperoleh dengan membaca ke kanan matriks baru

  • Teknik Transposisi (2)Contoh :

  • Modern Block CiphersPrinsip :Pesan dipecah menjadi beberapa blokSetiap blok kemudian dienkripsiAlgoritma : Substitusi-Permutasi Feistel, Lucifer, DES

  • PermutasiPrinsip dasar : Mempertukarkan posisi bit.Terdapat tiga jenis : permutasi langsung, permutasi terkompres dan permutasi terekspansi

  • SubstitusiPrinsip dasar : Mengganti n bit dengan n bit lainnyaDilakukan dengan kombinasi dari P-boxes, enkoder dan dekoder

  • Feistel CiphersPenemu : Host Feistel tahun 70-anPrinsip dasar :Memecah blok input menjadi dua bagian, L(i-1) dan R(i-1)Hanya menggunan R(i-1) pada langkah ke-iFungsi g merupakan operasi S-P yang diatur oleh K(i) atau subkey ke-iRumusan :

    L(i) = R(i-1)R(i) = L(i-1) XOR g(K(i), R(i-1))

  • Feistel Ciphers (2)Satu langkah Feistel Cipher

  • LuciferPenemu : Host Feistel tahun 70-anPrinsip dasar :Lucifer adalah Feistel cipher yang menggunakan kunci 128 bit dan data 128 bitSubkey yang digunakan untuk tiap langkah diambil dari bagian kiri dari kunciKunci diputar ke kiri 56 bit, sehingga semua bit digunakan

  • Lucifer (2)

  • Data Encryption Standard (DES)Dikembangkan oleh NBS (National Bureau of Standards) yang sekarang dikenal dengan NIST (National Institue of standard Technology)Diterima sebagai standard (US) tahun 1976

    Prinsip dasar : Menggunakan blok data sebesar 64 bitMenggunakan kunci 56 bitTerdapat 16 langkah kompleks

  • DES (2)Algoritma keseluruhan :

  • DES (3)Algoritma pembangkitan kunci :

  • DES (4)Algoritma sebuah langkah dari 16 langkah :

  • DES (5)

  • DES (6)Kekuatan DES :Ukuran kunci = 56 bitBrute force = 255 tahapDifferential cryptanalysis = 247 tahapLinera cryptanalysis = 243 tahap

  • DES (7)Alternatif perbaikan DES :Double DES

    C = EK2 [EK1[P]]P = DK1 [DK2[C]]

    Triple DESC = EK1 [DK2[EK1[P]]]P = DK1 [EK2[DK1[C]]]

  • DES (8)Mode operasi :Electronic Codebook (ECB)Cipher Block Chaining (CBC)Cipher Feedback (CFB)Output Feedback (OFB)

  • Electronic Codebook (EBC)

  • Cipher Block Chaining (CBC)

  • Cipher Feedback (CFB)

  • Output Feedback (OFB)

  • *Proteksi dan Keamanan m-Bisnis

  • PendahuluanSampai akhir tahun 1970, hanya ada sistem kriptografi simetri. Satu masalah besar dalam algoritma simetri: bagaimana mengirimkan kunci rahasia kepada penerima?Mengirim kunci rahasia pada saluran publik (telepon, internet, pos) sangat tidak aman.Oleh karena itu, kunci harus dikirim melalui saluran kedua yang benar-benar aman.Saluran kedua tersebut umumnya lambat dan mahal.*

  • Pendahuluan (2)Ide kriptografi kunci-publik muncul pada tahun 1976. Makalah pertama perihal kriptografi kunci-publik ditulis oleh Diffie-Hellman (ilmuwan dari Stanford University) di IEEEJudul makalahnya New Directions in Cryptography.Namun pada saat itu belum ditemukan algoritma kriptografi kunci-publik yang sesungguhnya.*

  • Proteksi dan Keamanan m-Bisnis

  • Latar BelakangKegunaan: untuk mempertukarkan kunci sesi (kunci rahasia untuk komunikasi dengan kriptografi simetri) antara dua orang atau lebih.Keamanan algoritma ditentukan oleh sulitnya menghitung logaritma diskrit.

  • Parameter umumMisalkan dua orang yang berkomunikasi: Alice dan Bob.Mula-mula Alice dan Bob menyepakati bilangan prima yang besar, n dan g, sedemikian sehingga g < n. Bilangan n dan g tidak perlu rahasia. Bahkan, Alice dan Bob dapat membicarakannya melalui saluran yang tidak aman sekalipun.

  • Algoritma Diffie-HellmanAlice membangkitan bilangan bulat acak yang besar x dan mengirim hasil perhitungan berikut kepada Bob:X = gx mod nBob membangkitkan bilangan bulat acak yang besar y dan mengirim hasil perhitungan berikut kepada Alice:Y = gy mod nAlice menghitungK = Yx mod nBob menghitungK = Xy mod n

  • Jika perhitungan dilakukan dengan benar, maka K = K. Baik K dan K sama dengan gxy mod n. Eve yang menyadap pembicaraan antara Alice danBob tidak dapat menghitung K. Ia hanya memiliki informasi n, g, X dan Y, tetapi ia tidak mempunyai informasi nilai x dan y. Untuk mengetahui x atau y, ia perlu melakukan perhitungan logaritma diskrit, yang mana sangat sulit dikerjakan.

  • Contoh: Alice dan Bob menyepakati n = 97 dan g = 5 ( g < n)Alice memilih x = 36 dan menghitung X = gx mod n = 536 mod 97 = 50Alice mengirimkan X kepada Bob.Bob memilih y = 58 dan menghitung Y = gy mod n = 558 mod 97 = 44Bob mengirimkan Y kepada Alice.Alice menghitung kunci simetri K, K = Yx mod n = 4436 mod 97 = 75Bob menghitung kunci simetri K, K = Xy mod n = 5058 mod 97 = 75

    Jadi, Alice dan Bob sudah mempunyai kunci sesi yang sama,yaitu K = 75.

  • Proteksi dan Keamanan m-Bisnis

  • SolutionAlice meletakkan pesan rahasia dalam sebuah kotak yang digembok dengan kuncinya. Hanya Alice yang punya kunci gembok ini.Alice lalu mengirimkan kotak tersebut ke Bob. Bob menambah gembok, sehingga kotak tersebut dikunci dengan 2 gembok.Bob kemudian mengirimkan balik kotak tersebut ke Alice. Alice, yang mengetahui bahwa kotak telah dikunci dengan gembok milik Bob, kemudian membuka gembok miliknya (dengan kunci yang dia miliki)Alice mengirim kotak tersebut ke Bob Kemudian Bob membuka gemboknya dan mengambil pesan rahasia dari Alice (bisa berupa shared key)

  • Solution

  • SolutionDistribusi key berhasil dilakukan tanpa ketahuanAwalnya kunci bersama tidak dimilikitidak peduli siapa yang dapat benar-benar mengunci mekanisme Hanya ingin memastikan bahwa hanya seseorang dengan kuncinya yang dapat membukaharus murah untuk membuka mekanisme kita dengan kunci, tetapi sangat mahal untuk mencoba untuk membuka tanpa kunci

  • Public-KeyPada sistem kriptografi kunci-publik, masing-masing pengirim dan penerima mempunyai sepasang kunci:1. Kunci publik: untuk mengenkripsi pesan2. Kunci privat: untuk mendekripsi pesan.Ee(m) = cdan Dd(c) = m

    *

    e

    d

    plainteks

    chiperteks

    plainteks semula

    enkripsi

    dekripsi

    Gambar 11.1 Sistem kriptografi kunci-publik.

    Ket: e = public key, d = private key

  • Public-Key (2)Misalkan: Pengirim pesan: AlicePenerima pesan: BobAlice mengenkripsi pesan dengan kunci publik BobBob mendekripsi pesan dengan kunci privatnya (kunci privat Bob)Sebaliknya, Bob mengenkripsi pesan dengan kunci publik AliceAlice mendekripsi pesan dengan kunci privatnya (kunci privat Alice)Dengan mekanisme seperti ini, tidak ada kebutuhan mengirimkan kunci rahasia (seperti halnya pada sistem kriptografi simetri*

  • Kriptografi Kunci-publik

    *DecryptionPlaintextCiphertextL)8*@HgMy phone 555-1234My phone 555-1234PlaintextPublic keyPrivate keyPublic key repository AliceBob

  • Henric Johnson*Kriptografi Kunci-publik

  • Kriptografi Kunci-publik

    Kunci enkripsi dapat dikirim melalui saluran yang tidak perlu aman (unsecure channel). Saluran yang tidak perlu aman ini mungkin sama dengan saluran yang digunakan untuk mengirim cipherteks.

    *

  • Sistem kriptografi kunci-publik didasarkan pada fakta:1. Komputasi untuk enkripsi/dekripsi pesan mudah dilakukan. 2. Secara komputasi hampir tidak mungkin (infeasible) menurunkan kunci privat, d, bila diketahui kunci publik, e. *Kriptografi Kunci-publik

  • Kriptografi Kunci-publik

    Pembangkitan sepasang kunci pada kriptografi kunci-publik didasarkan pada persoalan integer klasik sebagai berikut:1. Pemfaktoran Diberikan bilangan bulat n. Faktorkan n menjadi faktor primanya Contoh: 10 = 2 * 5 60 = 2 * 2 * 3 * 5 252601 = 41 * 61 * 101 213 1 = 3391 * 23279 * 65993 * 1868569 * 1066818132868207 Semakin besar n, semakin sulit memfaktorkan (butuh waktu sangat lama). Algoritma yang menggunakan prinsip ini: RSA *

  • Kriptografi Kunci-publik

    2. Logaritma diskrit Temukan x sedemikian sehingga ax b (mod n) sulit dihitung

    Contoh: jika 3x 15 (mod 17) maka x = 6 Semakin besar a, b, dan n semakin sulit memfaktorkan (butuh waktu lama).

    Algoritma yang menggunakan prinsip ini: ElGamal, DSACatatan: Persoalan logaritma diskrit adalah kebalikan dari persoalan perpangkatan modular: ax mod n mudah dihitung*

  • Kriptografi Simetri vs Kriptografi Kunci-publik Kelebihan kriptografi simetri:Proses enkripsi/dekripsi membutuhkan waktu yang singkat.Ukuran kunci simetri relatif pendek Otentikasi pengirim pesan langsung diketahui dari cipherteks yang diterima, karena kunci hanya diketahui oleh pengirim dan penerima pesan saja.*

  • Kriptografi Simetri vs Kriptografi Kunci-publik Kelemahan kriptografi simetri:Kunci simetri harus dikirim melalui saluran yang aman. Kedua entitas yang berkomunikasi harus menjaga kerahasiaan kunci ini.Kunci harus sering diubah, mungkin pada setiap sesi komunikasi.*

  • Kriptografi Simetri vs Kriptografi Kunci-publik Kelebihan kriptografi kunci-publik:Hanya kunci privat yang perlu dijaga kerahasiaannya oleh seiap entitas yang berkomuniaksi. Tidak ada kebutuhan mengirim kunci kunci privat sebagaimana pada sistem simetri. Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan dalam periode waktu yang panjang.Dapat digunakan untuk mengamankan pengiriman kunci simetri.Beberapa algoritma kunci-publik dapat digunakan untuk memberi tanda tangan digital pada pesan (akan dijelaskan pada materi kuliah selanjutnya) *

  • Kriptografi Simetri vs Kriptografi Kunci-publik Kelemahan kriptografi kunci-publik:Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri, karena enkripsi dan dekripsi menggunakan bilangan yang besar dan melibatkan operasi perpangkatan yang besar.Ukuran cipherteks lebih besar daripada plainteks (bisa dua sampai empat kali ukuran plainteks).Ukuran kunci relatif lebih besar daripada ukuran kunci simetri.*

  • Kriptografi Simetri vs Kriptografi Kunci-publik Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang, maka cipherteks tidak memberikan informasi mengenai otentikasi pengirim.

    Tidak ada algoritma kunci-publik yang terbukti aman (sama seperti block cipher). Kebanyakan algoritma mendasarkan keamanannya pada sulitnya memecahkan persoalan-persoalan aritmetik (pemfaktoran, logaritmik, dsb) yang menjadi dasar pembangkitan kunci.*

  • Aplikasi Kriptografi Kunci-PublikMeskipun masih berusia relatif muda (dibandingkan dengan algoritma simetri), tetapi algoritma kunci-publik mempunyai aplikasi yang sangat luas:1. Enkripsi/dekripsi pesan Algoritma: RSA, Rabin, ElGamal 2. Digital signatures Tujuan: membuktikan otentikasi pesan/pengirim Algoritma: RSA, ElGamal, DSA, GOST3. Pertukaran kunci (key exchange) Tujuan: mempertukarkan kunci simetri Algoritma: Diffie-Hellman*

  • The RSA Algorithm Key Generation

    Select p,q p and q both primeCalculate n = p x qCalculate Select integer eCalculate dPublic KeyKU = {e,n}Private keyKR = {d,n}

    Henric Johnson*

  • Example of RSA AlgorithmHenric Johnson*

  • Contoh: Internet CommerceBob ingin membeli beberapa e-book dari Alice menggunakan credit card-nya, memalui InternetAlice mengirimkan public key-nya ke Bob.Bob menggunakan key tersebut untuk mengenkrip nomor credir card-nya dan mengirimkan nomor yang terenkrip tersebut ke AliceAlice menggunakan private key-nya untuk mendekrip pesan yang diterimanya (dan memperoleh nomor credit card milik Bob)

  • Hybrid Encryption SystemsSemua algoritma enkripsi public-key yang dikenal sangat lambat jika dibandingkan dengan algoritma secret-keyKarena itu, public key sering kali tidak digunakan untuk mengenkrip seluruh pesan, tetapi hanya mengenkrip secret key.Dalam sebuah hybrid system, Alice menggunakan public-key milik Bob untuk mengirimkan session key (kunci rahasia) ke BobAlice dan Bob menggunakan session key tersebut untuk bertukar informasi

  • Internet Commerce (continued)Bob ingin memesan e-book dari Alice dan menjaga seluruh transaksi dilakukan secara privateBob mengirimkan public key-nya ke AliceAlice membangkitkan sebuah session key, mengekripnya menggunakan public key milik Bob, dan mengirimkannya ke BobBob menggunakan session key tersebut (dan algoritma simetris yang telah disepakati) unttk mengenkrip pesanannya, dan mengirimkan ke Alice

    Netscape has a hybrid system built in. It uses RSA for public-key encryption (with -- I believe -- a 512-bit key) and DES for secret-key encryption.

    PGP also uses a hybrid system with RSA for the public-key part, and IDEA for secret-key encryption.