Crypto Book Complete

  • Published on
    25-Oct-2015

  • View
    89

  • Download
    0

Embed Size (px)

DESCRIPTION

kripto

Transcript

<ul><li><p>Sentot Kromodimoeljo</p><p>TEORI&amp;APLIKASIKRIPTOGRAFI</p><p>101111111101100001011110</p><p>SPK ITConsulting</p></li><li><p>Teori dan Aplikasi Kriptografi</p><p>Sentot Kromodimoeljo</p><p>Desember 2009</p></li><li><p>ii</p><p>Teori dan Aplikasi KriptografiPenulis: Sentot KromodimoeljoDesember 2009ISBN 978-602-96233-0-7453 halaman, 14.85 x 21 cm</p><p>Penerbit: SPK IT Consultingc2009 SPK IT Consulting. Dilarang mereproduksi buku ini sebagian atauseluruhnya tanpa izin dari SPK IT Consulting.</p><p>Typesetting menggunakan LATEX.</p><p>Sentot KromodimoeljoConsultant, SPK IT ConsultingInformation Technology, Cryptography, Mathematical Logicsentotk2000@yahoo.ca</p></li><li><p>iii</p><p>Untuk anak-anakku yang tercinta, Kelsey dan Zakrie.</p></li><li><p>iv</p></li><li><p>Kata Pengantar</p><p>Sangat banyak buku dalam bahasa Indonesia mengenai ilmu dan teknologikomputer yang telah diterbitkan, namun hampir semua bersifat kontemporer.Buku kontemporer memang berharga dan diperlukan, tetapi untuk pembacayang ingin belajar teori ilmu komputer secara mendalam, diperlukan buku yangdapat memberi motivasi dan arahan untuk studi lanjut.</p><p>Buku ini mencoba menjelaskan teori dan praktek kriptografi dan ditujukanterutama kepada pembaca yang ingin memperdalam pengetahuannya menge-nai kriptografi. Banyak orang yang enggan membaca buku yang berisi mate-matika karena presentasi matematika biasanya hambar tanpa motivasi. Krip-tografi tidak bisa dipisahkan dari matematika, jadi buku ini juga berisi ma-tematika, akan tetapi penulis mencoba menggunakan bahasa yang sederhanadan memberi motivasi dan penjelasan untuk setiap rumus matematika agarmudah dipahami dan tidak membosankan. Memang untuk mendalami ilmukriptografi tidak ada jalan pintas dan diperlukan ketekunan yang luar biasa.Tetapi buku ini dapat juga dibaca untuk mendapatkan pengetahuan superficialmengenai ilmu kriptografi, dengan melewatkan atau membaca secara sepintassaja bagian-bagian yang sukar matematikanya. Tentunya teori tanpa aplikasiadalah sia-sia, oleh sebab itu aplikasi kriptografi juga dibahas.</p><p>Mudah-mudahan buku ini berguna bagi pembaca yang ingin memperdalampengetahuan di bidang kriptografi. Kalau ada kesalahan dalam buku ini, mo-hon maaf sebelumnya. Selamat membaca!</p><p>Sentot Kromodimoeljo.</p><p>v</p></li><li><p>vi KATA PENGANTAR</p></li><li><p>Terima kasih</p><p>Penulis ingin mengucapkan terima kasih yang sebesarnya kepada Dr. LaksanaTri Handoko dari Pusat Penelitian Fisika LIPI, Prof. Chan Basaruddin, Dr.Lim Yohanes Stefanus dan Dr. Setiadi Yazid dari Fakultas Ilmu Komputer UI,dan Dr. Budi Susilo Soepandji dari Departemen Pertahanan, atas komentar,saran dan dukungannya.</p><p>Penulis juga ingin mengucapkan terima kasih yang sebesarnya kepada semuateman di KINDO 21 atas komentar, saran dan dukungan yang telah diberikan,terutama kepada Kemal Surianegara, Neni Sintawardani, Arnold Soetrisnanto,E.T. Sari, Ardi Sutedja, Hartojo Wignjowijoto, Hidayat Brata dan YandriSusanto.</p><p>vii</p></li><li><p>viii TERIMA KASIH</p></li><li><p>Daftar Isi</p><p>Kata Pengantar v</p><p>Terima kasih vii</p><p>1 Pendahuluan 1</p><p>2 Konsep-konsep Dasar 52.1 Konsep Acak . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 One-Time Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Cryptanalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9</p><p>2.3.1 Known Plaintext Attack . . . . . . . . . . . . . . . . . . 92.3.2 Analisa Statistik . . . . . . . . . . . . . . . . . . . . . . 112.3.3 Brute Force Search . . . . . . . . . . . . . . . . . . . . . 13</p><p>2.4 Manajemen Kunci . . . . . . . . . . . . . . . . . . . . . . . . . 142.5 Operasi dasar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.6 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18</p><p>3 Matematika I - Aritmatika Modular 193.1 Group, Monoid, Ring dan Field . . . . . . . . . . . . . . . . . . 193.2 Prinsip Induksi . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3 GCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.4 Algoritma Euclid . . . . . . . . . . . . . . . . . . . . . . . . . . 253.5 Aritmatika Modular . . . . . . . . . . . . . . . . . . . . . . . . 303.6 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36</p><p>4 Kriptografi Simetris Sederhana 374.1 Enkripsi Affine . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2 Transformasi Digraph . . . . . . . . . . . . . . . . . . . . . . . 414.3 Matrik Enkripsi . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.4 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50</p><p>ix</p></li><li><p>x DAFTAR ISI</p><p>5 Matematika II - Polynomial Field 515.1 Integral Domain . . . . . . . . . . . . . . . . . . . . . . . . . . 525.2 Homomorphism dan Ideal . . . . . . . . . . . . . . . . . . . . . 535.3 Principal Ideal Domain . . . . . . . . . . . . . . . . . . . . . . . 615.4 Prime Ideal dan Maximal Ideal . . . . . . . . . . . . . . . . . . 635.5 Polynomial Ring . . . . . . . . . . . . . . . . . . . . . . . . . . 685.6 Euclidean Domain . . . . . . . . . . . . . . . . . . . . . . . . . 725.7 Polynomial Field . . . . . . . . . . . . . . . . . . . . . . . . . . 775.8 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78</p><p>6 Kriptografi Stream Cipher 796.1 RC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816.2 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89</p><p>7 Kriptografi Block Cipher 917.1 DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927.2 Mode Operasi DES . . . . . . . . . . . . . . . . . . . . . . . . . 997.3 3DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027.4 AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037.5 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110</p><p>8 Analisa Block Cipher 1138.1 Differential Cryptanalysis . . . . . . . . . . . . . . . . . . . . . 115</p><p>8.1.1 Analisa 1 Putaran . . . . . . . . . . . . . . . . . . . . . 1168.1.2 Mekanisme n-round Characteristic . . . . . . . . . . . . 1188.1.3 Penggunaan n-round Characteristic . . . . . . . . . . . 1238.1.4 Differential Cryptanalysis DES . . . . . . . . . . . . . . 124</p><p>8.2 Linear Cryptanalysis . . . . . . . . . . . . . . . . . . . . . . . . 1258.2.1 Perkiraan Linear untuk S-boxes . . . . . . . . . . . . . . 1268.2.2 Perkiraan Linear untuk DES . . . . . . . . . . . . . . . 1278.2.3 Known Plaintext Attack DES . . . . . . . . . . . . . . . 130</p><p>8.3 Pelajaran dari Cryptanalysis DES . . . . . . . . . . . . . . . . 1318.4 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132</p><p>9 Cryptographically Secure Hashing 1339.1 MD5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359.2 SHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1419.3 Hash Message Authentication Code . . . . . . . . . . . . . . . . 1449.4 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145</p></li><li><p>DAFTAR ISI xi</p><p>10 Matematika III - Dasar untuk PKC 14710.1 Fermats Little Theorem . . . . . . . . . . . . . . . . . . . . . . 14710.2 Chinese Remainder Theorem . . . . . . . . . . . . . . . . . . . 14810.3 Fungsi Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15010.4 Group of Units . . . . . . . . . . . . . . . . . . . . . . . . . . . 15310.5 Homomorphism Theorem . . . . . . . . . . . . . . . . . . . . . 15910.6 Field Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . 16510.7 Finite Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17010.8 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177</p><p>11 Matematika IV - Kuadrat 17911.1 Quadratic Residue . . . . . . . . . . . . . . . . . . . . . . . . . 17911.2 Akar Kuadrat Modulo Bilangan Ganjil . . . . . . . . . . . . . . 19411.3 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197</p><p>12 Matematika V - Algebraic Number 19912.1 Ruang Vektor dan Module . . . . . . . . . . . . . . . . . . . . . 19912.2 Separable Field Extension . . . . . . . . . . . . . . . . . . . . . 20112.3 Norm, Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20612.4 Algebraic Number Theory . . . . . . . . . . . . . . . . . . . . . 21312.5 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231</p><p>13 Matematika VI - Test Bilangan Prima 23313.1 Pseudoprime dan Bilangan Carmichael . . . . . . . . . . . . . . 23313.2 Metode Solovay-Strassen . . . . . . . . . . . . . . . . . . . . . . 23913.3 Metode Miller-Rabin . . . . . . . . . . . . . . . . . . . . . . . . 24113.4 Test Deterministik . . . . . . . . . . . . . . . . . . . . . . . . . 25113.5 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252</p><p>14 Matematika VII - Penguraian Bilangan Bulat 25314.1 Metode Rho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25414.2 Fermat Factorization . . . . . . . . . . . . . . . . . . . . . . . . 25814.3 Metode Dixon . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25914.4 Metode Continued Fraction . . . . . . . . . . . . . . . . . . . . 26314.5 Metode Quadratic Sieve . . . . . . . . . . . . . . . . . . . . . . 27214.6 Metode Number Field Sieve . . . . . . . . . . . . . . . . . . . . 27714.7 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288</p><p>15 Matematika VIII - Logaritma Diskrit 28915.1 Metode Silver-Pohlig-Hellman . . . . . . . . . . . . . . . . . . . 28915.2 Metode Baby Steps - Giant Steps . . . . . . . . . . . . . . . . . 29215.3 Metode Index Calculus . . . . . . . . . . . . . . . . . . . . . . . 29315.4 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295</p></li><li><p>xii DAFTAR ISI</p><p>16 Kriptografi Public Key 29716.1 RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29816.2 Diffie-Hellman . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30116.3 DSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30216.4 ElGamal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30416.5 Knapsack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30616.6 Zero-Knowledge Protocol . . . . . . . . . . . . . . . . . . . . . 30916.7 Penggunaan Kriptografi Public Key . . . . . . . . . . . . . . . 31316.8 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313</p><p>17 Kriptografi Elliptic Curve 31517.1 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322</p><p>18 Quantum Key Distribution 32318.1 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326</p><p>19 Kebutuhan Akan Kriptografi 32919.1 Informasi Sensitif . . . . . . . . . . . . . . . . . . . . . . . . . . 32919.2 Mencegah Penyadapan . . . . . . . . . . . . . . . . . . . . . . . 33119.3 Mencegah Penyamaran . . . . . . . . . . . . . . . . . . . . . . . 33319.4 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334</p><p>20 Aplikasi - Pengamanan Sesi 33520.1 SSL/TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335</p><p>20.1.1 Standard SSL/TLS . . . . . . . . . . . . . . . . . . . . . 33620.1.2 Penggunaan SSL/TLS . . . . . . . . . . . . . . . . . . . 339</p><p>20.2 SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34020.2.1 Standard SSH . . . . . . . . . . . . . . . . . . . . . . . . 34120.2.2 Penggunaan SSH . . . . . . . . . . . . . . . . . . . . . . 342</p><p>20.3 IPsec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34320.3.1 Standard IPsec . . . . . . . . . . . . . . . . . . . . . . . 34420.3.2 Penggunaan IPsec . . . . . . . . . . . . . . . . . . . . . 350</p><p>20.4 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350</p><p>21 Aplikasi - Pengamanan Email 35321.1 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356</p><p>22 Aplikasi - Authentication 35722.1 Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35722.2 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360</p></li><li><p>DAFTAR ISI xiii</p><p>23 Aplikasi - PKI 36123.1 PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36223.2 X.509 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36423.3 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370</p><p>24 Aplikasi - Cryptographic Library 37124.1 OpenSSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37224.2 RSA BSafe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37324.3 Cryptlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37424.4 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383</p><p>25 Analisa Protokol Kriptografi 38525.1 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397</p><p>26 Kendala Penggunaan Kriptografi 39926.1 Manajemen Kunci . . . . . . . . . . . . . . . . . . . . . . . . . 39926.2 Sistem Terlalu Rumit . . . . . . . . . . . . . . . . . . . . . . . 40026.3 Sistem Tidak Sesuai Kebutuhan . . . . . . . . . . . . . . . . . 40126.4 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402</p><p>27 Masa Depan Kriptografi 40327.1 Perkembangan Matematika . . . . . . . . . . . . . . . . . . . . 40327.2 Perkembangan Hardware . . . . . . . . . . . . . . . . . . . . . . 40427.3 Quantum Computing . . . . . . . . . . . . . . . . . . . . . . . . 40527.4 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410</p><p>A Daftar Notasi, Singkatan dan Istilah 411</p><p>B Tabel untuk cipher f DES 417</p><p>C Tabel S-box AES 421</p><p>D Tabel untuk algoritma MD5 423</p></li><li><p>xiv DAFTAR ISI</p></li><li><p>Daftar Gambar</p><p>2.1 Proses enkripsi dan dekripsi . . . . . . . . . . . . . . . . . . . . 5</p><p>6.1 Linear feedback shift register . . . . . . . . . . . . . . . . . . . 806.2 Kombinasi non-linear LFSR . . . . . . . . . . . . . . . . . . . . 81</p><p>7.1 Enkripsi DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937.2 Algoritma Key Schedule DES . . . . . . . . . . . . . . . . . . . 957.3 Fungsi Cipher f . . . . . . . . . . . . . . . . . . . . . . . . . . . 987.4 DES dengan mode ECB . . . . . . . . . . . . . . . . . . . . . . 997.5 DES dengan mode CBC . . . . . . . . . . . . . . . . . . . . . . 1007.6 DES dengan mode CFB . . . . . . . . . . . . . . . . . . . . . . 1017.7 DES dengan mode OFB . . . . . . . . . . . . . . . . . . . . . . 1017.8 Enkripsi dan Dekripsi 3DES . . . . . . . . . . . . . . . . . . . . 1027.9 Enkripsi AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104</p><p>8.1 1 Putaran DES . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138.2 2 Putaran DES . . . . . . . . . . . . . . . . . . . . . . . . . . . 114</p><p>18.1 Contoh Sesi Protokol Bennett-Brassard . . . . . . . . . . . . . 327</p><p>xv</p></li><li><p>xvi DAFTAR GAMBAR</p></li><li><p>Daftar Tabel</p><p>2.1 Proses enkripsi one-time pad . . . . . . . . . . . . . . . . . . . 72.2 Proses dekripsi one-time pad . . . . . . . . . . . . . . . . . . . 72.3 Tabel operasi xor . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4 Enkripsi dengan Caesar cipher . . . . . . . . . . . . . . . . . . 102.5 Hasil analisa frekuensi . . . . . . . . . . . . . . . . . . . . . . . 122.6 Mencoba semua kemungkinan kunci Caesar cipher . . . . . . . 152.7 Tabel untuk S1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.8 Tabel Initial Permutation . . . . . . . . . . . . . . . . . . . . . 18</p><p>3.1 Contoh aritma...</p></li></ul>