Anahi Jimenez, Jorge Vera, and Dr. James
Description: Anahi Jimenez, Jorge Vera, and Dr. James Haralambides (Department of Mathematics and Computer Science, Barry University, Miami Shores, FL) Department of Mathematics and Computer Science Barry University 11300 NE 2nd Ave. Miami Shores, FL
Related Topics
Download Presentation
"Anahi Jimenez, Jorge Vera, and Dr. James" is the property of its rightful owner. Permission is granted to download and print the materials on this website for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Presentation Transcript
slide1. Anahi Jimenez, Jorge Vera, and Dr. James Haralambides
(Department of Mathematics and Computer Science, Barry University, Miami Shores, FL) Department of Mathematics and Computer Science
Barry University
11300 NE 2nd Ave.
Miami Shores, FL 33161
Phone: (305) 899-3286 We are examining the vulnerability of transposition techniques to brute-force attacks. Examined encryption methods include the rail fence cipher, columnar transpositions, with a single or multiple rounds, and the running key cipher. Transposition techniques are mainly based on the rearrangement of characters in a given plaintext. The goal of our work is twofold: the development of brute force algorithms that automate the process of decryption and the complexity analysis of such methods. The rail fence cipher is a relatively simple encryption method that requires minimal regrouping of characters in the ciphertext and a small execution time to break. The complexity of columnar transpositions is dependent on the length of the encryption key. The algorithm is bounded above by the asymptotic complexity of permutations of length n, where n denotes the length of the encryption key. Executions times rise sharply when multiple rounds are employed. This becomes more prevalent in running key cipher techniques where the key length matches that of plaintext. Generating all permutations can become computationally intensive for long plaintext streams. To produce cryptographically stronger ciphertexts, encryption is performed following filtering of the input stream; spaces are removed and all alphabetic characters are converted to lowercase. Decryption is performed as an iterative process over all permutations of the keys sorted by key length. Execution times may be substantially reduced if the generation of permutation candidates is performed as a preprocessing step for executions over multiple sets of plaintext. A graphical user interface allows for interactive use of the method. Cryptanalysis For Transposition Techniques H2O Abstract Intro to Cryptanalysis Algorithm (Cont.) References Barry University, Miami, FL https://csrc.nist.gov/glossary/term/cryptanalysis
https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/09-Testing_for_Weak_Cryptography/04-Testing_for_Weak_Encryption#:~:text=Summary,such%20as%20MD5%20and%20RC4. Fictional media often displays encrypted texts as being challenging to crack. However, the techniques behind the encryption of these texts are more vulnerable than one might initially think. Cryptanalysis involves the study of existing cryptographic algorithms and “includes the process of looking for errors or weaknesses in the implementation of an algorithm or of the algorithm itself” (National Institute of Standards and Technology). The efficiency of each cryptographic algorithm varies, but these algorithms can become vulnerable if utilized incorrectly. The OWASP foundation mentions that “incorrect uses of encryption algorithms may result in sensitive data exposure, key leakage, broken authentication, insecure session, and spoofing attacks”. Especially, brute-force attacks are a threat to these techniques. These attacks are a trial-and-error approach where an individual tries out all possible combinations until one of those combinations turns out correct. The columnar transposition cipher is no exception to being vulnerable to brute-force attacks. With the key, the text will scramble, and it will be positioned into columns (ArrayList), and then it will scramble the columns according to the key; as an example, the original positioning will be from 0 to x (x is the length of the key) and when the key is introduced, it will be ordered according to the key. The user will have two options: choose to auto-generate a key randomly with the size of two or five or input a key of choice. Furthermore, the algorithm will make sure that the text will be converted to lowercase, and it will remove spaces and special characters. However, using two keys will scramble twice, rearranging the columns to the final key. For the program, we limited the range of the keys from two to five. The decryption structure is intended to brute force with all possible combinations with permutation. Furthermore, it will ensure that the possible combinations will not repeat themselves. The permutation that is used for decryption is for one key Ω(n!) and Ω((n!)^2). The decryption will print the result in a text box and the selected key. The GUI helps to visualize the result from the algorithm, especially when the task is to decrypt. The brute force implemented in the algorithm will display the result in the text box with all the combinations. The program will take around 6 to 8 seconds to produce the result. However, It may differ on how long the text is. The longer the text is, the more the program will take the time to produce. Additionally, since the GUI offers the save file option, it is better to use it and open it with a text editor of choice. Since the brute force method works flawlessly against the columnar transposition, it is not suggested to use this technique in real-world applications. Result Future Work In order to expand the transposition technique, as the case of the rail fence and running key cipher has to be implemented for brute-force attacks. This way, the algorithm will have a selection of choices that will be displayed in the GUI. On the other hand, the algorithm can be written in a few lines of code as possible (where it can be). Additionally, adding an English dictionary would reduce the number of possible combinations during the decryption, making it more efficient. Furthermore, making slight adjustments to GUI to make it foolproof if someone breaks the algorithm by writing big numbers in the keys section. The columnar transposition is structured in two ways. One is for encrypting and decrypting. In addition to the algorithm, a GUI (Graphical User Interface) is used to visualize and select how many times the algorithm will run (if the user selects to run one time or two times for encryption). It is also available to open a text file for encryption or decryption and an option to save the file in a preferred location when the user is done selecting the method that the GUI offers. The encrypt structure will require a text and a key. Algorithm<br>
(Department of Mathematics and Computer Science, Barry University, Miami Shores, FL) Department of Mathematics and Computer Science
Barry University
11300 NE 2nd Ave.
Miami Shores, FL 33161
Phone: (305) 899-3286 We are examining the vulnerability of transposition techniques to brute-force attacks. Examined encryption methods include the rail fence cipher, columnar transpositions, with a single or multiple rounds, and the running key cipher. Transposition techniques are mainly based on the rearrangement of characters in a given plaintext. The goal of our work is twofold: the development of brute force algorithms that automate the process of decryption and the complexity analysis of such methods. The rail fence cipher is a relatively simple encryption method that requires minimal regrouping of characters in the ciphertext and a small execution time to break. The complexity of columnar transpositions is dependent on the length of the encryption key. The algorithm is bounded above by the asymptotic complexity of permutations of length n, where n denotes the length of the encryption key. Executions times rise sharply when multiple rounds are employed. This becomes more prevalent in running key cipher techniques where the key length matches that of plaintext. Generating all permutations can become computationally intensive for long plaintext streams. To produce cryptographically stronger ciphertexts, encryption is performed following filtering of the input stream; spaces are removed and all alphabetic characters are converted to lowercase. Decryption is performed as an iterative process over all permutations of the keys sorted by key length. Execution times may be substantially reduced if the generation of permutation candidates is performed as a preprocessing step for executions over multiple sets of plaintext. A graphical user interface allows for interactive use of the method. Cryptanalysis For Transposition Techniques H2O Abstract Intro to Cryptanalysis Algorithm (Cont.) References Barry University, Miami, FL https://csrc.nist.gov/glossary/term/cryptanalysis
https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/09-Testing_for_Weak_Cryptography/04-Testing_for_Weak_Encryption#:~:text=Summary,such%20as%20MD5%20and%20RC4. Fictional media often displays encrypted texts as being challenging to crack. However, the techniques behind the encryption of these texts are more vulnerable than one might initially think. Cryptanalysis involves the study of existing cryptographic algorithms and “includes the process of looking for errors or weaknesses in the implementation of an algorithm or of the algorithm itself” (National Institute of Standards and Technology). The efficiency of each cryptographic algorithm varies, but these algorithms can become vulnerable if utilized incorrectly. The OWASP foundation mentions that “incorrect uses of encryption algorithms may result in sensitive data exposure, key leakage, broken authentication, insecure session, and spoofing attacks”. Especially, brute-force attacks are a threat to these techniques. These attacks are a trial-and-error approach where an individual tries out all possible combinations until one of those combinations turns out correct. The columnar transposition cipher is no exception to being vulnerable to brute-force attacks. With the key, the text will scramble, and it will be positioned into columns (ArrayList), and then it will scramble the columns according to the key; as an example, the original positioning will be from 0 to x (x is the length of the key) and when the key is introduced, it will be ordered according to the key. The user will have two options: choose to auto-generate a key randomly with the size of two or five or input a key of choice. Furthermore, the algorithm will make sure that the text will be converted to lowercase, and it will remove spaces and special characters. However, using two keys will scramble twice, rearranging the columns to the final key. For the program, we limited the range of the keys from two to five. The decryption structure is intended to brute force with all possible combinations with permutation. Furthermore, it will ensure that the possible combinations will not repeat themselves. The permutation that is used for decryption is for one key Ω(n!) and Ω((n!)^2). The decryption will print the result in a text box and the selected key. The GUI helps to visualize the result from the algorithm, especially when the task is to decrypt. The brute force implemented in the algorithm will display the result in the text box with all the combinations. The program will take around 6 to 8 seconds to produce the result. However, It may differ on how long the text is. The longer the text is, the more the program will take the time to produce. Additionally, since the GUI offers the save file option, it is better to use it and open it with a text editor of choice. Since the brute force method works flawlessly against the columnar transposition, it is not suggested to use this technique in real-world applications. Result Future Work In order to expand the transposition technique, as the case of the rail fence and running key cipher has to be implemented for brute-force attacks. This way, the algorithm will have a selection of choices that will be displayed in the GUI. On the other hand, the algorithm can be written in a few lines of code as possible (where it can be). Additionally, adding an English dictionary would reduce the number of possible combinations during the decryption, making it more efficient. Furthermore, making slight adjustments to GUI to make it foolproof if someone breaks the algorithm by writing big numbers in the keys section. The columnar transposition is structured in two ways. One is for encrypting and decrypting. In addition to the algorithm, a GUI (Graphical User Interface) is used to visualize and select how many times the algorithm will run (if the user selects to run one time or two times for encryption). It is also available to open a text file for encryption or decryption and an option to save the file in a preferred location when the user is done selecting the method that the GUI offers. The encrypt structure will require a text and a key. Algorithm<br>