Crypto Book Complete

Embed Size (px)

DESCRIPTION

kripto

Text of Crypto Book Complete

  • Sentot Kromodimoeljo

    TEORI&APLIKASIKRIPTOGRAFI

    101111111101100001011110

    SPK ITConsulting

  • Teori dan Aplikasi Kriptografi

    Sentot Kromodimoeljo

    Desember 2009

  • ii

    Teori dan Aplikasi KriptografiPenulis: Sentot KromodimoeljoDesember 2009ISBN 978-602-96233-0-7453 halaman, 14.85 x 21 cm

    Penerbit: SPK IT Consultingc2009 SPK IT Consulting. Dilarang mereproduksi buku ini sebagian atauseluruhnya tanpa izin dari SPK IT Consulting.

    Typesetting menggunakan LATEX.

    Sentot KromodimoeljoConsultant, SPK IT ConsultingInformation Technology, Cryptography, Mathematical Logicsentotk2000@yahoo.ca

  • iii

    Untuk anak-anakku yang tercinta, Kelsey dan Zakrie.

  • iv

  • Kata Pengantar

    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.

    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.

    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!

    Sentot Kromodimoeljo.

    v

  • vi KATA PENGANTAR

  • Terima kasih

    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.

    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.

    vii

  • viii TERIMA KASIH

  • Daftar Isi

    Kata Pengantar v

    Terima kasih vii

    1 Pendahuluan 1

    2 Konsep-konsep Dasar 52.1 Konsep Acak . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 One-Time Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Cryptanalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.3.1 Known Plaintext Attack . . . . . . . . . . . . . . . . . . 92.3.2 Analisa Statistik . . . . . . . . . . . . . . . . . . . . . . 112.3.3 Brute Force Search . . . . . . . . . . . . . . . . . . . . . 13

    2.4 Manajemen Kunci . . . . . . . . . . . . . . . . . . . . . . . . . 142.5 Operasi dasar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.6 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    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

    4 Kriptografi Simetris Sederhana 374.1 Enkripsi Affine . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2 Transformasi Digraph . . . . . . . . . . . . . . . . . . . . . . . 414.3 Matrik Enkripsi . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.4 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    ix

  • x DAFTAR ISI

    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

    6 Kriptografi Stream Cipher 796.1 RC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816.2 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

    7 Kriptografi Block Cipher 917.1 DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927.2 Mode Operasi DES . . . . . . . . . . . . . . . . . . . . . . . . . 997.3 3DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027.4 AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037.5 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    8 Analisa Block Cipher 1138.1 Differential Cryptanalysis . . . . . . . . . . . . . . . . . . . . . 115

    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

    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

    8.3 Pelajaran dari Cryptanalysis DES . . . . . . . . . . . . . . . . 1318.4 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

    9 Cryptographically Secure Hashing 1339.1 MD5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359.2 SHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1419.3 Hash Message Authentication Code . . . . . . . . . . . . . . . . 1449.4 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

  • DAFTAR ISI xi

    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

    11 Matematika IV - Kuadrat 17911.1 Quadratic Residue . . . . . . . . . . . . . . . . . . . . . . . . . 17911.2 Akar Kuadrat Modulo Bilangan Ganjil . . . . . . . . . . . . . . 19411.3 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

    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

    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

    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

    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

  • xii DAFTAR ISI

    16 Kriptografi Public Key 29716.1 RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29816.2 Diffie-He