DESvisual: a visualization tool for the DES cipher

This paper describes a visualization tool DESvisual that helps students understand and instructors teach the building blocks of symmetric encryption. In particular, the tool depicts the primitive operations required to perform the initial permutation and one Feistel round of DES using either an eight or 16 bit input. A student can trace through an encryption performed by the tool, or can be guided through an encryption or decryption, computing the output of each operation herself. This helps students to understand the primitive operations, how these operations are composed into the DES algorithm, and how functions and their composition are depicted and documented. Furthermore, the opportunity for self-study provides an instructor greater flexibility in selecting a lecture pace over this detail-filled material. Security concerns impact an ever increasing number of the applications that computer scientists design and develop. Many security problems are solved through use of cryptography. Unfortunately, computer science students commonly have difficulty with the sophisticated mathematics used in cryptographic algorithms. This problem is exacerbated by the fact that cryptography commonly competes for attention with many other important topics in an undergraduate curriculum. Well-designed pedagogical tools can greatly help reduce the difficulty in teaching and learning complex topics. However, tools for teaching and learning cryptography are at best minimal. To the best of our knowledge, only two papers published in recent years are mainly dedicated to cryptography pedagogy [3,4]. One of them [4] discusses two simple algorithms, DES and AES, using spreadsheets, while the other [3] uses computer algebra systems such as Maple. There are books which include C, C++ or Java source code [1,5,6,9]. However, only [1] is a textbook that uses Java applets as examples, and its algorithm-example-sample program approach may not be the best way for many instructors and students. In this paper, we describe a visualization tool DESvisual that helps students understand the building blocks of symmetric encryption. In particular, DESvisual depicts the primitive operations required to perform the initial permutation and one Feistel round of DES using an 8- or 16-bit input. A student can trace through an encryption performed by the tool, or can be guided through an encryption or decryption, computing the output of each operation herself. This helps students understand the primitive operations, how these operations are composed into the DES algorithm, and how functions and their composition are depicted and documented. The opportunity for self-study provides an instructor greater flexibility in selecting a lecture pace over this detail-filled material. DESvisual is part of a larger project to provide visualization tools to help address the challenges of teaching cryptography. DESvisual was used in a junior-level introduction to cryptography course. The evaluation showed that DESvisual is effective; it can help students learn and practice effectively and efficiently and help instructors to easily present the DES algorithm. In the following, Section 1 provides the background of our cryptography course, Section 2 presents our visualization tool, Section 3 discusses use of DESvisual in the classroom, Section 4 has a detailed study of our findings from a survey, and Section 5 is our conclusion.