SlideShare a Scribd company logo
1 of 17
Henry E. Lackey High School’s
Cyber Robot Challenge Team
CHARGED
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
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
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.
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
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
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
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
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
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
Public/Private Key Cipher
History Implementation
• Mathematical Cipher
• Asymmetric Key Cryptography
• No Efficient Cracking Method
• Currently: USED
• Define 𝒂 𝟏, 𝒃 𝟏, 𝒂 𝟐, and 𝒃 𝟐
• Calculate Public Key (n,e)
• Calculate Private Key (n,d)
• Calculate Ciphertext c
• Calculate Plaintext m
𝒁 = 𝒂 𝟏 𝒃 𝟏 − 𝟏 𝒆 = 𝒂 𝟐 𝒁 + 𝒂 𝟏
𝒅 = 𝒃 𝟐 𝒁 + 𝒃 𝟏
𝒏 =
𝒅𝒆 − 𝟏
𝒁
𝒏 = 𝒂 𝟐 𝒃 𝟐 𝒁 + 𝒂 𝟏 𝒃 𝟐 + 𝒂 𝟐 𝒃 𝟏 + 1
𝒄 = 𝒆𝒎(𝒎𝒐𝒅 𝒏) 𝒎 = 𝒅𝒄(𝒎𝒐𝒅 𝒏)
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
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.
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
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
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
Python Trifold2014

More Related Content

Similar to Python Trifold2014

From Research Objects to Reproducible Science Tales
From Research Objects to Reproducible Science TalesFrom Research Objects to Reproducible Science Tales
From Research Objects to Reproducible Science Tales
Bertram Ludäscher
 
Pharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source SmalltalkPharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source Smalltalk
Serge Stinckwich
 
shahed_anwar_oral_exam_ver_1.0
shahed_anwar_oral_exam_ver_1.0shahed_anwar_oral_exam_ver_1.0
shahed_anwar_oral_exam_ver_1.0
Shahed Anwar
 

Similar to Python Trifold2014 (20)

An Introduction to Recent Advances in the Field of NLP
An Introduction to Recent Advances in the Field of NLPAn Introduction to Recent Advances in the Field of NLP
An Introduction to Recent Advances in the Field of NLP
 
Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)
 
Evolution of Deep Learning and new advancements
Evolution of Deep Learning and new advancementsEvolution of Deep Learning and new advancements
Evolution of Deep Learning and new advancements
 
DeepLearning
DeepLearningDeepLearning
DeepLearning
 
Fundamentals of Gestural Interaction
Fundamentals of Gestural InteractionFundamentals of Gestural Interaction
Fundamentals of Gestural Interaction
 
From Research Objects to Reproducible Science Tales
From Research Objects to Reproducible Science TalesFrom Research Objects to Reproducible Science Tales
From Research Objects to Reproducible Science Tales
 
Approximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetupApproximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetup
 
Approximate Nearest Neighbors and Vector Models by Erik Bernhardsson
Approximate Nearest Neighbors and Vector Models by Erik BernhardssonApproximate Nearest Neighbors and Vector Models by Erik Bernhardsson
Approximate Nearest Neighbors and Vector Models by Erik Bernhardsson
 
Pharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source SmalltalkPharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source Smalltalk
 
SAX-VSM
SAX-VSMSAX-VSM
SAX-VSM
 
Fv3111451146
Fv3111451146Fv3111451146
Fv3111451146
 
Learn about Your Location (Using ALL Your Data)
Learn about Your Location (Using ALL Your Data)Learn about Your Location (Using ALL Your Data)
Learn about Your Location (Using ALL Your Data)
 
CCS_overview.pptx
CCS_overview.pptxCCS_overview.pptx
CCS_overview.pptx
 
MoLe: Motion Leaks through Smartwatch Sensors
MoLe: Motion Leaks through Smartwatch SensorsMoLe: Motion Leaks through Smartwatch Sensors
MoLe: Motion Leaks through Smartwatch Sensors
 
Introduction to deep learning
Introduction to deep learningIntroduction to deep learning
Introduction to deep learning
 
hkn_talk.ppt
hkn_talk.ppthkn_talk.ppt
hkn_talk.ppt
 
Erik Bernhardsson, CTO, Better Mortgage
Erik Bernhardsson, CTO, Better MortgageErik Bernhardsson, CTO, Better Mortgage
Erik Bernhardsson, CTO, Better Mortgage
 
Java for android developers
Java for android developersJava for android developers
Java for android developers
 
shahed_anwar_oral_exam_ver_1.0
shahed_anwar_oral_exam_ver_1.0shahed_anwar_oral_exam_ver_1.0
shahed_anwar_oral_exam_ver_1.0
 
The Web of Data: do we actually understand what we built?
The Web of Data: do we actually understand what we built?The Web of Data: do we actually understand what we built?
The Web of Data: do we actually understand what we built?
 

More from George Jenkins

Lackey_Prosthetic_Arm_Report_Nationals
Lackey_Prosthetic_Arm_Report_NationalsLackey_Prosthetic_Arm_Report_Nationals
Lackey_Prosthetic_Arm_Report_Nationals
George Jenkins
 

More from George Jenkins (12)

Losing Their Minds: CTE Blindsiding the NFL
Losing Their Minds: CTE Blindsiding the NFLLosing Their Minds: CTE Blindsiding the NFL
Losing Their Minds: CTE Blindsiding the NFL
 
CTE in the NFL
CTE in the NFLCTE in the NFL
CTE in the NFL
 
Masculinity, Femininity & Engineering
Masculinity, Femininity & EngineeringMasculinity, Femininity & Engineering
Masculinity, Femininity & Engineering
 
An Analysis of Kate Chopin's "The Story of an Hour"
An Analysis of Kate Chopin's "The Story of an Hour"An Analysis of Kate Chopin's "The Story of an Hour"
An Analysis of Kate Chopin's "The Story of an Hour"
 
STEM Demand Presentation
STEM Demand PresentationSTEM Demand Presentation
STEM Demand Presentation
 
STEM Demand speech
STEM Demand speechSTEM Demand speech
STEM Demand speech
 
It's Just Trash: The Devastating Consequences of Littering
It's Just Trash: The Devastating Consequences of LitteringIt's Just Trash: The Devastating Consequences of Littering
It's Just Trash: The Devastating Consequences of Littering
 
Arduino Line Following Robot Technical Report
Arduino Line Following Robot Technical ReportArduino Line Following Robot Technical Report
Arduino Line Following Robot Technical Report
 
Team 2 Presentation
Team 2 PresentationTeam 2 Presentation
Team 2 Presentation
 
Prosthetic Arm
Prosthetic ArmProsthetic Arm
Prosthetic Arm
 
Lackey_Prosthetic_Arm_Report_Nationals
Lackey_Prosthetic_Arm_Report_NationalsLackey_Prosthetic_Arm_Report_Nationals
Lackey_Prosthetic_Arm_Report_Nationals
 
GAM FDR pres
GAM FDR presGAM FDR pres
GAM FDR pres
 

Python Trifold2014

  • 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
  • 11. Public/Private Key Cipher History Implementation • Mathematical Cipher • Asymmetric Key Cryptography • No Efficient Cracking Method • Currently: USED • Define 𝒂 𝟏, 𝒃 𝟏, 𝒂 𝟐, and 𝒃 𝟐 • Calculate Public Key (n,e) • Calculate Private Key (n,d) • Calculate Ciphertext c • Calculate Plaintext m 𝒁 = 𝒂 𝟏 𝒃 𝟏 − 𝟏 𝒆 = 𝒂 𝟐 𝒁 + 𝒂 𝟏 𝒅 = 𝒃 𝟐 𝒁 + 𝒃 𝟏 𝒏 = 𝒅𝒆 − 𝟏 𝒁 𝒏 = 𝒂 𝟐 𝒃 𝟐 𝒁 + 𝒂 𝟏 𝒃 𝟐 + 𝒂 𝟐 𝒃 𝟏 + 1 𝒄 = 𝒆𝒎(𝒎𝒐𝒅 𝒏) 𝒎 = 𝒅𝒄(𝒎𝒐𝒅 𝒏)
  • 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