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
Klistra in chiffertexten
Valfri längd. Mycket korta strängar (< 20 tecken) ger svagare signaler; längre text möjliggör starkare klassificering.
-
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
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
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
Base64-filencoder
Koda valfri fil (PDF, ZIP, bild, körbar fil) till Base64-text för inbäddning i JSON, e-post, YAML eller data-URI:er. Körs lokalt, ingen uppladdning.
A1Z26-chifferkodare
Koda text med A1Z26-chiffret (A=1, B=2, ... Z=26) eller avkoda en siffersekvens tillbaka till bokstäver, med anpassningsbar separator.
bcrypt-hashgenerator
Generera bcrypt-hashar eller verifiera ett klartextlösenord mot en befintlig bcrypt-hash. Generera och verifiera sida vid sida i ett verktyg.
AES kryptera / dekryptera
Kryptera och dekryptera text med låg risk med AES-chiffer från OpenSSL. Lösenfrasen hashas med SHA-256 och Base64-utdata innehåller IV plus chiffertext.
bcrypt-generator
Generera en bcrypt-hash från ett klartextlösenord. Justerbar kostnadsfaktor från 4 till 13, kompatibel med Laravel, Django, Node och PHP.
Base58-kodare och avkodare
Koda UTF-8-text eller hexadecimala byte och avkoda Base58 säkert med alfabetet för Bitcoin, Ripple eller Flickr.