15 Agustus 2017

Ciri-ciri hasil encode dari beberapa encoder

Apa Itu Encode?

Encode adalah proses mengubah data ke dalam format tertentu agar dapat diproses, disimpan, atau ditransmisikan dengan lebih efisien, bukan untuk tujuan utama keamanan.

Walaupun hasil encoding terkadang terlihat seperti pesan yang disandikan, encoding bukanlah mekanisme untuk menyembunyikan informasi agar tidak dapat dibaca oleh orang lain. Tujuan utamanya adalah untuk mempermudah pertukaran dan pengolahan data antar sistem atau perangkat.


Mengapa Encoding Dibutuhkan?

Komputer bekerja menggunakan data biner (0 dan 1). Namun, tidak semua sistem atau media komunikasi dapat mengirimkan data biner mentah dengan baik. Karena itu, encoding digunakan untuk mengubah data menjadi format yang lebih kompatibel.

Contoh encoding yang sering digunakan:

  • Base32 / Base64 Encoding
    Digunakan untuk mengubah data biner menjadi teks ASCII agar dapat dikirim melalui media yang hanya mendukung teks.

  • URL Encoding
    Digunakan untuk mengubah karakter khusus pada URL menjadi format yang dapat diproses oleh browser dan server.

  • HTML Encoding
    Digunakan untuk menampilkan karakter khusus HTML seperti <, >, dan & agar tidak dianggap sebagai tag HTML.

  • ASCII
    Standar encoding karakter yang digunakan untuk merepresentasikan teks ke dalam bentuk angka.

  • UTF-8
    Encoding karakter modern yang mendukung berbagai bahasa dan simbol dari seluruh dunia.

  • Binary Encoding
    Representasi data menggunakan angka biner (0 dan 1) yang dipahami oleh komputer.

Pada kompetisi Capture The Flag (CTF), kita wajib mengetahui ciri-ciri informasi yang telah di-encode, sesuai dengan jenis data dan teknologi yang digunakan untuk mentransmisikan data tersebut.

Contoh penggunaan encoding di dunia nyata:

  • Lampiran email menggunakan Base64 Encoding
  • Browser menggunakan URL Encoding saat membuka alamat website
  • HTML menggunakan Entity Encoding untuk karakter khusus
  • QR Code menyimpan data dalam format tertentu agar mudah dibaca mesin

Perbedaan Encode dan Decode

Dalam encoding terdapat dua proses utama:

  • Encode → Mengubah data ke format tertentu
  • Decode → Mengembalikan data ke bentuk aslinya

Alur sederhananya:

Plain Text → Encode → Encoded Text → Decode → Plain Text

Karena dapat dikembalikan ke bentuk asli dengan mudah, encoding tidak dapat dianggap sebagai metode keamanan data.


Karakteristik Hasil Encoding

Setiap jenis encoding memiliki pola dan karakteristik yang berbeda. Dalam kompetisi Capture The Flag (CTF), kemampuan mengenali pola encoding sangat penting untuk proses analisis data.

[ Base32 ]

  • Campuran huruf kapital dan angka
  • Tidak menggunakan huruf kecil
  • Kadang diakhiri simbol "=" sebagai padding

Contoh:

Plain text:
Hasil encoding dari Base32 !

Encoded text:
JBQXG2LMEBSW4Y3PMRUW4ZZAMRQXE2JAIJQXGZJTGIQCC===


[ Base64 ]

  • Menggunakan huruf besar, huruf kecil, angka, serta simbol tertentu
  • Sering diakhiri "=" atau "=="
  • Sangat umum digunakan pada web dan email

Contoh:

Plain text:
Hasil encoding dari Base64 !

Encoded text:
SGFzaWwgZW5jb2RpbmcgZGFyaSBCYXNlNjQgIQ==

Tanda "=" pada akhir Base64 disebut padding, yaitu karakter tambahan agar panjang data sesuai dengan kebutuhan format encoding.


[ Base85 / ASCII85 ]

  • Diawali karakter <~
  • Diakhiri karakter ~>
  • Mengandung banyak simbol non-huruf dan non-angka

Contoh:

Plain text:
Hasil encoding dari Base85 / ASCII85 !

Encoded text:
<~87?RRC`m;,@rGmlDJ()&@<-')6=FqH3&Mg3+@/pn8P(m!+<^~>


[ Binary ]

  • Hanya terdiri dari angka 0 dan 1
  • Merupakan representasi dasar yang dipahami komputer

Contoh:

01001000 01101001

Data binary biasanya digunakan pada level paling dasar dalam sistem komputer.


Cara Mengenali Jenis Encoding

Jenis Encoding Ciri-Ciri
Base64 Campuran huruf besar-kecil, angka, dan simbol "="
Base32 Dominan huruf kapital dan angka
Binary Hanya angka 0 dan 1
Hexadecimal Menggunakan angka 0-9 dan huruf A-F
URL Encoding Banyak menggunakan simbol "%" seperti %20

Contoh Penggunaan Encoding di Dunia Nyata

  • Website dan Browser
    Browser menggunakan URL Encoding untuk mengirim karakter khusus pada URL.

  • Email
    Lampiran email biasanya dikirim menggunakan Base64.

  • JSON Web Token (JWT)
    JWT menggunakan Base64 untuk menyimpan data token.

  • QR Code
    Data pada QR Code disimpan menggunakan format encoding tertentu agar dapat dibaca mesin.

Pemahaman yang salah

  • Menganggap Base64 adalah enkripsi
  • Mengira encoding dapat mengamankan data
  • Menganggap encoded text tidak bisa dikembalikan ke bentuk asli

Padahal, sebagian besar encoding dapat di-decode kembali dengan sangat mudah menggunakan tools online maupun program sederhana.


Kesimpulan

Encoding adalah proses perubahan format data agar lebih mudah diproses, disimpan, atau dikirimkan antar sistem. Walaupun hasilnya sering terlihat seperti data acak, encoding bukanlah metode keamanan.

Dengan memahami karakteristik berbagai jenis encoding, kita dapat lebih mudah mengenali pola data pada dunia pemrograman, jaringan komputer, maupun kompetisi cybersecurity seperti CTF.

1 komentar: