Alan Turing showed that
any finite-state machine can model any other. That is how the team at Bletchley Park
built the Bombe to imitate the German Enigma machine. Today, we have “virtual machines” that let us
put Unix and Windows on a Macintosh or Linux and Windows on a PC and so on. The C language is actually an extension of itself,
a realization by Kerninghan and Ritchie that inherent extensibility would allow
programmers to create a language that would never become archaic. And today we have C+, C++, and C#. In fact, Ruby is just a set of macros written
in C. Once you have that, you can create
your own Ruby objects, classes, and methods.
The “Venture Rocket” blog
presented a cute history of computer languages. While one graphic did
acknowledge Visual Basic as the seventh most popular development language,
their history below that ignored Basic entirely. (They did cite Fortran and
Cobol.)
Earlier this month, I
answered a challenge from the Praetorian computer security company to decipher
this block of text.
Mpyza johsslunl ZWXY,
Zluhabz Wvwbsbzxbl Yvthubz (Aol Zluhal huk Wlvwsl vm Yvtl), aolzl hyl aol
budhclypun hsslnphujlz vm Aol Wyhlavyphu Nbhyk, luaybzalk if Jhlzhy av wyvcpkl
aolpy lspal zljbypaf zlycpjlz huk luzbyl aol zhmlaf vm aol nsvihs Yvthu Ltwpyl.
Hz aol zhfpun nvlz, "Hss Yvhkz Slhk av Yvtl", ovdlcly aol whao vm h
Wyhlavyphu pz ulpaoly zayhpnoa uvy klalytpuhal. Aolyl hyl zlclyhs whaoz av
qvpupun aol Wyhlavyphu Nbhyk, iba aol whao dlss-mvbuklk pu tlypa pz aol tvza
ovuvyhisl. Pa pz mvy aopz ylhzvu aoha Jhlzhy ohz klcpzlk aopz zlyplz vm
johsslunlz av qbknl aol tlypa vm wvaluaphs Wyhlavyphu yljybpaz. Fvb ohcl wyvclu
fvbyzlsm ylzvbyjlmbs, iba kvu'a sla fvby nbhyk kvdu hz mhy tvyl kpmmpjbsa
johsslunlz spl holhk. Av hjjlwa fvby ulea johsslunl, fvb dpss ullk av zluk tl h
tlzzhnl vu Zrfwl. Av hkk tl hz h jvuahja, zluk h jvuahja ylxblza jvuahpupun aol
alea "Zluhabz Wvwbsbzxbl Yvthubz" av
"wyhlmljabz.jhzayvybt", aolu zluk tl h joha tlzzhnl av sla tl ruvd
fvb'yl aolyl. Zll fvb vu aol ihaaslmplsk.
To do that, I wrote this
program in BASIC.
10 REM Mike Marotta. June 21, 2013. Praetorian challenge.
11 REM: Claudic.bas compares cipher with known transposed
key
12 REM: prints deciphered text
15 ON ERROR GOTO 199
20 P1$ =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
22 C1$ = "TUVWXYZABCDEFGHIJKLMNOPQRStuvwxyzabcdefghijklmnopqrs"
40 OPEN "i",1,"praeto.txt"
42 OPEN "o",2,"plain.txt"
50 LINE INPUT #1, X$
53 E = LEN(X$)
60 FOR I = 1 TO E
62 Q$ = MID$(X$,I,1)
63 REM Accept punctuation as is
64 IF ASC(Q$)<65 THEN PRINT#2,Q$;:
70 FOR J = 1 TO 52:
73 IF Q$=MID$(P1$,J,1) THEN PRINT#2, MID$(C1$,J,1);
80 NEXT J
85 NEXT I
90 GOTO 50
199 CLOSE 1: CLOSE 2
200 END
The program returned
this decipherment.
First challenge SPQR,
Senatus Populusque Romanus (The Senate and People of Rome), these are the
unwavering allegiances of The Praetorian Guard, entrusted by Caesar to provide
their elite security services and ensure the safety of the global Roman Empire . As the saying goes, "All Roads Lead to
Rome ",
however the path of a Praetorian is neither straight nor determinate. There are
several paths to joining the Praetorian Guard, but the path well-founded in
merit is the most honorable. It is for this reason that Caesar has devised this
series of challenges to judge the merit of potential Praetorian recruits. You
have proven yourself resourceful, but don't let your guard down as far more
difficult challenges lie ahead. To accept your next challenge, you will need to
send me a message on Skype. To add me as a contact, send a contact request
containing the text "Senatus Populusque Romanus" to
"praefectus.castrorum", then send me a chat message to let me know
you're there. See you on the battlefield.
Of course, this is merely
a transliteration. I already broke the
cipher. I found the common three-letter
words, and guessed “the.” I also guessed
that the longest word would be “Praetorian” which then validated two of my
letters in “the.” All I wanted to do
next was avoid the grunt work of writing out the answer. Computers are good for that.
Previously on Necessary
Facts
A Tribute to John Kemeny, inventor of BASIC.
Fortune Cookie in Hex Code
Claude M. Watson
Visualizing Complex Data
The Code Book
Fortune Cookie in Hex Code
Claude M. Watson
Visualizing Complex Data
The Code Book
Well done Michael. Wishing you the best from your friends at Setec Astronomy.
ReplyDeleteLooks like Praetorian updated their online challenges. You may be interested in checking them out: http://www.praetorian.com/challenges/
ReplyDelete