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