advertisement

Interactive Learning Tool for Cryptography Celedonio Arroyo Serrano Computer Science arroyonex@gmail.com Alfredo Cruz, PhD Associate Director for Computer Science alfredcross@gmail.com Polytechnic University of Puerto Rico Abstract - Cryptography is the science of keeping the secrecy of messages. It is a common technique used to assure data confidentiality and integrity. Using a combination of theory and practice techniques, we can reduce the time that it takes for a student to understand and get familiarized with the different types of ciphers that are available. With the development of a learning tool specifically designed to provide basic understanding and capabilities of cryptography, anyone can learn, understand and use monoalphabetic, polyalphabetic, and polygraph ciphers. The paper will provide an inside view of the various functionalities available for the user, and information related to the types of cryptography used within the tool. A tutorial is provided as an in class laboratory exercise for network security or any related course in were the student will be able to encrypt or decrypt any plaintext or ciphertext using a key. This will also clearly show the differences between transposition and substitution ciphers. The learning tool will lead to: a faster understanding of cryptography; motivate and engage students to practice the theory of the courses related to cryptography; help master encryption/decryption concepts quickly and effectively. The tool will also provide an extra resource for the professor incorporating the tool into the lab environment and the course. I. INTRODUCTION In our society information assurance has taken an important role. Almost all the transactions that are done over the internet are secured by different kind of algorithms in order to maintain the confidentiality, privacy and the integrity of the information that is being shared. In order to secure this information we rely on cryptography which is the practice and study of hiding information [1]. The terms encryption and decryption have become more common in everyday life. In college I found that these concepts are in many of the courses that I have taken during my academic career. In this paper we propose the use of a visualization technique in order to understand the basic concepts of cryptography. The purpose of this project is to provide instructors with a tool to effectively teach the basic concepts of cryptography. The tool will motivate the student to participate and understand the concept better by using a tool related to classical ciphers. With this tool the user will be able to differentiate the use of mono-alphabetic, polyalphabetic and polygraph ciphers. Even though many of these ciphers can be solved by hand, it will engage the student into using the technique and verifying if the encrypted or decrypted message is correct. Information Institute Conferences, Las Vegas, NV, May 21-23, 2014 1 Author Arroyo; Cruz II. SUPPORTING THEORY VISUALIZATION In 2011, Simms and Chi [14] said that visualization is a process of taking raw data and converting it to a form that is viewable and understandable to humans. They also said that it is becoming a basic building block in our daily lives because of the overwhelming amount of information required to be processed by the human brain. Visualization is a technique for creating images, diagrams, or animations to communicate a message. Primitive drawings on buildings and monuments are an example of visualization techniques, proving that visualization has been around since the dawn of man. Advances in technology have made visualization a very informative and easy to practice. The use of computer models as tools for advancing scientific knowledge is becoming a key component of current scientific research. As we can see, the implementation of visualization in the classroom can be very productive. In 2011 Ma, Tao, Keranen, Mayo, and Kuang [10] stated that cryptography should be a course regularly offered at colleges and universities. Textbooks and hand-books aid in the teaching of cryptography, but students attracted to this field may post some unique challenges to educators. In particular, Computer Science (CS) students find that understanding the sophisticated mathematics behind the crypto-systems is a daunting task, while math majors often get lost in the details of the complicated algorithms. Educators need to find a way to help students understand both how and why the algorithms are used [10]. Visualization tools can be an effective way for educators to battle this challenge. While some visualization tools have been developed, not many of them allow the user to understand both the mathematical theory and the algorithm behind a certain crypto-system [10]. CRYPTOGRAPHY Cryptography is the method of storing and trans-mitting data in a way that only those it is intended for can read and process it. It is the science of protecting information by encoding it into an unreadable format. Cryptography is an effective way of protecting sensitive information stored on media or transmitted through a network communication path. Although the ultimate goal of cryptography, and the mechanisms that make it up, is to hide information from unauthorized individuals, most algorithms can be broken and the information can be revealed if the attacker has enough time, desire, and resources. So a more realistic goal of cryptography is to make obtaining the information too work-intensive to be attractive to the attacker [8]. If we start to look back at the history of cryptography we see in many text books that this concept can reach back to almost 4000 years. The Egyptians used a type of substitution cipher to encipher some of their hieroglyphic writing on monuments. It’s also a fact that ancient Hebrews enciphered certain words in the scriptures [6]. Even 2000 years ago Julius Caesar used a simple monoalphabetic cipher to send secret messages to his generals. In the 1200s Roger Bacon described several methods to cipher messages [5]. In 1585 the poly-alphabetic substitution cipher was described by Blaise de Vigenere [13]. Many other ciphers had evolved during that time, producing a clear difference between classical ciphers and modern ciphers. In this paper the approach of classical ciphers is one of the primary concerns. CLASSICAL CIPHER As mentioned, the Classical cipher has been used throughout history. But now, it’s being used to learn the basic concepts of cryptography. With the fast growth of technology many techniques such as cryptanalysis the encryption can be broken very fast. Encrypted messages are not secure and many of them can be solved with the use of a piece of paper and a pencil. DEFINITION OF CONCEPTS In order to understand better the concept involved in cryptography we need to define a couple of basic concepts: Plaintext: The original intelligible message or data that is fed into the algorithm as input. 2 Editors: Gurpreet Dhillon and Spyridon Samonas Interactive Learning Tool for Cryptography Ciphertext: The scrambled message produced as output. Encryption: The process of converting from plain-text to ciphertext. Decryption: The process of restoring the plaintext from the ciphertext Key: A value used to encrypt or decrypt a message or data. Cryptanalysis: The branch of cryptology dealing with the breaking of a cipher to recover information. III. TYPES OF CIPHERS USED IN THE TOOL The Interactive Learning Tool is still in progress. So far, the ciphers that are available in the tool are the Caesar cipher, Vigenere Cipher, Playfair Cipher, and the Rail Fence Cipher. In order to provide a clear understanding it is important to understand how each of these ciphers work and to classify each of them correctly. MONOALPHABETIC CIPHER Mono-alphabetic ciphers use fixed substitution over a plaintext in order to create a ciphertext. It’s important to mention that the algorithms in this kind of cipher are based on two general principles: substitution cipher and transposition ciphers. Substitution cipher is a method of encoding by which units of plaintext are replaced with ciphertext, according to a regular system, for example a pair of letters, triple letters or a mixture of letters. Using this cipher an encrypted message can be sent and the receiver can decode the message by performing an opposite substitution [6]. In Transposition ciphers the units of the plaintext are rearranged in a different and usually quite complex order, but the units themselves are left unchanged. In contrast to the substitution cipher, the units of the plain-text are retained in the same sequence in the ciphertext, but the units themselves are altered [6]. CAESAR CIPHER The Caesar cipher is a monoalphabetic cipher. It is composed of the use of the alphabet (in our case the English alphabet) from A to Z. It’s considered in many textbooks and other sources of information as an early cipher method. The Caesar cipher is commonly used to teach the basic concepts of cryptography. Other types of classical ciphers will use a key and a plain-text in order to encrypt or decrypt a message, but this cipher uses a shift parameter. The shift parameter is responsible for the transformation of the ciphertext or the plaintext. Based on the shift parameter, the alphabets that are aligned together will be rotated to the left or to the right, depending on the number of shifts. In Figure 1, we can see how the alphabet was trans-formed using a shift parameter of 3. We can see that different lines from the top alphabet are pointing to different letters from the bottom alphabet. In this example A was transformed into D, B was transformed into E, C was transformed into F, and so on, until the entire alphabet is transformed. It’s important to mention that once the alphabet reaches the final letter in the alphabet (Z) it will keep on transforming the alphabet starting from A again until the full transformation is completed. Information Institute Conferences, Las Vegas, NV, May 21-23, 2014 3 Author Arroyo; Cruz Figure 1: Transformation of the Alphabet This classical monoalphabetic cipher is very easy to break, based on the fact that it only holds 26 characters from the English alphabet. In other words, we can conclude that one of the 26 shifts will be the correct one and once it’s found, and it can be very easy to keep doing the transformation until obtaining the plaintext. This kind of action is known as a brute force attack. Frequency Analysis Another way to break this cipher is with frequency analysis. This is a technique that is very important even in modern cryptography, as we can see in many tools that are developed to break different kinds of ciphers. Since its part of the basic knowledge we will include more information about it. According to Martin (2012), in monoalphabetic ciphers (like in the simple substitution ciphers), frequency analysis can help to break the ciphertext based on the size of the ciphertext used. Since it is looking for words that are always present in the English alphabet, it can be assumed that those letters can be repeated almost all the time (like for example the letter T and the letter E). Martin (2012) also explained that even though frequency analysis has a degree of trial and error before establishing what the correct matches are, it reduces the choice with respect to the remaining letter. Frequency analysis does have it’s limitations, but there are many tools that provide almost instant decryption of a ciphertext generated by the simple subtitution cipher, [11]. Mathematical Description of the Caesar Cipher The mathematical description of the Caesar cipher is one of the easiest to understand. This makes the cipher very easy to implement using any pro-gramming language, even without the use of an arithmetic expression. In this case, an array would be created and a series of loops can then shift the alphabet depending on the number of shifts wanted. In the mathematical description of the cipher, we can conclude that ciphertext will be equal to C, while the plaintext will be equal to P, and the shift parameter will be K. Many books, articles and web pages use the same arithmetic expression of this cipher. The arithmetic expression is as follows: C = P + K mod 26 The alphabet will be represented from 0 to 25, in were A = 0, B = 1, C = 2…..Z = 25. POLYALPHABETIC CIPHER We can see a noticeable difference when we compare a polyalphabetic cipher to a mono-alphabetic cipher. In the polyalphabetic cipher we can see how the substitution is done at different positions of the message. In this cipher a unit from the plaintext is mapped to one of several possibilities making this type of cipher a little bit more secure than the regular monoalphabetic ciphers [3]. 4 Editors: Gurpreet Dhillon and Spyridon Samonas Interactive Learning Tool for Cryptography One of the characteristic of this kind of ciphers is that multiple cipher alphabets are used. In order to facilitate encryption, all the alphabets are usually written out in a large table that consists of a 26×26 graph, so that 26 full ciphertext alphabets are available. The method of filling the table, and of choosing which alphabet to use next, defines the particular polyalphabetic cipher. VIGENERE CIPHER Considered one of the most popular, it was first published in 1585. It was considered unbreakable until 1863. The Vigenere Cipher consists of the alphabet written out 26 times in different rows, as shown in Figure 2. Each alphabet is shifted cyclically to the left compared to the previous alphabet, corresponding to the 26 possible Caesar ciphers [7]. In Figure 2 we can observe that the top row represents the plaintext letters. The leftmost column of the square (that has the letters from A to Z in order from top to bottom) represent the key letters. Now that we know that, we can use it to map that plaintext letter to the ciphertext letter on the column. The letters on the right column represent the letter on the row that is part of the key. With this combination we can find the ciphertext letter that we are looking for. In other words, we select the letter from the plaintext on the top row, and then we select the letter from the right column that is part of the key. We then trace those two and select the letter that intersects the column and the row, this letter is then the ciphertext letter. It’s important to mention that in order to start the encryption process we need to get the plaintext and align each letter on it with the letters of the key. If the key is too short for all the letters, then we keep repeating the key [12]. For example, if the plaintext is SECURITY and the key is VEGAS then the alphabet used at each point depends on repeating the key used to encode or decode, aligning each character using the same letter on the key until all the characters in the plaintext are covered as follows: Plaintext: S E C U R I T Y Key: V E G A S V E G Figure 2: Vigenere Square Information Institute Conferences, Las Vegas, NV, May 21-23, 2014 5 Author Arroyo; Cruz The decryption is performed by going to the row in the table corresponding to the key, finding the position of the ciphertext letter in this row, and then using the column's label as the plaintext, same operation as in the encryption process but backwards. Mathematical Description The algebraic description of this cipher is as follows: If the letters A–Z are taken to be the numbers 0–25, and addition is performed modulo 26, then Vigenere encryption E using the key K can be written as: Ci = Ek ( Mi ) = ( Mi + Ki ) mod 26 For decryption we use D as decryption using the key K, for example: Mi = Dk ( Ci ) = ( Ci – Ki ) mod 26 With these formulas, it’s very easy to create the pseudo-code that is implemented in the tool. POLYGRAPH CIPHER In a polygraphic substitution cipher, plaintext letters are substituted in larger groups, instead of substituting letters individually. The first advantage is that the frequency distribution is much flatter than that of individual letters (though not actually flat in real languages; for example, 'TH' is much more common than 'XQ' in English). Second, the larger number of symbols requires correspondingly more ciphertext to productively analyze letter frequencies, making this type of cipher harder to break [11]. The earliest practical digraphic cipher or pairwise substitution was the so-called Playfair cipher. PLAYFAIR CIPHER In this cipher, a 5 x 5 grid is filled with the letters of a mixed alphabet (two letters, usually I and J, are combined). A digraph substitution is then simulated by taking pairs of letters as two corners of a rectangle, and using the other two corners as the ciphertext. This was developed by Charles Weatston. Special rules handle double letters and pairs falling in the same row or column [2]. Thanks to the way it’s implemented, the Playfair cipher is harder to break. There are almost 600 possible digraphs rather than the 26 possible monographs, making frequency analysis harder. But with today’s computing power and capabilities, this could take only a few seconds. In Figure 3, we can see a 5 x 5 grid, also known as a graph. On it a key was used and the grid was generated. Notice that I and J are together in order to fulfill the combination mentioned before. Figure 3: Playfair Graph 6 Editors: Gurpreet Dhillon and Spyridon Samonas Interactive Learning Tool for Cryptography To generate the key table, one would first fill in the spaces in the table with the letters of the keyword, in Figure 3, we used the key ANNUALCONFERENCE, (Dropping any duplicate letters) then we filled the remaining spaces with the rest of the letters of the alphabet in order, in this version we put both "I" and "J" in the same space, this is the classical Playfair cipher. The keyword together with the conventions for filling in the 5 by 5 table constitutes the cipher key. To encrypt a message, one would break the message into digraphs (groups of 2 letters) such that, for example, "MEET ME IN LAS VEGAS" becomes "ME XE TM IN LA SV EG AS", and map them out on the key table. If needed, append an "X" to complete the final digraph, or if two letters are the same like for example in the word “MEET” an “X” need to be used to separate the double “EE”, for example “ME XE”. The two letters of the digraph will be used to do the decryption or the encryption, and this is done by using a rectangle as the reference. For example in “ME XE” we are going to start by looking “ME” on the graph. We look for “M” and then “E” and we create a rectangle with those two, in other words we will consider each letter as a corner of a rectangle in the key table. Depending on the type of rectangle we need to use the following 4 rules to order each pair of letters in the plaintext in order to encrypt the plaintext: A. If both letters are the same (or only one letter is left), add an "X" after the first letter. Encrypt the new pair and continue. B. If the letters appear on the same row of your table, replace them with the letters to their immediate right respectively (wrapping around to the left side of the row if a letter in the original pair was on the right side of the row). C. If the letters appear on the same column of your table, replace them with the letters immediately below respectively (wrapping around to the top side of the column if a letter in the original pair was on the bottom side of the column). D. If the letters are not on the same row or column, replace them with the letters on the same row respectively but at the other pair of corners of the rectangle defined by the original pair. The order is important – the first letter of the encrypted pair is the one that lies on the same row as the first letter of the plaintext pair. To decrypt, use the INVERSE (opposite) of the last four rules, and the 1st as-is (dropping any extra "X"s that do not make sense in the final message when finished). TRANSPOSITION CIPHER In cryptography, a transposition cipher is a method of encryption by which the positions held by units of plaintext (which are commonly characters or groups of characters) are shifted according to a regular system, so that the ciphertext constitutes a permutation of the plaintext. That is, the order of the units is changed (the plaintext is reordered). Mathematically it can be described as a bijective function in where the characters positions to encrypt and using the inverse function to decrypt. In order to understand this concept better we use the Rail Fence cipher [2]. RAIL FENCE CIPHER The Rail Fence cipher gets its name from the way in which it is encoded [2]. It is one of the most basic but always used ciphers to show the concepts of transposition ciphers. In the Rail Fence cipher, the plaintext is written downwards on successive "rails" of an imaginary fence, then moving up when we get to the bottom. The message is then read off in rows. In Figure 4, we can see an example, using three "rails" and a message “INTERACTIVE*LEARNING *TOOL*FOR CRYPTOGRAPHY”. Each space was replaced by the character ‘*’ in order to represent better the transposition. As we can appreciate in Figure 4, we included a line that shows how the transposition goes from the top row. First, the character “I” is placed, then we shift a column to the right in the second row and the character “N” is placed. Then we shift another column to the right and in the third row the character “T” is placed. All of this is done in a vertical way and once we hit the third rail (row), we do the same but from the bottom rail to the first one. We move back to the second rail and the character “E” is placed, then we move to the first rail and the character “R” is placed. Information Institute Conferences, Las Vegas, NV, May 21-23, 2014 7 Author Arroyo; Cruz Figure 4: Rail Fence example After all the transposition of the ciphertext is done, then we can read the encrypted message. This is done by reading the first row, from left to right and continuing to read each row as we normally do giving as a result the encrypted message: IRIT**PRYNEATV*OLFRCYTGAHTCEOOROP The rail fence cipher is not very strong because the number of practical keys is small enough that a cryptanalyst can try them all by hand. In other words, this code is very easy to break using frequency analysis. Transposition ciphers such as the Rail Fence cipher have another major weakness: they don't hide letter frequencies at all. What does that mean? Since this is a monoalphabetic cipher, each substituted letter always represents the same plaintext letter; it’s easy to check for the frequency each letter appears in the cipher. The most frequently appearing letters of the English language are E-T-A-O-IN-S-H-R-D-L-U, respectively. IV. INTERACTIVE LEARNING TOOL DESCRIPTION This tool is designed to help students understand and learn the basic concepts of classical cryptography by exposing them to a visualized representation of the algorithms used. While the instructor is giving the lectures related to cryptography, they can find different examples in an easy to use tool that can be readily available at the laboratory to encrypt and decrypt messages. The tool in essentially in its basic form, but additional ciphers and information such as the source code, the algorithms and the pseudo-codes will be available to the user. The tool was created using JAVA, because it’s one of the most popular programming languages being taught at Polytechnic University of Puerto Rico, and also because it uses object-oriented programming. The IDE used to create the tool is NETBEANS 7.4, based on the fact that it’s user friendly and gets a lot of support from different users that formerly worked with this IDE. Since it’s an open program, the implementation of the tool can be seen by anyone that desires to see, use, and/or modify the code. Details on the project will be available to students and faculty, as they will be able to see all the classes of ciphers included and all the effort that is being put into the final product. DEMO OF THE TOOL The tools include the classes for each of the ciphers that were mentioned in this paper, Caesar, Vigenere, Playfair and Rail Fence Cipher. In Figure 5 we have a clear overview of the classes that are contained up to this moment under the project. Each class is assigned a name according to the type of function it performs. 8 Editors: Gurpreet Dhillon and Spyridon Samonas Interactive Learning Tool for Cryptography Figure 5: Java Classes as seen on IDE As we can see in Figure 5, each cipher holds its own java.class where all the functionality to encrypt and decrypt is contained. When starting the program a menu will open as seen in Figure 6, giving the user a clear view of the ciphers that are available. Figure 6: Main menu of the GUI In Figure 7 we can observe the menu that is used to select the different options that are available in the tool. In addition, different labels were added to the menu to clearly specify each different type of cipher: monoalphabetic, polyalphabetic and polygraph ciphers. Information Institute Conferences, Las Vegas, NV, May 21-23, 2014 9 Author Arroyo; Cruz In the monoalphabetic cipher we can see the substitution and transposition ciphers. Figure 7: Menu with selections The Caesar cipher is the first choice available in the menu. In Figure 8 the user will be able to enter a plaintext and select the shift parameter once selected. When the plaintext “CryptographyIsEasyToLearn” is entered the user will notice that spaces are not permitted; this is a restriction to ensure that the encrypted message follows a standard. Then, when clicking below on the “shift” text box a combo box with 26 shift options appears to choose the shift parameter that the user wants to use in the Caesar cipher. In Figure 8 the shift parameter used was 4. Once the user clicks on the encryption button the encrypted message will be added to the ciphertext textbox in the screen and the ciphertext will read as follows: “gvctxskvetlcmwiewcxspievr”; please note that upper case characters were transformed to lower case. CAESAR CIPHER TEST Figure 8: User input, encrypting a message Afterwards, the user can copy the ciphertext that was generated into the decryption form on the screen, select the shift parameter, and decrypt the message as in Figure 9, giving as a result in the decryption textbox the plaintext used during the encryption process. As can be observed, the plaintext generated is “cryptographyiseasytolearn”. Please note that there are no upper case words in this decryption. This makes the user aware of changes and after reading the plaintext he can easily corroborate it with the one entered during the encryption process. 10 Editors: Gurpreet Dhillon and Spyridon Samonas Interactive Learning Tool for Cryptography Figure 9: Decryption of encrypted message VIGENERE CIPHER TEST If the user wishes to use a different cipher he can just click on any of the buttons in the menu as shown in Figure 7. In Figure 10 we can observe the use of the interactive tool for the Vigenere cipher. Figure 10: Vigenere encryption test As we can see in Figure 10, the key entered was “VEGAS”, and the plaintext was “ANNUAL SECURITY CONFERENCE”. Once the button to encrypt the message was selected the ciphertext was created and added to the textbox for the user to copy it. The ciphertext generated reads: “VRTUSG YEUPVOTQ GUNXZ VKNUZ”. In this example a restriction was added to prevent the user from entering numbers. Furthermore, when decrypting the message, the key is copied into the decryption part automatically, as shown in Figure 11. Information Institute Conferences, Las Vegas, NV, May 21-23, 2014 11 Author Arroyo; Cruz Figure 11: Decryption of Vigenere As we can see in figure 11, the key was already provided by the encryption process. When the user adds the ciphertext “VRTUSG YEUPVOTQ GUNX ZVKNUZ” and clicks the decrypt button the ciphertext is decrypted. The plaintext is shown in lowercase in order for the user to see the details and become aware of the transformation of the ciphertext into plaintext. The plaintext reads as follows: “annual security conference” PLAYFAIR CIPHER TEST Users can also select the Playfair cipher. In Figure 12 we can see an example of a key entered and the plaintext. After the user clicks the encrypt button, the ciphertext will appear. The key entered is “ANNUAL CONFERENCE”, and the plaintext to be encrypted using the key is “NEW ORLEANS HOTEL BE PRESENT”. The encrypted message generated reads as follows, “UF-VF-IR-OU-LP-DE-QB-CR-FQ-BRQR-CP”. It is important to mention that this was generated following the instructions for encrypting Playfair ciphers provided in this paper. Please note that after each digraph there is a dash to make the reading easier. Figure 12: Encryption of Playfair In Figure 13, the user will copy the encrypted ciphertext and with the same key provided in the encryption, will be able to decrypt the encrypted message. The plaintext generated is also represented in 12 Editors: Gurpreet Dhillon and Spyridon Samonas Interactive Learning Tool for Cryptography digraph and a dash is added after each digraph, as we can see in the plaintext that reads as follows: “newo-rl-ea-ns-ho-te-lb-ep-re-se-nt”. Figure 13: Decryption of Playfair It’s important to mention that in this particular cipher the user will be able to see the representation of the 5 x 5 matrix that is used in the Playfair cipher as shown in Figure 14. Please note how the key is placed in each of the columns from left to right, in the first row and continuing into the second row in the same pattern. In Figure 14 the key used was “ANNUAL CONFERENCE”, and since many of the letters are repeated, only one of each will be represented, for example “ANNUAL” has 2 repeated “N’s” so only one is added. “A N U L” represents the “ANNUAL” part of the key in the graph. For “CONFERENCE” we can see that E is repeated 3 times, and N is already used. In this case E will be added only once and N won’t be added. “C O F E R” represents the “CONFERENCE” part of the key in the graph. The remaining spaces on the graph are added in ascending order using the English alphabet, without repeating the letters that are already in the graph. “I/J” always goes together in this typical Playfair interpretation. Figure 14: Translation Grid In Figure 15 we can see how the Grid represented in Figure 14 is shown in the tool during the encryption/decryption process of the Playfair cipher. Information Institute Conferences, Las Vegas, NV, May 21-23, 2014 13 Author Arroyo; Cruz Figure 15: Actual Representation in the Tool V. FUTURE WORK Since the tool is under development additional features will be added. The source code section of the tool and the algorithm section of the tool are still under construction. Although the webpage is available, details are not included in the paper. Other ciphers, for example Advanced Ciphers, will be included. New options will be added to select and change perspectives from classical ciphers to modern ciphers. This will include ciphers to understand the concepts of block and stream ciphers. Another section that will be included in the tool is a detailed encryption/decryption process. This process will follow a flowchart diagram including all the processes that are done once the encryption or decryption button in a form is selected. This idea was proposed and implemented with a modern cipher as seen in [10]. This tool will be used by faculty and students taking courses related to cryptography. Tools and data will be evaluated in and out of the classroom to see the impact on learning and the functionality of the visualization tool for delivering the concepts of cryptography to others. VI. AKNOWLEDGEMENT This material is based upon work supported by, or in part by, the Nuclear Regulatory Commission (NRC) Grant Fellowship Award under contract/ award # NRC-27-10-511 and is also based upon work supported by, or in part by, the U.S. Army Research Laboratory and the U.S. Army Research Office under contract/grant number W911NF1110174. 14 Editors: Gurpreet Dhillon and Spyridon Samonas Interactive Learning Tool for Cryptography VII. REFERENCES [1] Ali Mayouf, M., & Shukur, Z. (2009). Using Animation in Active Learning Tool to Detect Possible Attacks in Cryptography Protocols. 1st International Visual Informatics Conference on Visual Informatics: Bridging Research and Practice, 510-520. [2] Apelbaum, Y. (2007). User Authentication Principles, Theory and Practice. Fuji Technology Press. [3] Dhull, S., Beniwal, S., & Kalra, P. (2013). Polyalphabetic Cipher Techniques Used For Encryption Purpose. International Journal of Advanced Research in Computer Science and Software Engineering, 3(1). [4] Ferguson, N., Bruce, S., & Kohno, T. (2012). Cryptography Engineering: Design Principles and Practical Applications. John Wiley & Sons. [5] Goldstone, L., & Nancy, G. (2005). The Friar and the Cipher: Roger Bacon and the Unsolved Mystery of the Most Unusual Manuscript in the World. Doubleday. [6] Harris, S. (2010). CISSP All-in-One Exam Guide. (Fifth ed.). McGraw Hill Professional. [7] Klima, R., & Sigmon, N. (n.d.). Using Graphs to Break Vigenere Ciphers. [8] Kuldeep, T., & Richa, A. (2014). Triple Security of File System of Cloud Computing. International Journal for Research in Applied Science and Engineering Technology (IJRASET), 2(1). [9] Lee, M. (2013). Encryption Works: How to Protect Your Privacy in the age of NSA Surveillance. Freedom of the Press Foundation. [10] Ma, J., Tao, J., Keranen, M., Mayo, J., & Kuang, C. (2011). SHAvisual: A Visualization Tool for Secure Hash Algorithm. Journal of Computing Sciences in Colleges, 27(1), 81-89. [11] Martin M., K. (2012). Everyday Cryptography: Fundamental Principles and Applications. Oxford University Press. [12] Ordavo, I. (2006). Free-Space Quantum Crypto-graphy. München: Ludwig-Maximillians Universitat München. [13] Reynard, R. (1997). Secret Code Breaker II. Smith & Daniel Marketing. [14] Simms, X., & Chi, H. (2011). Enhancing Cryptography Education via Visualization. Proceedings of the 49th Annual Southeast Regional Conference 2011. Kennesaw, GA, USA. Information Institute Conferences, Las Vegas, NV, May 21-23, 2014 15