Publication Date
Spring 2019
Degree Type
Master's Project
Degree Name
Master of Science (MS)
Department
Computer Science
First Advisor
Mark Stamp
Second Advisor
Thomas Austin
Third Advisor
Fabio Di Troia
Keywords
Classic Cryptography, Machine Learning
Abstract
We consider the problem of identifying the classic cipher that was used to generate a given ciphertext message. We assume that the plaintext is English and we restrict our attention to ciphertext consisting only of alphabetic characters. Among the classic ciphers considered are the simple substitution, Vigenère cipher, playfair cipher, and column transposition cipher. The problem of classification is approached in two ways. The first method uses support vector machines (SVM) trained directly on ciphertext to classify the ciphers. In the second approach, we train hidden Markov models (HMM) on each ciphertext message, then use these trained HMMs as features for classifiers. Under this second approach, we compare two classification strategies, namely, convolutional neural networks (CNN) and SVMs. For the CNN classifier, we convert the trained HMMs into images. Extensive experimental results are provided for each of these classification techniques.
Recommended Citation
Krishna, Nivedhitha Ramarathnam, "Classifying Classic Ciphers using Machine Learning" (2019). Master's Projects. 699.
DOI: https://doi.org/10.31979/etd.xkgs-5gy6
https://scholarworks.sjsu.edu/etd_projects/699