Programming challenge: undo this "Caesar" cipher.

ruspaceni
Mon, 28 May 2018 13:27:04 +0000

Disclaimer: I'm a novice and this is a half baked idea

Recap

The Caesar cipher is fairly straight forward as it just shifts letters along by a set amount. This means that it's quite easy to brute force. There's only 25 offsets, after all. Try to decode this to see what i mean:

Plqfh 3 foryhv ri jduolf, dqg frpelqh lq d vpdoo erzo zlwk pdbrqqdlvh, dqfkrylhv, 2 wdeohvsrrqv ri wkh Sduphvdq fkhhvh, Zrufhvwhuvkluh vdxfh, pxvwdug dqg ohprq mxlfh. Vhdvrq wr wdvwh zlwk vdow dqg eodfn shsshu. Uhiuljhudwh xqwlo uhdgb wr xvh. Khdw rlo lq d odujh iublqj sdq ryhu phglxp khdw. Fxw wkh uhpdlqlqj 3 foryhv ri jduolf lqwr txduwhuv, dqg dgg wr krw rlo. Frrn dqg vwlu xqwlo eurzq, dqg wkhq uhpryh jduolf iurp sdq. Dgg euhdg fxehv wr wkh krw rlo. Frrn, wxuqlqj iuhtxhqwob, xqwlo oljkwob eurzqhg. Uhpryh euhdg fxehv iurp rlo, dqg vhdvrq zlwk vdow dqg shsshu. Sodfh ohwwxfh lq d odujh erzo. Wrvv zlwk guhvvlqj, uhpdlqlqj Sduphvdq fkhhvh, dqg vhdvrqhg euhdg fxehv.
bonus points for a program that takes the above text and outputs the shift I used without any human input

My dumb idea (didn't work, my bad. They're in normal Caeser cipher now)

I like the simplicity of the shifting characters but having it always be in one direction, and always being the same offset makes it easy to notice the pattern and decode.

If we have the shift value determined by the length of the current word, and the direction of it dependent on if it's a vowel or a consonant.
a pirate is nothing without his ship becomes
b jolgnk kq gvmapgz ppmavbm elp odml so we still have a visibly Caesar-y cipher, but we'll know it's not a true Caesar cipher.
The offset changes for every word and then is applied based on each letter in the word. If it's a vowel, then the encoded value is shifted upwards but if not, it slides down.

For the purposes of the below tomfoolery; prime numbers are consonants and the rest are vowels.

A Valley Without Wind 1 and 2 Steam Key:
B qjsbuf jt opuijoh xjuipvu ijt tijq
FWR0H-GQM7B-5344H

Aces Wild: Manic Brawling Action:
C rktcvg ku pqvjkpi ykvjqwv jku ujkr
K5R0H-29NPM-A3OTE

Age of Empires Legacy Bundle:
D sludwh lv qrwklqj zlwkrxw klv vkls
69PQW-UY3H7-7SQWT

AI War + 4 DLC packs & Tidalis Steam Key:
E tmvexi mw rsxlmrk amxlsyx lmw wlmt
KO99D-73JZ2-XNIK3

AI War: Vengeance Steam Key:
F unwfyj nx stymnsl bnymtzy mnx xmnu
7M2I8-I99N9-6E9F2

Alan Wake Collector's Edition Steam Key:
G voxgzk oy tuznotm coznuaz noy ynov
6ZNJ5-BIVFN-6ZSDZ

Alan Wake's American Nightmare Steam Key:
H wpyhal pz uvaopun dpaovba opz zopw
7RERD-4ACYN-TCDQ2

Amnesia: Dark Descent Steam Key:
I xqzibm qa vwbpqvo eqbpwcb pqa apqx
VGEO8-OU48X-MU7BL

Anachronox:
J yrajcn rb wxcqrwp frcqxdc qrb bqry
3589L-YGF9V-NKGW0

Anodyne:
K zsbkdo sc xydrsxq gsdryed rsc crsz
9HW7H-7Z73Z-6302D

Anomaly Defenders:
L atclep td yzestyr hteszfe std dsta
ICPIB-M63TI-9Y96V

Anomaly Korea:
M budmfq ue zaftuzs iuftagf tue etub
QMPZ2-JUK8B-JRK3V

Anomaly Korea:
N cvengr vf abguvat jvgubhg uvf fuvc
30R9T-C02AA-7DQLG

Anomaly Warzone Earth:
O dwfohs wg bchvwbu kwhvcih vwg gvwd
38UM9-Z26PH-Q4VAU

Anomaly Warzone Earth Mobile Campaign:
P exgpit xh cdiwxcv lxiwdji wxh hwxe
54TYN-AU26Q-5AGGY

Aquaria Steam key:
Q fyhqju yi dejxydw myjxekj xyi ixyf
3853A-YSB4J-6243A

Awesomenauts:
R gzirkv zj efkyzex nzkyflk yzj jyzg
DH9T5-BWOQC-KB6TB

Awesomenauts:
S hajslw ak fglzafy oalzgml zak kzah
RNRJ0-CPT4O-S9UHE

Awesomenauts Cluck Costume:
T ibktmx bl ghmabgz pbmahnm abl labi
VOWWW-QTR3Q-EAS9J

These are encoded using a Caeser shift. The line under the title is a fixed phrase (a pirate is nothing without his ship) for aid in the bonus points

I can post my code if it turns out to be unsolvable (like a bug https://trinket.io/python/dabf2b61f9), but if not; I can also keep going from letters A to Y (sans U) over the weeks with my humble bundle reserves (plaintext or not). I've had these keys for far too long and I'm never going to actually use them, but I also noticed a surge of keys being donated here so figured I might as well change it up.

Have fun

Comments URL: https://tildes.net/~comp/ze/programming_challenge_undo_this_caesar_cipher

Votes: 9

Comments: 7