{'fraction_non_alphanumeric': 0.014646053702196907, 'fraction_numerical': 0.0, 'mean_word_length': 5.473684210526316, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A free, readily upgradeable, interactive tool for teaching encryption algorithms

There are rising concerns about data security in our society. Strong cryptographic systems provide a primary means of dealing with these concerns. Since encryption algorithms are an integral component of any cryptographic system, computer science students need to understand how encryption algorithms work. However, the complexity of encryption algorithms inhibits both authors and professors from providing multiple and/or dynamic examples. This paper describes a new pedagogical tool that provides interactive step by step demonstrations of the encryption processes for various algorithms on user defined strings and scalability to allow for the addition of future algorithms. This tool is ideal for professors and students because it shows error free step by step descriptions in an interactive environment. It is designed to be used in conjunction with a lecture or outside reading material. Furthermore, this tool's object oriented nature allows the user to change the interface, add subsequent algorithms, and even incorporate the package into other software for actual encryption purposes. We have made the tool freely available on the web.