Kriptografi adalah praktik dan studi teknik komunikasi yang aman dengan kehadiran pihak ketiga yang disebut musuh. Tujuan utamanya adalah untuk memastikan privasi, otentikasi, integritas, dan non-penyangkalan pesan atau data.
Seni kriptografi sama tuanya dengan penulisan itu sendiri. Awalnya, ini digunakan untuk memastikan bahwa hanya penerima yang dituju yang dapat memahami isi pesan. Orang Mesir kuno, Yunani, dan Romawi mengembangkan dan menggunakan teknik kriptografi. Contoh yang terkenal adalah sandi Caesar , sandi substitusi di mana setiap huruf dalam teks biasa digeser sejumlah tempat ke bawah alfabet.
Ada dua kategori utama algoritma kriptografi:
Enkripsi adalah proses mengubah teks biasa menjadi teks tersandi, yang tidak dapat dibaca oleh siapa pun kecuali pemegang kunci. Dekripsi adalah proses sebaliknya, mengubah ciphertext kembali menjadi plaintext yang dapat dibaca. Hubungan matematisnya dapat dinyatakan sebagai:
Infrastruktur Kunci Publik adalah kerangka kerja untuk mengelola sertifikat digital dan enkripsi kunci publik. Hal ini memungkinkan pengguna jaringan publik yang tidak aman seperti internet untuk bertukar data secara aman dan pribadi.
Fungsi hash adalah jenis algoritma kriptografi yang menghasilkan string byte berukuran tetap (dikenal sebagai hash) dari data masukan dengan ukuran berapa pun. Mereka digunakan untuk memastikan integritas data. Contoh yang terkenal adalah algoritma SHA-256 yang digunakan dalam penambangan Bitcoin.
Tanda tangan digital adalah teknik kriptografi yang menjamin asal dan integritas komunikasi atau dokumen digital. Tanda tangan digital dihasilkan menggunakan kunci pribadi dan dapat diverifikasi oleh siapa saja yang memiliki kunci publik terkait.
Kriptanalisis adalah studi menganalisis sistem informasi untuk memahami aspek tersembunyi dari sistem. Ini digunakan untuk melanggar sistem keamanan kriptografi dan mendapatkan akses ke konten pesan terenkripsi.
Kriptografi memiliki beragam penerapan, termasuk mengamankan komunikasi rahasia, melindungi informasi pada perangkat penyimpanan, meningkatkan keamanan web dan jaringan, mengamankan transaksi keuangan elektronik, dan memastikan integritas dan keaslian tanda tangan dan sertifikat digital.
Dengan kemajuan daya komputasi, seperti komputasi kuantum, teknik kriptografi saat ini menghadapi tantangan baru. Kriptografer secara aktif bekerja untuk mengembangkan algoritma baru yang dapat menahan kekuatan komputasi komputer kuantum.