1. Block Cipher
Block Cipher adalah jenis algoritma kriptografi yang memproses data dalam blok-blok berukuran tetap, biasanya 64 atau 128 bit, menggunakan kunci simetris. Block cipher mengambil blok plaintext (teks yang tidak terenkripsi) dan mengubahnya menjadi blok ciphertext (teks terenkripsi) dengan menggunakan kunci enkripsi yang sama baik untuk enkripsi maupun dekripsi.
Tujuan dan Manfaat Block Cipher Tujuan:
Kerahasiaan: Memastikan bahwa data hanya dapat dibaca oleh pihak yang berwenang.
Integritas: Memastikan bahwa data tidak telah diubah selama transmisi.
Keamanan: Meningkatkan perlindungan data dari serangan cryptanalysis.
Manfaat:
Keamanan Data: Dengan enkripsi yang kuat, block cipher membantu melindungi data dari akses yang tidak sah.
Efisiensi: Proses enkripsi dan dekripsi bisa dilakukan dengan cepat, sehingga cocok untuk aplikasi yang membutuhkan kinerja tinggi.
Fleksibilitas: Bisa digunakan dalam berbagai mode operasi seperti ECB (Electronic Codebook), CBC (Cipher Block Chaining), dan lain-lain untuk memenuhi berbagai kebutuhan keamanan.
Enkripsi dan Deskripsi Block Cipher Enkripsi:
Subkey Generation: Kunci utama diolah untuk menghasilkan serangkaian subkunci yang akan digunakan pada setiap putaran enkripsi.
Rounds: Setiap blok plaintext diolah melalui serangkaian putaran (rounds). Setiap putaran biasanya melibatkan operasi seperti substitusi (menggantikan data dengan tabel substitusi), permutasi (mengacak bit-bit), dan operasi matematika lain seperti XOR dengan subkunci.
Output: Setelah melalui semua putaran, blok ciphertext dihasilkan.
Dekripsi:
Proses dekripsi pada dasarnya adalah kebalikan dari proses enkripsi.
Menggunakan subkunci dalam urutan terbalik dan menjalankan operasi yang berlawanan, ciphertext diubah kembali menjadi plaintext.
2. Hash Function
Hash Function adalah algoritma kriptografi yang mengambil input data (pesan) dari ukuran berapa pun dan mengubahnya menjadi output dengan panjang tetap, yang disebut nilai hash atau hash digest. Fungsi hash dirancang untuk bersifat deterministik, artinya input yang sama selalu menghasilkan output yang sama, tetapi sedikit perubahan pada input akan menghasilkan output yang sangat berbeda.
Tujuan dan Manfaat Hash Function Tujuan:
Integritas Data: Memastikan bahwa data tidak telah diubah.
Verifikasi: Memvalidasi keaslian data dan sumbernya.
Pencocokan Cepat: Mempercepat pencarian dan penyimpanan data.
Manfaat:
Keamanan: Mengamankan data sensitif, seperti kata sandi, tanpa menyimpan data asli.
Deteksi Perubahan: Mendeteksi modifikasi atau kerusakan data.
Efisiensi: Mengurangi ukuran data yang harus diproses atau dibandingkan.
Enkripsi dan Deskripsi Hash Function
Tidak seperti enkripsi yang dapat diubah kembali menjadi plaintext (dekripsi), nilai hash tidak dapat diubah kembali menjadi data asli. Hash function bersifat satu arah (one-way function), artinya Anda tidak bisa mendapatkan input asli dari output hash.