Kriptografija lako

Tekstualne reprezentacije (ASCII, HEX, Base64)

🎯 Cilj lekcije

U ovoj lekciji naučićeš kako se tekst zapravo prikazuje u računarima i zašto se u CTF zadacima poruke često ne vide kao “običan tekst”, već kao brojevi i kodovi.

Ovo je jedna od najvažnijih lekcija u kriptografiji za početnike.

🧠 Zašto je ovo bitno?

U CTF zadacima ćeš vrlo često videti nešto poput:

506f7a64726176
UG96ZHJhdg==
80 111 122 100 114 97 118

Na prvi pogled izgleda “šifrovano”, ali u stvarnosti je to često samo drugačiji zapis istog teksta.

ASCII – kako računar vidi slova

Računari ne razumeju slova — razumeju brojeve.

ASCII je tabela koja kaže:

  • koje slovo ima koji broj

Primer:

| Karakter | ASCII (dec) |
| -------- | ----------- |
| A        | 65          |
| a        | 97          |
| 0        | 48          |
| space    | 32          |

Primer:

Tekst "Pozdrav" u ASCII (decimalnom) zapisu izgleda ovako:

80 111 122 100 114 97 118

📌 CTF hint: Ako vidiš niz brojeva između 32 i 126 — vrlo verovatno je ASCII.

HEX – heksadecimalni zapis

HEX (heksadecimalni sistem) koristi:

0–9 i A–F

Zašto se koristi?

  • kraći zapis

  • lakši za rad sa bajtovima

  • često se koristi u kriptografiji i forenzici

Primer:

50 6f 7a 64 72 61 76

To je HEX zapis za:

Pozdrav

📌 Kako da prepoznaš HEX?

  • samo brojevi 0–9 i slova A–F

  • često paran broj karaktera

  • izgleda “kompaktno”

Base64 – enkodiranje za prenos podataka

Base64 NIJE enkripcija. To je enkodiranje.

Koristi se da:

  • binarni podaci mogu da se šalju kao tekst

  • radi u emailovima, HTTP-u, JSON-u…

Primer:

UG96ZHJhdg==

Dekodirano:

Pozdrav

📌 Kako da prepoznaš Base64?

  • koristi A–Z, a–z, 0–9, +, /

  • često se završava sa = ili ==

  • dužina je često deljiva sa 4

📦 Kako se ovo pojavljuje u CTF zadacima?

U zadacima često dobiješ:

  • fajl u kojem piše HEX
  • string koji izgleda kao Base64
  • niz brojeva razdvojenih razmacima

Tvoj prvi zadatak NIJE da razmišljaš o šiframa, već da proveriš:

➡ da li je ovo samo tekst u drugom zapisu.

🧩 Mini CTF primer

Dobiješ string:

U0VDe2Jhc2U2NF96YXN0YXZpY2EhfQ==

Dekodiraj i proveri da li si razumeo

📝 Provera Znanja

Unesite svoj odgovor ispod da biste proverili da li ste razumeli lekciju: