Matasano Crypto Challenge 1: Konversi Hex ke Base64

Pada tulisan kemarin membahas mengenai ikhtisar Matasano Crypto Challenge (MCC). Untuk hari akan dibahas mengenai challenge pertama, konversi hex ke base64.

Set 1

Ini adalah set untuk mengkualifikasi. Matasano memilih latihan – latihan ini agar developer mampu mempraktekan kriptografi sampai melakukan coding, juga untuk memverifikasi orang – orang yang siap untuk coding.

Set ini relative mudah. Dengan satu pengecualian, kebanyakan latihan ini hanya memakan waktu beberapa menit saja. Namun jangan memaksakan diri anda, jika memang butuh waktu yang lebih panjang.

JIka anda sudah menulis coding crypto dan anda ingin skip latihan – latihan dibawah ini, sebaiknya jangan. Karena dua dari latihan dibawah ini akan sangat penting untuk melewati set-set berikutnya.

Sebelum mulai anda harus tahu apa yang dimaksud hex dan base64.

“An encoding method that converts binary data into ASCII text and vice versa. It is commonly used to send non-text files via the Internet’s e-mail system (see MIME). Base64 divides each set of three bytes of the original data into four 6-bit units, which it represents as four 7-bit ASCII characters. This typically increases the original file by about a third.” [1]

Berdasarkan kutipan diatas base64 merupakan sebuah metode encoding yang melakukan konversi data binary ke dalam text ASCII dan vice versa. Biasanya digunakan untuk mengirim file yang bukan teks melalui sistem email internet. Base64 membagi setiap 3 byte data asli kedalam empat unit 6 bit, yang mempresentasikan sebagai empat 7-bit karakter ASCII. Secara tipikal menambah ukuran file asli.

“(HEXadecimal) Hexadecimal means 16. The base 16 numbering system is used as a shorthand for representing binary numbers. Each half byte (four bits) is assigned a hex digit as shown in the following chart with its decimal and binary equivalents. Hex values are identified with an “h” or dollar sign, thus $3E0, 3E0h and 3E0H all stand for the hex humber 3E0″ [2]

Sedangkan hex adalah hexadesimal yang artinya 16. Hex ini merupakan system penomoran berbasis 16 yang digunakan sebagai shorthand untuk mempresentasikan binary numbers. Setiap setengah byte (4 bit) diberikan sebuah hex digit yang menampilkan dalam diagram dengan desimal dan binary ekuivalen. Nilai diidentifikasi dengan “h” atau tanda dollar “$”, jadi $3E0, 3E0h, dan 3E0H semua diartikan untuk nomor hex 3E0.

Untuk challenge ini saya tidak menggunakan bahasa pemrograman Perl namun menggunakan bahasa pemrograman Python. Mengapa? Agar tidak terlalu fanatik hanya pada satu bahasa pemrograman saja.

 

Challenge

Lakukan konversi

49276d206b696c6c696e6720796f757220627261696e206c696b65206120706f69736f6e6f7573206d757368726f6f6d

Agar menghasilkan

SSdtIGtpbGxpbmcgeW91ciBicmFpbiBsaWtlIGEgcG9pc29ub3VzIG11c2hyb29t

 

Solved

Ini dia konversi hex ke base64 yang sudah saya selesaikan.

hex2base64
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. (2014) Definition of Base64 [Online]. Tersedia: pcmag.com/encyclopedia/term/38437/base64. [27 Desember 2014].

[2] Unknown. (2014) Definition of Hex [Online]. Tersedia: pcmag.com/encyclopedia/term/38437/hex. [27 Desember 2014].

[3] Unknown. (????). Convert Hex to Base 64
Tersedia: cryptopals.com/sets/1/challenges/1/. [27 Desember 2014].

Advertisements

One thought on “Matasano Crypto Challenge 1: Konversi Hex ke Base64

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