Chifferidentifierare

Har du hittat en misstänkt sträng i ett CTF-pussel, en loggfil eller ett gammalt dokument och kan inte avgöra om det är Base64, hex, binärt, morsekod eller något annat? Klistra in texten så kontrollerar identifieraren teckenuppsättning och struktur för att ranka de mest sannolika kodningarna och chiffren. Bra första steg innan du tar till dedikerade avkodare.

Så fungerar chifferidentifieraren

  1. 1

    Klistra in chiffertexten

    Valfri längd. Mycket korta strängar (< 20 tecken) ger svagare signaler; längre text möjliggör starkare klassificering.

  2. 2

    Analys av teckenuppsättning

    Fördelningen av bokstäver, siffror och symboler smalnar av kandidaterna (allt hex, allt base64-alfabet, allt versalt latin osv.).

  3. 3

    Signaturmatchning

    Längdregler (jämn hex, base64-block om 4, 32/40/64 hex-tecken för hashvärden), avgränsare (punkter för JWT, punkter och streck för morsekod) och kända prefix (eyJ, $2b$) jämförs med kända signaturer.

  4. 4

    Rankade gissningar

    Alla matchande kandidater rangordnas efter konfidens och visas i procent, så du vet vilken avkodare du ska prova först.

Detektionsheuristiker

Ledtråd Troligt chiffer / kodning
Bara A-Z a-z 0-9 + / =, längd multipel av 4 Base64
Bara 0-9 a-f, jämn längd Hex
Bara 0-1, 8 eller fler siffror Binärt
Bara punkter, streck, snedstreck och blanksteg Morsekod
Bara versala latinska bokstäver, 5+ bokstäver Caesar- eller substitutionschiffer
20+ latinska bokstäver, inga blanksteg Monoalfabetiskt chiffer
Latinska bokstäver i versaler och gemener Klartext, förmodligen inget chiffer
Tre punktavgränsade segment, börjar med eyJ JWT-token
Börjar med $2a$, $2b$ eller $2y$ bcrypt-hash
Exakt 32 hex-tecken MD5-hash
Exakt 40 hex-tecken SHA-1-hash
Exakt 64 hex-tecken SHA-256-hash

Avslöjanden bortom tecknen

  • Base64: block om 4, =-padding i slutet, innehåller + och /.
  • Caesar eller substitution: versala latinska bokstäver, inga siffror. Frekvenserna är klartextens, bara skiftade.
  • Morse: prickar, streck, snedstreck, blanksteg endast.
  • JWT: tre segment åtskilda av punkter, börjar vanligen med eyJ.
  • Hashar (MD5/SHA): hex med fast längd (32 tecken för MD5, 40 för SHA-1, 64 för SHA-256). Inte reversibla, identifieraren flaggar detta så du inte försöker “avkoda”.
  • Binärt: långa följder av 0 och 1, ofta grupperade i åttor.

Begränsningar i automatisk identifiering

  • Korta indata (<10 tecken): konfidensen är låg över hela linjen. Kan vara vad som helst.
  • Eget XOR med engångsnyckel: omöjligt att skilja från slump utan nyckeln. Identifieraren returnerar ingen matchning.
  • Flera lager: ett vanligt CTF-knep är Base64 → reverse → Caesar → hex. Skala av ett lager i taget.
  • Källspråk som inte är engelska: kontrollerna av latinska bokstäver gäller fortfarande, men “klartext” är bara en gissning; identifieraren gör ingen språkdetektering.

Konfidenspoäng

Varje kandidat har en fast konfidens utifrån hur specifik dess signatur är. Över 80 %: trolig. 50-80 %: rimlig. Under 50 %: en chansning. Flera matchningar betyder vanligen antingen kort indata eller ett hybridchiffer.

Vanliga frågor

Varje teknik för chifferidentifiering bygger på statistiska regelbundenheter, och statistik behöver tillräckligt med data för att vara pålitlig. Under 20 tecken ser många chiffer identiska ut; 50+ tecken ger stabila signaler.

Den föreslår bara det mest sannolika schemat. Avkodningen sker i de dedikerade avkodningsverktygen, och vissa avkodningar kräver en nyckel som du måste ange.

Kolla teckenuppsättningen först (vilka bokstäver/symboler dyker upp), sedan längd och struktur. Är det fortfarande oklart, prova vanliga misstänkta avkodare (Base64, hex, Caesar) en i taget, i en CTF räcker frekvens + gissning oftast inom en handfull försök.

Förmodligen inte som en namngiven matchning: den returnerar inga kandidater eller en gissning med låg konfidens. Jämför chiffertextens alfabet och struktur med heuristiktabellen ovan för att bakåtkonstruera enkla hemsnickrade scheman.

Relaterade verktyg