Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Expert System for Solving Simple Cryptograms Carolyn Rucci Dr. Ralph Morelli 1 year project.

Similar presentations


Presentation on theme: "An Expert System for Solving Simple Cryptograms Carolyn Rucci Dr. Ralph Morelli 1 year project."— Presentation transcript:

1 An Expert System for Solving Simple Cryptograms Carolyn Rucci Dr. Ralph Morelli 1 year project

2 Overview Goal Background information What is an Expert System My Expert System - CipherExpert How does CipherExpert Work? Extensibility Results from testing Caesar Cipher

3 What? How? Goal Cryptanalysis techniques

4 Background Information dqdobvlv dqg ghflskhuph qw ri hqfubswhg phvvdjhv Cryptography Cryptanalysis Analysis and decipherm ent of encrypted messages

5 What is an Expert System? Reasons! CipherExpert

6 Hcrypto Analyzer classes (Java) Jess Expert System Main Java Class Hcrypto Decryption Classes (Java) Computer Science department libraries Prototype that uses a limited set of historical ciphers: Transposition, Caesar, Affine, Vigenere and Playfair Cipher Expert

7 How Does the Expert System Work? Distribution of Letter Frequencies Index of Coincidence

8 Easily Extensible Ciphers Substitution Simple- CaesarAffine Poly- PlayfairVigenere Transposition Rail FenceNew Cipher Add new classifications to family tree New rules New Cipher New Rules

9 Testing Tested CipherExpert 36 times, using 3 texts of varying length Determined CipherDecrypted Text Short Text (36 chars ) 10 / 12 Medium Text (500 chars) 11 / 1210 / 12 Long Text (1500 chars) 12 / 12 Overall 33 / 3632 / 36

10 Caesar Cipher abcdefghijklmnopqrstuvwxyz Ocdn dn v ozno oj nzz da ncjmo hznnvbzn rjmf. This is a test to see if short messages work. vwxyzabcdefghijklmnopqrstu Key = shift by 5 decipher

11 Advantages of an Expert System 1. More Efficient and accurate than other methods  Do not have to try all ciphers to find a decryption  No false positive decryptions 2. Analysis based on the frequencies of letters in the message  Distribution of letter frequencies  Index of coincidence

12 Java Main Class IndexOfCoincidence IOC(String) getIOC() : double Cipher Cipher(String) getShift() : int setCipher(String) getCipher() : String wkdwlvkr zlizrunv Text file Originally “unknown” IndexOfCoincidence IOC(String) getIOC() : double Cipher Cipher(String) getShift(): int setCipher(String) getCipher() : String Rete Java Main Class

13 Jess: Getting Started 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 Fetch IndexOf Coincidence Object from rete

14 Jess: Example of Move to Substitution Rule Test shift <> 0 Search depth - 1 parent - no-parent ic -.067 shift - 4 type - unknown last-move - no-move Current_node true Matches node Creates new node Search depth - 2 parent - current_node ic -.067 shift - 4 type - unknown last-move - Substitution New_node

15 Jess: The Jess Path After each new node is created: 1) If type = knownRecognize cipher Return “last-move” of current node to Java 2) Else type unknownFurther solution Attempt to match another node


Download ppt "An Expert System for Solving Simple Cryptograms Carolyn Rucci Dr. Ralph Morelli 1 year project."

Similar presentations


Ads by Google