Løsningen på PST sin andre jobbannonse-gåte

twitt3rhai og PST har vært ute med en gåte igjen. Her er hele løsningen - ish! 💡

Tor Henning Ueland er utvikler i Dagbladet, og ble bedt om å sjekke en rar tweet fra PST og "twitte3rhai". Her deler han hele løsningen på årets jobbannonse-gåte! 📸: Ole Petter Baugerød Stokke
Tor Henning Ueland er utvikler i Dagbladet, og ble bedt om å sjekke en rar tweet fra PST og "twitte3rhai". Her deler han hele løsningen på årets jobbannonse-gåte! 📸: Ole Petter Baugerød Stokke Vis mer

Som utvikler for Dagbladet er ingen dag lik. I det ene øyeblikket jobber jeg for å sørge for at alt fungerer som det skal, i det neste undersøker jeg elektroniske spor eller hjelper redaksjonen med tekniske spørsmål.

Ettermiddagen fredag den 20. september havnet fort i den siste kategorien.

Jeg var klar for å ta helg da en journalist kom og spurte: “Du, hva er det PST har tweeta nå?”

Løsningen på PST sin andre jobbannonse-gåte

Jeg merket en viss skepsis da jeg nevnte at det er sikkert en ny kode rettet inn mot sånne som meg (datanerder).

På dette tidspunktet var ikke stillingsutlysningen publisert, men det ble nå uansett publisert en sak om det. Men nysgjerrigperen i meg våknet også, for hva var det PST retweeta denne gangen?

«...for hva var det PST retweeta denne gangen?»

For litt kontekst rundt PSTs forkjærlighet for en hai, kan jeg anbefale Roy Solbergs artikkel om den forrige PST-nøtten.

Base64-enkoda

Det første som slo meg var at dette var en Base64-enkoda tekstsnutt, men jeg stusset over at den ikke kunne dekodes til noe fornuftig.

Hadde det vært et bilde eller lignende ville kommandoen “file” ha avslørt det med en gang:

Løsningen på PST sin andre jobbannonse-gåte

For å dobbelsjekke at jeg ikke overså noe helt (u)logisk, kjørte jeg og resultatet gjennom hexdump for å se om det kunne ligge noen spor (Google-søk på hex-koder kan gi mange tips):

Løsningen på PST sin andre jobbannonse-gåte

Men nei, ingen tips her, heller.

På dette tidspunktet hadde også stillingsutlysningen kommet ut, men da jeg sjekket denne (på mobil) ga ikke den noen hint til denne kodequiz-en.

Så her var det bare en ting å gjøre: Ta en pause og gjøre noe helt annet (vi snakker nå sen fredag ettermiddag, tross alt).

AES-kryptering i Python

Jeg er neppe den eneste utvikleren som kan skrive under på at en god gammeldags pause klarer å løse de verste av problemer.

Etter en pause startet jeg med å besøke stillingsutlysningen en gang til, denne gangen på desktop. Et bilde som dukket opp på mobil som fremstod som et rent stockphoto hadde plutselig masse juicy informasjon i seg:

Løsningen på PST sin andre jobbannonse-gåte

Her ser man en rekke referanser til den forrige nøtten, som blant annet twitterhaien, en pcap-cap og ikke minst kodereferanser til HackerMan i hovedvinduet. Hovedvinduet viser også Python3-koden brukt for å generere en AES-kryptert tekst. Denne teksten er da den samme som vi har sett på Twitter.

Jeg har ikke drevet med AES-kryptering i Python før, men tenkte at det var verdt et forsøk. Når koden nevner nøkkelen som er brukt for kryptering, bør en jo også kunne dekryptere med samme nøkkelen.

Etter å ha lest meg opp på hvordan man utfører AES-dekryptering i Python (takk til Stackoverflow!) satt jeg igjen med følgende 12-linjers kode:

Løsningen på PST sin andre jobbannonse-gåte

Kjøring av denne kodesnutten ga meg da svaret:

“erer! Du klarte det! Beklager, men denne gangen har vi ikke laget flere oppgaver. Håper du vil søke jobben. Hvis du blir ansatt kan vi love deg mange utfordrende oppgaver.”

Klarer du bedre?

Her kan en da anta at den krypterte teksten egentlig er:

“Gratulerer! Du klarte det! Beklager, men denne gangen har vi ikke laget flere oppgaver. Håper du vil søke jobben. Hvis du blir ansatt kan vi love deg mange utfordrende oppgaver.”

Men som de fleste utviklere nok vet, noen ganger må man si stopp, nå kan ikke koden perfeksjoneres for å få til “det lille ekstra”. Her kan man forstå hva svaret var, uten å gjøre koden feilfri.

Men selv om jeg ikke har feilsøkt koden min noe mer, endrer det ikke på det faktum at jeg irriterer meg litt over å ha kode som har spist opp litt av svaret.

Så hvis du har løst denne og fått riktig svar, del gjerne koden på kode24-klubben på Facebook! 😃

(I tilfelle du lurte: Søknadsfristen på PST-stillingen gikk ut 13. oktober 2019.)