Since Winter Bash 2021 is over now, I'll now describe how I solved this puzzle to get the Defender of the Unicorn hat, in case anyone in the future is wondering.
Starting our search for Sparkles the /unicorn
Going to winterbash2021.stackexchange.com/unicorn
leads us to the first part of our unicorn-saving journey. Here, we get an enciphered hint:
UIF VOJDPSO IBT CFFO LJEOBQQFE!
XIFSF JT UIF EFGFOEFS PG UIF VOJDPSO OPX?!?!
TUBZ UVOFE… XBJU, B DMVF IBT CFFO MFGU:
NFFU NF BU /tbwf-tqbslmft
OPX XIBUFWFS DBO UIBU NFBO?
This is a fairly simple cipher: just subtract one from each letter. So z
goes to y
, y
goes to x
. a
loops around to z
. The decoded hint is:
THE UNICORN HAS BEEN KIDNAPPED!
WHERE IS THE DEFENDER OF THE UNICORN NOW?!?!
STAY TUNED… WAIT, A CLUE HAS BEEN LEFT:
MEET ME AT /save-sparkles
NOW WHATEVER CAN THAT MEAN?
In the HTML source code for this page is a haiku hint that will come in handy in the next step:
<!--
And another clue as well, that might be useful later:
oh where, oh where has
my unicorn gone? oh where
oh where can she be?
-->
Starting our recuse mission to /save-sparkles
Going to winterbash2021.stackexchange.com/save-sparkles
gives us a more involved puzzle. (that page uses underlining instead of bold but I can't use underline in answers)
The kidnapper seems to have left notes on a piece of paper:
ir fsncif wcovcp
fwfa abierpmz hbwf rif
irctz ifchj bdrnv
afwrmnvcricufe
nivcm iffemfttmz baabihfe
afwfatfe rivr nt
irx er b iffegnm
efgz erxi fboj tfoafv fba
ani vcm zrn rxi nt
Below this is some more mysterious text:
riof nqri b xciv dbtj praarx, xjcmf c qriefafe, gnmm rg traarx
rwfa fiemftt ed arxt aforaecih tvbvt rg hbpft hbmraf —
xjcmf c vacfe, ifbamz tnooffecih, vr qafwfiv vjf prniet rg ojfbvcih
tneefimz vjfaf obpf b wctcri, qcihcih ri pz ojbvarrp erra —
“xjbv ornme vjbv df,” c pnvvfafe, “dmcilcih ri pz ojbvarrp erra —
rimz vjct bie irvjcih praf.”
rj xjfaf, rj xjfaf jbt
pz nicorai hrif? rj xjfaf
rj xjfaf obi tjf df?
Scrawled on the back of the note is written:
qaroffe vr /_____-_____-___-______-___-______-___/3463333
Can anything be done to save poor Sparkles?
Something can be done! Let's decode the kidnapper's notes. This cipher is not a simple Caesar cipher, but it does seem to be a sort of substitution code.
The cipher used here was familiar to me because, *sigh*, the cipher used here is very similar to the way certain models of Cisco Wi-Fi routers attempt to obfuscate their configuration. They used to just have it in plaintext, but then someone found some security issues with the way config files are handled, so Cisco just obfuscated the contents of the config file a little bit.
Anyways, what's happening here is that each letter in the messages has been replaced with another letter uniformly. For example, all w
s have been replaced with x
s. We can easily find most of the mappings with a known-plaintext attack. Remember that haiku from a section ago? Some of the text in the the second note matches up to that. Compare:
rj xjfaf, rj xjfaf jbt
pz nicorai hrif? rj xjfaf
rj xjfaf obi tjf df?
oh where, oh where has
my unicorn gone? oh where
oh where can she be
With this, we can learn what most of the letters are. We see that from the first word, o
maps to r
, h
maps to j
, and so on. Here's what we can decode so far (decoded text is in bold):
no esuine wicvim
ewer raneommy gawe one
noisy neigh abouv
rewomuvioniuee
unvim neeemessmy arrangee
rewersee onvo us
now eo a neeegum
eegy eown each secrev ear
run vim you own us
once uqon a winv bash morrow, whime i qoneeree, gumm og sorrow
ower enemess eb rows recoreing svavs og games gamore —
whime i vriee, nearmy succeeeing, vo qrewenv vhe mounes og cheaving
sueeenmy vhere came a wision, qinging on my chavroom eoor —
“whav coume vhav be,” i muvveree, “bminling on my chavroom eoor —
onmy vhis ane novhing more.”
oh where, oh where has
my unicorn gone? oh where
oh where can he be?
qroceee vo /_____-_____-___-______-___-______-___/3463333
At this point, let's look at what the underlined letters form: ne?er-gonna-run-aroun?-an?-?eser?-you
It's pretty easy to guess that it's going to form never-gonna-run-around-and-desert-you
for seasoned Rick Ashley enthusiasts, but for those who don't know so much about the lyrics of hit pop songs, we can make some easy inferences about letters: for example, with abouv
, it's pretty easy to guess that v
s should be replaced with t
s. With this method, we can decode the 9 remaining letters to get this great poetry:
no equine victim
ever randomly gave one
noisy neigh about
revolutionized
until needlessly arranged
reversed onto us
now do a needful
defy down each secret ear
run til you own us
once upon a wint bash morrow, while i pondered, full of sorrow
over endless db rows recording stats of games galore —
while i tried, nearly succeeding, to prevent the mounds of cheating
suddenly there came a vision, pinging on my chatroom door —
“what could that be,” i muttered, “blinking on my chatroom door —
only this and nothing more.”
oh where, oh where has
my unicorn gone? oh where
oh where can he be?
proceed to /_____-_____-___-______-___-______-___/3463333
Going to winterbash2021.stackexchange.com/never-gonna-run-around-and-desert-you/3463333
(the link is different for each user) gives us the final challenge: a 10 question quiz.
Not running around or deserting sparkles
At this stage, you need to answer 10 questions correctly to "free the unicorn". These are various trivia questions about the Stack Exchange network. Once completed, you earn a Defender of the Unicorn hat, and Sparkles the Unicorn is freed!
1/₁₅P₁₀ = 5! / 15! = 1 / ∏(6…15) = 1 / 10_897_286_400