Title: An Expert System for Solving Simple Cryptograms
1An Expert System for Solving Simple Cryptograms
- Carolyn Rucci
- Dr. Ralph Morelli
- 1 year project
2Overview
- Goal
- Background information
- What is an Expert System
- My Expert System - CipherExpert
- How does CipherExpert Work?
- Extensibility
- Results from testing
- Caesar Cipher
3Goal
4Background Information
Cryptography
Cryptanalysis
5What is an Expert System?
Reasons!
CipherExpert
6Cipher Expert
- Prototype that uses a limited set of historical
ciphers Transposition, Caesar, Affine, Vigenere
and Playfair
Main Java Class
Computer Science department libraries
7How Does the Expert System Work?
Distribution of Letter Frequencies
8Easily Extensible
New Rules
New Cipher
Add new classifications to family tree
9Testing
- Tested CipherExpert 36 times, using 3 texts of
varying length
Determined Cipher Decrypted Text
Short Text (36 chars) 10 / 12 10 / 12
Medium Text (500 chars) 11 / 12 10 / 12
Long Text (1500 chars) 12 / 12 12 / 12
Overall 33 / 36 32 / 36
10Caesar Cipher
a b c d e f g h i j k l m n o p q r s t u v w x y z
Key shift by 5
Ocdn dn v ozno oj nzz da ncjmo hznnvbzn rjmf.
v w x y z a b c d e f g h i j k l m n o p q r s t u
This is a test to see if short messages work.
11Advantages of an Expert System
- More Efficient and accurate than other methods
- Do not have to try all ciphers to find a
decryption - No false positive decryptions
- Analysis based on the frequencies of letters in
the message - Distribution of letter frequencies
- Index of coincidence
12Java Main Class
Java Main Class
Text file
13Jess Getting Started
- Fetch IndexOf Coincidence Object from rete
Search depth - 1 parent - no-parent ic - call
getIOC() on object shift - call getShift() on
object type - unknown last-move - no-move
- Create a template for initial position
14Jess Example of Move to Substitution Rule
Test shift ltgt 0
15Jess The Jess Path
- After each new node is created
1) If type known
2) Else type unknown