Learning by Test-infecting Symmetric Ciphers
K. S. Ooi

TL;DR
This paper presents a novel educational approach for learning symmetric ciphers through test-infecting and refactoring, using agile development practices and automated testing frameworks like JUnit, exemplified on the Vernam cipher.
Contribution
It introduces a test-infecting method combined with agile development and refactoring for teaching symmetric ciphers, emphasizing practical, hands-on learning with open-source tools.
Findings
Effective learning through test-infecting symmetric ciphers
Use of agile practices enhances understanding of cipher systems
Refactoring exercises are kept simple for educational purposes
Abstract
We describe a novel way in which students can learn the cipher systems without much supervision. In this work we focus on learning symmetric ciphers by altering them using the agile development approach. Two agile approaches the eXtreme Programming (XP) and the closely related Test-Driven Development (TDD) are mentioned or discussed. To facilitate this development we experiment with an approach that is based on refactoring, with JUnit serves as the automatic testing framework. In this work we exemplify our learning approach by test-infecting the Vernam cipher, an aged but still widely used stream cipher. One can replace the cipher with another symmetric cipher with the same behavior. Software testing is briefly described. Just-in-time introduction to Object-oriented programming (OOP), exemplified by using JavaTM, is advocated. Refactoring exercises, as argued, are kept strategically…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Advanced Malware Detection Techniques
