Sunset/FFapl — An integrated development environment for teaching cryptography
Stefan Raß, Alexander Ortner · 2012
Teaching cryptography usually requires students to have a comprehensive understanding of algebra, number theory as well as good knowledge in basic computer science. Particularly public-key cryptography is often a challenge to teach and understand without detailed examples and the possibility to implement an algorithm to really see how it works. However, most of the arithmetic appearing in cryptography is not directly supported by the common programming languages, and usually buried within complicated libraries. Software tools that natively support cryptographic operations are rare and most teaching in this area must be done with general purpose software like computer algebra systems. In this work, we report on a newly developed software system called SUNSET, which provides a programming language that natively supports operations within finite fields, rings and modulo groups. It has been explicitly designed for usage within classrooms and for rapid prototyping of cryptographic protocols. Contrary to many computer algebra systems and conventional programming languages, it does not require reference to external libraries or add-on packages, and lets a student implement a cryptographic algorithm in a way almost as it is printed in the papers.