Matasano Crypto Challenge 18: Implement CTR, The Stream Cipher Mode

Pada tulisan sebelumnya dibahas mengenai keterkaitan padding oracle dan CBC. Untuk tulisan hari ini akan dibahas mengenai cipher stream, mode CTR.

Challenge

String:

L77na/nrFsKvynd6HzOoG7GHTLXsTVu9qvY/2syLXzhPweyyMTJULu/6/kXX0KSvoOLSFQ==

Lakukan dekrip untuk sesuatu yang kurang lebih berhubungan dengan bahasa Inggris dalam mode CTR:

      key=YELLOW SUBMARINE
      nonce=0
      format=64 bit unsigned little endian nonce,
             64 bit little endian block count (byte count / 16)

Mode CTR sangatlah sederhana. Termasuk dalam enkripsi plaintext, mode CTR melakukan enkripsi dengan penghitung berjalan, yang menghasilkan 16 byte sebuah blok dalam keysteam, yang kemudian dilakukan fungsi XOR terhadap plaintext.

Sebagai contoh, untuk 16 byte pertama dalam pesan, lakukan dengan parameter berikut:

keystream = AES(“YELLOW SUBMARINE”,
                “\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00”)

Dan untuk 16 byte selanjutnya gunakan:

keystream = AES(“YELLOW SUBMARINE”,
                “\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00”)

dan kemudian,

keystream = AES(“YELLOW SUBMARINE”,
                “\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00”)

Pada mode CTR tidak membutuhkan padding ketika anda menginginkan plaintext, anda tinggal melakukan fungsi XOR terhadap keystream dan berhenti membuat keystream.

Dekripsi disini mirip seperti enkripsi. Hasilkan keystream sama, lakukan XOR dan anda mendapatkan plaintext.

Dekrip string diatas dengan fungsi ini, kemudian gunakan fungsi CTR anda untuk enkripsi dan dekripsi hal lain.

Ini hanya mode cipher blok yang membutuhkan coding yang bagus.

Kebanyakan kriptografi modern yakin pada mode CTR dalam mengadopsi cipher blok ke dalam cipher stream, karena apa yang ingin kita enkrip lebih baik menghasilkan sebagai stream dibanding blok yang berurutan. Daniel Bernstein menyindir Phil Rogaway bahwa kirptosistem tidak membutuhkan transformasi untuk dekripsi. Kontruksi seperti CTR adalah apa yang kita bicarakan hari ini.

Solved

Ini dia penampakannya :).

ctr_mode_the_stream_cipher

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 CTR, The Stream Cipher Mode . Tersedia: cryptopals.com/sets/3/challenges/18/. [22 Januari 2015].

Advertisements

2 thoughts on “Matasano Crypto Challenge 18: Implement CTR, The Stream Cipher 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