Download presentation
Published byKenneth Stewart Modified over 8 years ago
1
Classification of Ciphers using Machine Learning
- - Gopi Krishna Chitluri
2
Brief Introduction to Cryptography
3
Classical Ciphers Substitution Cipher Permutation Cipher
Vigenere Cipher Combination of Substitution & Permutation Cipher
4
Modern Ciphers Blowfish Camellia RC4 IDEA DES AES
5
Support Vector Machine
6
Test Vector Blowfish (or Camellia) and RC4 ciphertext.
Break them into 320 bit segments. Take few segments from each class and generate test vectors by solving following optimisation problem Maximize objective function f = ci subjected to a set of Blowfish (or Camellia) constraints of the form A test vector is a collection of a total of 321 variables, 320 variable value and one threshold value {c1, c2, …, c320, T}
7
Good Test Vector The test vector is applied over Blowfish and RC4 files. Test vectors which are good at classifying the ciphers with a success greater than particular threshold are called good test vectors. We apply these good test vectors on a file to determine the cipher. We call it Blowfish, if more than half of the good vectors classify this file as a Blowfish, otherwise we classify it as RC4.
8
Generating Trivially Good Test Vectors
Use linear programming in the below equation to generate a set of test vectors. Maximize objective function f = ci subjected to a set of C1 constraints of the form
9
Generating Trivially Good Test Vectors
Test vectors are applied on 500 C1 (Blowfish or Camellia) files and 500 RC4 files. We calculate threshold value T that would be able to distinguish C1 and RC4. These are called trivially good test vectors because their performance is slightly better than 50% accuracy. The performance of test vector is measured by β, if this test vector can classify 50+β files successfully. Experiments generated 9750 and 9675 trivially good test vectors for Blowfish - RC4 and Camellia - RC4 pairs respectively.
10
Modifying Trivially Good Test Vectors
Modifying the whole test vector Modifying the first 160 positions of the test vectors Modifying the odd positions in the test vectors
11
Modifying The Whole Test Vector
Add ε to all the 321 elements of the test vector.
12
Modifying the first 160 positions of the test vectors
Add ε to the first 160 elements of the test vector.
13
Modifying the odd positions in the test vectors
Add ε to the odd position elements of the test vector.
14
Effect of Goodness Threshold 𝛄
15
Conclusion Support Vector Machines are used to classify good test vectors and bad test vectors. Effect of goodness threshold 𝛄 is linear increase in training and testing errors. Distinguishing between good and bad test vectors is simpler when goodness threshold is lower.
16
References sis/repository/pooja.ps sis/repository/girish.pdf sis/repository/anoopjain.pdf iphers_machine_learning.pdf
17
Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.