
students outside the classroom. 
In this paper, we discuss designs and 
implementation of the Cryptographic Education 
Tool, and present our teaching experience and 
lessons learned. In section 2 the teaching objectives 
will be discussed. The detail of the designs and 
implementation of the Cryptographic Education Tool 
will be presented in section 3. In section 4 functions 
of the tool will be exhibited. In section 5 
experimental results will be discussed. The 
conclusions will be given in section 6.  
2 OBJECTIVES 
Cryptography is an import topic of Information 
Assurance and computer security. In order to help 
students effectively learn techniques of ciphers a 
Cryptographic Education Tool (CET) has been 
developed by the Department of Computer Science 
at NC A&T SU. The objective of this tool is to 
provide students with a visualization-based 
interactive tutorial and step by step demonstrations 
of ciphers, to help them better understand the 
concepts of cryptography, algorithms and the 
processes of key generation, encryption and 
decryption.  CET can be used in cryptography, 
network security, and Web security courses by 
instructors in classroom or by students outside 
classroom as supplemental material. 
3 DESIGNS AND 
IMPLEMENTATION 
The principle of the design of the Cryptographic 
Education Tool is user friendly, visualization-based, 
highly interactive and easy to install. This tool will 
help students understand the concepts of 
cryptography, algorithms, the process of generating 
keys, and how to use these algorithms and generated 
keys to encrypt and decrypt messages. Several main 
considerations are described in the following 
sections.  
•  Visualization-based  
Visualization has been used in Computer Science to 
help students understand algorithms and data 
structures for years. In CET visualization technique 
is used to let students interact with the tool, to view 
key generation step by step, and to view encryption 
and decryption results. This tool allows students to 
input initial data, to modify parameters, and to view 
generated keys. This tool also allows students to 
input plaintext, to select an algorithm, to encrypt 
plaintexts and to view encrypted results.  
•  High Interactivity 
Each page of the CET supports students to interact 
with it. Students can select an algorithm, choose to 
generate keys, encrypt message or decrypt message. 
At any step students can click the Help button to 
read the algorithm, to view key generating steps, and 
to see the processes of encryption and decryption. 
Students can input expected encryption or 
decryption results. If the expected result is not right  
CET allows student to try again.     
•  Consistency of Displays 
An important consideration of CET design is how 
long it takes students learn using this tool. CET 
supports three categories of ciphers: Transmission of 
Passwords, Secrete Key Cryptography and Public 
Key Cryptography. If each category has its own 
display format, or changes format from one view to 
another view, students may need more time to learn 
it. In this tool the same layout was used in all of 
three categories as shown in figure 1. The screen is 
divided into three parts. The first part contains 
selected algorithm and generated key. In this 
example the algorithm is SDES. The second part is 
encryption section. A user must input message and 
expected encrypted result. Clicking Clear button can 
erase all inputted information. Clicking Check 
Encryption button will first check the expected 
encrypted result, then display the result is correct or 
not. The third part is decryption section. A user can 
input encrypted result and expected decrypted result. 
Clicking  Check Decryption button will first check 
the expected decrypted result, then display if the 
result is correct or not. The Cryptographic Education 
Tool was designed to be very user friendly. The tool 
consists of Help, Encryption, Decryption and 
Demonstration button. A user can click Help button 
to read the algorithm. He/she can click Encryption 
button to input the message and expected encrypted 
result. If the expected encrypted result is not correct 
the user can click Demonstration button to follow an 
example to go through the encryption process step 
by step. 
•  Platform Independent 
A major consideration during implementation of the 
Cryptographic Education Tool is platform 
independence. This tool is implemented using Java 
language in a multi layered model. The controller 
layer controls user requests and the navigation flow. 
The service layer encapsulates the encryption logic. 
Java Swings Framework is used to design the pages 
and JFrames is used to implement the code. The 
Cryptographic Education Tool can run under 
CSEDU 2011 - 3rd International Conference on Computer Supported Education
194