50 likes | 176 Vues
CryptoViz is an educational program designed to help students learn and visualize the DES encryption algorithm. Developed for Dr. Don Spickler's Cryptography class at Salisbury University, CryptoViz includes a comprehensive implementation of the DES algorithm in Java, an intuitive user interface for encrypting and decrypting data, and a visualization of the Key Generation process. The program also features an interactive diagram of the Feistel Structure, pivotal in various cryptography algorithms like DES, Triple DES, Blowfish, and Twofish, making complex concepts accessible to learners.
E N D
Frank Rowe John Gaetano Chuck Figiel CryptoViz
CryptoViz – The Basics • CryptoViz is a program for learning and visualization the DES encryption algorithm. • Client: Dr. Don Spickler from the Math & Computer Science Department at Salisbury University. • Dr. Spickler requested a program for his Cryptography class that could visualize a cryptography algorithm to help teach students.
CryptoViz – The Basics • CryptoViz contains the following features: • A full implementation of the DES algorithm in Java. • A user interface for quickly encrypting and decrypting data using DES. • A visualization of the Key Generation algorithm used by DES. Visualization was made using Java Swing and 2D Graphics. • An interactive diagram of the “Feistel Structure”, the core structure used in many cryptography algorithms, including: • DES • Triple DES • Blowfish • Twofish • Lucifer
DES Implementation • John write stuff here
CryptoViz – The Classes • CryptMain.java……….……main class. • DES.java……………………..DES implementation • VisualizationPanel.java….Visualization algorithm • KeyFrame.java……………..Key Generation • QuickDES.java……………..Encryption & Decryption • BitList.java…………………..Custom BitSet extension • ConvertString.java………..Used for converting string to BitList, vice versa • Node.java…………………….Used for visualization • EncryptPanel.java………….Hand drawn Fiestel Structure including encryption and decryption. • RoundPanel.java……………Used in EncryptPanel to visualize each round