Alhamdulillah, pada bulan Juni 2019 yang lalu buku “Kriptografi, Edisi Kedua” saya sudah terbit. Buku Kriptografi, Edisi Kedua merupakan edisi baru dari buku sebelumnya yang berjudul sama. Buku ini disusun bagi siapapun (siswa, mahasiswa, umum) yang ingin mempelajari teknik-teknik di dalam kriptografi. Kriptografi merupakan kakas yang sangat penting dalam bidang keamanan informasi. Materi yang dibahas di dalam buku ini meliputi:
• Pengantar kriptografi
• Landasan matematika untuk kriptografi
• Algoritma kriptografi klasik
• Algoritma kriptografi modern
• Kriptanalisis sederhana
• Kriptografi kunci-publik
• Fungsi hash satu-arah
• Tanda-tangan digital
• Protokol kriptografi
• Pembangkit bilangan acak
• Elliptic Curve Cryptography
• Public Key Infrastructure (PKI)
• Manajemen kunci
• Steganografi dan watermarking
• Skema pembagian data rahasia (secret sharing scheme)
• Kriptografi visual (visual cryptography)
• Enkripsi homomorfik
Materi di dalam buku ini dilengkapi dengan kode program dalam Bahasa C++ (dan Matlab) yang mengimplementasikan beberapa algoritma. Diharapkan buku ini dapat memberikan pengetahuan kepada pembacanya tentang penggunaan kriptografi untuk keamanan pesan.
Tebal: 646 halaman
Penerbit: Informatika Bandung
Di bawah ini tulisan Prakata yang ada di dalam buku saya tersebut.
Prakata
Masalah keamanan informasi (information security) komputer menjadi isu penting pada era teknologi informasi saat ini. Banyak kejahatan cyber yang pernah kita dengar dari media massa. Pelaku kejahatan memanfaatkan celah keamanan yang ada di dalam sistem berbasis komputer untuk dimasuki dan melakukan manipulasi informasi.
Kriptografi merupakan ilmu yang berperan penting di dalam bidang keamanan informasi. Kriptografi digunakan untuk menjaga keamanan pesan atau informasi, baik informasi yang ditransmisikan melalui saluran komunikasi maupun informasi disimpan di dalam media penyimpanan. Bahkan, kehidupan kita saat ini dilingkupi oleh kriptografi; mulai dari transaksi di mesin ATM, transaksi di dalam perdagangan elektronis (e-commerce), transaksi dengan kartu kredit, percakapan melalui telepon genggam, mengakses internet, sampai mengaktifkan peluru kendali pun menggunakan kriptografi. Begitu pentingnya kriptografi untuk keamanan informasi, sehingga jika berbicara mengenai masalah keamanan yang berkaitan dengan penggunaan komputer, maka orang tidak bisa memisahkannya dengan kriptografi.
Buku Kriptografi edisi ke-2 ini disusun sebagai buku pegangan bagi mahasiswa yang mengambil mata kuliah kriptografi, jaringan komputer dan pengamanannya, atau kuliah lain yang terkait dengan masalah keamanan informasi. Kalangan umum yang ingin mempelajari kriptografi juga dapat menggunakan buku ini sebagai referensi.
Buku ini berawal dari dikat kuliah Kriptografi pada program Studi Teknik Informatika ITB. Diktat tersebut telah digunakan sejak tahun 2003, namun masih terpisah-pisah dalam bentuk lembaran handout kuliah. Pada Tahun 2004 semua handout kuliah disatukan menjadi sebuah diktat yang utuh, akhirnya diktat kuliah tersebut diterbitkan menjadi sebuah buku dengan materi yang lebih lengkap.
Sejak tahun 2018 yang lalu, Penulis mulai menyiapkan edisi kedua buku kriptografi. Buku edisi pertama sudah lama habis di pasaran. Sudah tidak terhitung banyak pihak yang menanyakan kapan buku kriptografi dicetak lagi. Penulis ingin memperbaiki materi di dalam buku dan menambahkan konten baru yang belum ada pada buku edisi pertama.
Buku Kriptografi edisi kedua disusun ke dalam 18 buah bab! Berikut penjelasan singkat masing-masing bab di dalam buku.
Bab 1 Pengantar Kriptografi. Bab ini memberikan gambaran umum kriptografi, asal mula dan sejarahnya, terminologi atau istilah-istilah yang terdapat di dalam kriptografi, perkembangannya mulai dari zaman kuno hingga zaman modern, dan kriptografi di Indonesia.
Bab 2 Landasan Matematika untuk Kriptografi. Bab ini menjelaskan secara ringkas dasar-dasar matematika yang diperlukan untuk mempelajari kriptografi. Dasar-dasar matematika yang terpenting di dalam kriptografi adalah teori bilangan (aritmetika modulo, kekongruenan, balikan modulo, bilangan prima, dan lain-lain) dan aljabar abstrak (teori grup, cincin, medan, dan Galois field). Bab 2 ini dapat dilompati jika pembaca sudah memiliki dasar-dasar matematika untuk kriptografi.
Bab 3 Serangan Terhadap Kriptografi. Bab ini membahas serangan-serangan (attack) yang dilakukan pihak lawan atau kriptanalis untuk menemukan kunci atau memecahkan cipherteks.
Bab 4 Kriptografi Klasik. Bab ini membahas algoritma enkripsi (cipher) zaman kuno hingga zaman sebelum ditemukannya komputer digital. Beberapa algoritma yang dibahas adalah Caesar Cipher, Vigenere Cipher, Playfair Cipher, Enigma Cipher, Affine Cipher, Hill Cipher, dan cipher transposisi. Selain itu juga dibahas pula kriptanalisis sederhana pada cipher-cipher tersebut sehingga dapat dipecahkan cipherteksnya.
Bab 5 Kriptografi Modern. Bab ini membahas konsep kriptografi pada era komputer digital. Kriptografi berkembang pesat sejak ditemukannya komputer digital. Konsep cipher alir (stream cipher) dan cipher blok (block cipher) menjadi bahasan utama di dalam bab ini.
Bab 6 Review Beberapa Cipher Alir dan Cipher Blok. Bab ini berisi ringkasan beberapa algoritma enkripsi berbasis cipher alir dan cipher blok. Semuanya adalah algoritma enkripsi dengan kunci yang sama untuk enkripsi dan dekripsi. Saat ini algoritma kriptografi kunci-simetri puluhan jumlahnya, tetapi kita tidak perlu mempelajari semuanya. Beberapa algoritma penting yang dibahas adalah RC4, A5, DES, GOST, 3DES, RC5, RC6, dan AES.
Bab 7 Kriptografi Kunci-Publik. Bab ini membahas konsep kriptografi kunci nirsimetri yang lebih dikenal dengan nama kriptografi kunci-publik. Beberapa algoritma kriptografi kunci-publik yang dibahas adalah RSA, ElGamal, Diffie-Hellman, dan Knapsack. Selain itu juga dibahas algoritma pengujian bilangan prima, karena bilangan prima banyak digunakan di dalam kriptografi kunci-publik.
Bab 8 Pembangkit Bilangan Acak. Bab ini membahas metode-metode untuk membangkitkan bilangan acak. Bilangan acak banyak dipakai sebagai parameter kunci di dalam algoritma enkripsi dan dekripsi.
Bab 9 Fungsi Hash. Bab ini membahas konsep fungsi hash untuk meringkas pesan berukuran sembarang menjadi pesan berukuran tetap. Beberapa algoritma hash yang dibahas adalah MD5, SHA-1, dan Keccak (SHA-3). Selain itu juga dibahas fungsi hash yang memakai kunci, yaitu MAC (Message Authentication Code).
Bab 10 Tanda-tangan Digital. Bab ini membahas konsep tanda-tangan dengan menggunakan algoritma kriptografi, yaitu tanda-tangan digital (digital signature).
Bab 11 Elliptic Curve Criptography. Bab ini membahas algoritma kriptografi kunci-publik yang menjadi primadona untuk perangkat mobile dan teknologi IoT (internet of things), yaitu kriptografi berbasis kurva eliptik (Elliptic Curve Criptography) atau ECC.
Bab 12 Infrastruktur Kunci Publik. Bab ini membahas konsep PKI (Public Key Infrastructure) yang mendukung penggunaan kriptografi kunci-publik. Di dalamnya juga dibahas sertifikat digital dan CA (Certificate Authority).
Bab 13 Protokol Kriptografi. Bab ini membahas konsep protokol komunikasi yang menggunakan algoritma kriptografi. Sebuah protokol yang populer untuk komunikasi antara client dan server juga dibahas yaitu protokol Secure Socket Layer (SSL).
Bab 14 Manajemen Kunci. Bab ini membahas daur hidup kunci, mulai dari pembangkitan, penyimpanan, distribusi, hingga penghancurannya.
Bab 15 hingga Bab 18 adalah materi tambahan (opsional) yang masih berkaitan erat dengan kriptografi. Bab ini memperkaya pengetahuan kita tentang keamanan informasi.
Bab 15 Steganografi dan Watermarking. Bab ini membahas teknik-teknik untuk menyembunyikan pesan di dalam sebuah media cover. Media cover yang umum digunakan adalah gambar (image). Dibahas pula penerapan steganogafi yang disebut watermarking.
Bab 16 Skema Pembagian Rahasia. Bab ini membahas teknik-teknik untuk membagi informasi rahasia (secret) menjadi sejumlah share kepada sejumlah partisipan, termasuk teknik untuk merekonstruksi secret berdasarkan suatu nilai ambang (threshold).
Bab 17 Kriptografi Visual. Bab ini membahas konsep enkripsi untuk informasi visual seperti gambar. Seperti halnya secret, gambar dapat dibagi menjadi sejumlah share kepada sejumlah partisipan, dan share-share itu dapat direkonstruksi kembali menjadi informasi yang dipersepsi secara visual.
Bab 18 Enkripsi Homomorfik. Bab ini membahas konsep komputasi pada cipherteks sedemikian sehingga hasil komputasi pada cipherteks bila didekripsi sama dengan hasil komputsi yang sama pada plainteksnya.
Bahan yang ada di dalam buku ini kebanyakan bersumber dari berbagai referensi yang disebutkan di dalam Daftar Pustaka. Sebagian lagi berasal dari pengalaman mengajar mata kuliah Kriptografi di teknik Informatika ITB. Buku ini dilengkapi dengan beberapa kode program dalam Bahasa C++ dan Matlab yang mengimplementasikan beberapa algoritma yang dibahas.
Untuk bisa memahami buku ini, pembaca dianjurkan sudah memiliki prasyarat matematika diskrit. Jika belum, maka di dalam Bab 2 diberikan review singkat. Prasyarat algoritma dan pemrograman juga diperlukan jika algoritma kriptografi ingin diimplementasikan menjadi program komputer.
Penulis juga mempunyai sebuah blog di WordPress yang membahas kriptografi, meskipun tidak sering di-update, silakan baca di https://catatankriptografi.wordpress.com/
Akhirul kalam, semoga buku ini dapat memberikan pencerahan bagi pembacanya mengenai kriptografi.
Bandung, Maret 2019
Rinaldi Munir