1. Henry E. Lackey High School’s
Cyber Robot Challenge Team
CHARGED
2. Overview
Challenge:
Guide a Defender Robot through a maze and navigate to a network
exit.
Defeat benign bugs and vile viruses by solving cryptography puzzles
and attempt to solve numerically-encrypted secret passphrases.
RobotMazes Cryptography Puzzles
Vile VirusesBenign Bugs
Clues
3. Design: Influences
Previous Solutions
Previously used was the follow-the-wall concept, which algorithms consistently fell
into infinite loops. Online research indicates algorithms that choose movements
randomly or pseudo-randomly are much more efficient.
Random Walker Pseudo-Random Walker
y
x
Explored Area
Efficiency of Random and Pseudo-random Walkers
4. Markov Chain Monte Carlo Approach
Sample Distribution
A class of algorithms used to explore a nontrivial space efficiently
2D Random Walk
Modified Random Walk
Exploring space with a tendency to explore new areas
using the following equation:
p =
𝑟
𝑤 𝑛
Where p is the relative probability of making the move,
r is a random number between zero and one, n is the
number of previous visits to that location, and w is the
weight placed on number of previous visits
Randomness (r)
Allows robot to make “bad” steps occasionally to
ensure entire space can be explored
Weight (w)
Defined as four to increase speed of exploration in
likely directions, three to less likely directions, such as
south.
5. Program: Final
Storage
A list of visits to previous locations allows
for a tendency to explore unvisited areas
List
Location
Number of Visits
(1,0)
0
(0,1)
0
(0,0)
1
Procedure
1. Update orientation
2. Choose move
3. Validate move
4. Perform move
5. Update list
Validation
Validating after selection for that
iteration limits extraneous sensings
Orientation
Movement procedure depends on
orientation and target location
6. Program: Original
Storage
A list of previous locations allows for a
tendency to explore unvisited areas and
store invalid moves
Procedure
1. Validate cells
2. Store invalid moves
3. Choose move
4. Perform move
5. Update list
List
Location
Number of Visits
(1,0)
0
(0,1)
n/a
(0,0)
1
Cell
Elimination
Wall-based elimination prevents full
exploration of space
7. Program: Modified
Storage
A list of visits to previous locations allows
for a tendency to explore unvisited areas
List
Location
Number of Visits
(1,0)
0
(0,1)
0
(0,0)
1
Procedure
1. Validate cells
2. Store invalid moves
3. Choose move
4. Perform move
5. Update list
Validation
Validating before selection for that
iteration increases extraneous sensings
Elimination
Invalid moves are eliminated for
current iteration
8. Caesar Cipher
• Named after: Julius Caesar
• Most common beginner cipher
• Used in more complex ciphers
• Currently: OBSOLETE
History
• Choose shift number
• Shift outer ring
• Encrypt plaintext
Implementation
9. Vigenère Cipher
History Implementation
• Named After: Blaise de Vigenère
• Created By: Giovan Battista Bellaso
• Currently: OBSOLETE
• Multiple Caesar ciphers
• Choose key word
• Repeat key word to match character
count to plaintext
• Assign key word character to
plaintext characters
• Replace plaintext with shifted letter
from character’s Vigenère Table row
10. Transposition Cipher
History Implementation
• Ciphertext: Permutation of plaintext
• Types: Rail Fence, Route, Columnar,
Double, and Myszkowski
• Choose key word
• Write plaintext crosswise
• Alphabetize key word
• Write columns in alphabetic order
12. Polybius Square Cipher
History Implementation
• Named after: Greek Scholar Polybius
• Originally a 5 by 5 Square
• Combine Letters I and J
• Currently: Obsolete
• Choose a key word
• Write key word in upper left
• Never repeat letters
• Finish writing remaining letters
• Words into corresponding numbers
13. Team Members
George Jenkins (Team Captain) – 3rd Year - Senior
Wrote main program, Lead Research, Technical Report, Presentation.
Nathaniel Dudley – 2nd Year - Junior
Helped writing code, Technical report, lead Public/Private Key Cipher
research.
Mai-lin Quinto – 1st Year - Junior
Lead research Transposition, Polybius Square Ciphers, constructed
presentation.
Melissa Nelson – 1st Year - Junior
Lead research on the Caeser, Vigenère Ciphers, constructed
presentation.
14. Python programming environment IDLE
How PGP works. (n.d.). The International PGP Home Page. Retrieved March 10, 2014, from http://www.pgpi.org/doc/pgpintro
Modular Arithmetic — An Introduction. (n.d.). Mathematics Department - Welcome. Retrieved March 10, 2014, from
http://www.math.rutgers.edu/~erowland/modulararithmetic.html
SAS/STAT(R) 9.3 User's Guide. (n.d.). SAS Customer Support Knowledge Base and Community. Retrieved March 10, 2014, from
http://support.sas.com/documentation/cdl/en/statug/63962/HTML/default/viewer.htm#introbayes_toc.htm
The Black Chamber - Caesar Cipher. (n.d.). Home. Retrieved March 11, 2014, from
http://www.simonsingh.net/The_Black_Chamber/caesar.html
Transposition Ciphers. (n.d.). Cornell Mathematics. Retrieved March 12, 2014, from http://www.math.cornell.edu/~mec/2003-
2004/cryptography/transposition/transposition.html
Vigenere Cipher. (n.d.). Computer Science. Retrieved March 12, 2014, from http://www.cs.trincoll.edu/~crypto/historical/vigenere.html
can, t. c. (n.d.). Python 101 -- Introduction to Python. Rexx. Retrieved March 13, 2014, from
http://www.rexx.com/~dkuhlman/python_101/python_101.html
::: MESA - Maryland :::. (n.d.). The Johns Hopkins University Applied Physics Laboratory. Retrieved March 14, 2014, from
http://www.jhuapl.edu/mesa/events/mesaday/
Online resources
School computer
Home computer
Materials and References
15. Weak computers and system-intensive programs
Dividing teamwork effectively
Learning ciphers
Developing the maze-solving programs
Solved by: Research and trial and error
Solved by: Evaluating strengths and weaknesses
Solved by: Internet research
Solved by: Use of home computer
Challenges
16. The Ciphers
How to autonomously solve a maze
Python
Modulo arithmetic and other cryptographic mathematical formulae
New mathematical concepts and nested equations
Bayesian random walk exploration
Lists, loops, and logical statements
Caesar, Vigenère, Transposition, Polybius Square, and Public/Private Key
What We Learned