Matasano Crypto Challenge 10: Implement CBC Mode

Pada tulisan sebelumnya dibahas mengenai implementasi PKCS#7 Padding. Untuk tulisan hari ini akan dibahas mengenai implementasi mode CBC.

Challenge

Mode CBC adalah mode cipher blok yang mampu melakukan enkripsi pesan dengan ukuran irregular, meskipun faktanya cipher blok yang native hanya mampu mentransformasi blok yang individual.

Dalam mode CBC, setiap blok ciphertext ditambahkan ke blok plaintext selanjutnya sebelum cipher core selanjutnya dipanggil.

Blok plaintext pertama, yang tidak terasosiasi dengan blok ciphertext sebelumnya, akan ditambahkan ke sebuah “fake 0th ciphertext block” yang dipanggil dengan inisialisasi vektor (IV).

Implementasi mode CBC dengan tulis tangan adalah dengan menulis fungsi ECB terlebih dahulu, membuatnya terenkrip maupun dekrip (verifikasi ini dengan melakukan dekripsi, terserah anda enkrip untuk pengujian) dan gunakan fungsi XOR anda sebelumnya untuk mengkombinasikannya.

Ini dia file yang terenkripsi, lakukan dekrip dengan CBC dengan key “YELLOW SUBMARINE” dengan IV semua ASCII 0 (\x00\x00\x00 &c).

10txt

Don’t Cheat !
Jangan gunakan OpenSSL untuk melakukan mode CBC, walaupun untuk memverifikasi hasil anda. Apa poin yang anda dapat ketika melakukan challenge ini namun anda tidak mempelajarinya?

Solved

Ini dia penyelesainnya.

implement_cbc_mode

Mengapa hanya share screenshot saja? Alasannya bisa anda lihat pada tulisan ikhtisar MCC sebelumnya.

Sekian tulisan hari ini, semoga bermanfaat.

Keep Fun Coding 😀

[1] Unknown. (????). Implement CBC Mode
Tersedia: cryptopals.com/sets/2/challenges/10/. [9 Januari 2015].

Advertisements

2 thoughts on “Matasano Crypto Challenge 10: Implement CBC Mode

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s