gambar ambil dari Erik Parks

Bahas Chiper Block Chaining Message Autenthication Code

👷🏿‍♂️ Penjelasan singkat MAC pada dalam dunia kriptografi

Integritas data dan otentikasi merupakan dua aspek penting dalam berkomunikasi selain aspek keamanan data. Integritas digunakan sebagai sebuah analisis untuk melihat apakah sebuah data masih utuh atau telah dimanipulasi. Sedangkan otentikasi untuk melihat keaslian dari sebuah data. Komunikasi data melibatkan pertukaran pesan antara dua entitas, yaitu sender dan receiver. Dalam proses pertukaran data, data dapat saja diubah, disisipkan atau dihilangkan oleh pihak yang tidak bertanggung jawab.

Algoritma yang sering digunakan menjaga integritas data dan otentikasi adalah Message Authentication Code (MAC) yang juga merupakan fungsi hash satu-arah yang menggunakan secret key dalam pembangkitan nilai hash dengan kata lain nilai hash adalah fungsi dari pesan dan kunci. MAC memiliki sifat yang sama seperti fungsi hash satu-arah, hanya saja ada tambahan komponen kunci di dalamnya yang digunakan oleh receiver untuk verifikasi.

MAC dapat dirancang dengan dua pendekatan. Pendekatan pertama fungsi hash satu arah, sedangkan pendekatan kedua menggunakan kriptografi kunci simetri berbasis block cipher. Pendekatan kedua mempunyai keunggulan dari sisi fleksibilitas karena kebebasan memilih kriptografi yang akan digabungkan, tetapi menjadi masalah dari sisi efisiensi karena menggabungkan dua algoritma. Penelitian ini merancang sebuah algoritma MAC dengan pendekatan block cipher yang berbasis 256 bit, dimana terdapat proses kompresi untuk mendapatkan sebuah kode untuk otentikasi. Pada algoritma block cipher yang dirancang menggunakan skema transposisi dengan pola papan dart dan juga dikombinasi dengan pola horizontal dan vertikal sebagai alur pemasukan dan pengambilan bit pada sebuah kotak transposisi.

Sumber gambar disini gan 🙂

👨🏻‍🌾 Cipher Block Chaining

Cipher Block Chaining (CBC) MAC adalah teknik membangun message authentication code (MAC) dari block cipher. Pesan dienkripsi dengan algoritma cipher blok dalam model CBC untuk menciptakan rantai blok yang mana setiap blok akan sangat bergantung dengan enkripsi pada blok sebelumnya. Ketergantungan seperti ini memastikan perubahan pada bit apapun pada plainteks akan menyebabkan perubahan pada blok akhir hasil enkripsinya. Pada CBC, hasil akhir dari enkripsi tidak dapat diprediksi tanpa mengetahui kunci dari cipher blok nya.

Konsep CBC ini, penghitungan nilai MAC bergantung pada proses enkripsi pada tiap blok. Mekanisme pencarian CBC MAC adalah dengan membagi pesan ke dalam blok-blok pesan dengan panjang tetap. Blok pertama pesan akan di XOR kan dengan IV terdiri atas kumpulan bit 0. Blok pertama pesan kemudian akan dienkripsi dengan fungsi enkripsi tertentu dengan kunci K. Hasil dari enkripsi ini kemudian di XOR lagi dengan blok pesan kedua. Hal ini diulangi berkali-kali sampai blok pesan terakhir. Hasil enkripsi pada blok pesan terakhir merupakan nilai MAC yang diperoleh dengan algoritma ini.

Gambaran operasi kek gini gan

Gambar nyomot dari pakde ini 😂

Pembagian blok pesan pada CBC MAC adalah pesan dibagi ke dalam blok-blok pesan dengan panjang setiap blok adalah panjang yang sudah ditetapkan, dalam hal ini adalah panjang blok bersesuaian dengan spesifikasi fungsi enkripsi yang dipakai. Misalnya, DES digunakan sebagai cipher blok, maka ukuran blok adalah 64 bit, dan kunci rahasia MAC adalah kunci DES yang panjangnya 56 bit. Dalam pembuatan MAC dengan konsep CBC ini, kunci yang dilakukan untuk melakukan enkripsi untuk semua blok adalah selalu sama. Begitu pula dengan fungsi enkripsi yang digunakan. Yang berbeda untuk setiap blok hanyalah masukan berupa potongan blok pesan yang sudah di-XOR dengan hasil enkripsi pesan sebelumnya.

Kelebihan

CBC MAC memiliki keunggulan yang jelas dibandingkan penggunaan CBC biasa, yaitu dapat mengatasi pesan dengan panjang pesan yang tidak tetap.Dengan penggunaan konsep blok yang baru dan berbeda dengan pembagian blok pada CBC biasa, CBC MAC yang baru akan dapat mengatasi pesan dengan panjang yang tidak tetap.

Kekurangan

Penggunaan CBC biasa dengan fungsi enkripsi Vigenere Cipher adalah sangat lemah dan dapat dibaca pola perubahan pesannya

Sumber Referensi

https://www.youtube.com/watch?v=BsWsJfIisvY

Sekian 🙂