Skip to main content
Top
Published in:
Cover of the book

2020 | OriginalPaper | Chapter

Learning and Grading Cryptology via Automated Test Driven Software Development

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Understanding common cryptological concepts like encryption, hashing, signatures, and certificates is a prerequisite when working as an IT security professional but it is also a major challenge in security education. Often students struggle with cryptology as sound previous mathematical knowledge is required and study time is limited. Teachers face the problem to fairly assess the students’ knowledge and understanding of cryptology. The paper presents an approach to face these challenges by utilizing test driven software development techniques for students who have taken courses in programming and theoretical cryptology. The paper describes the practical experience gained in courses with ~30 students utilizing a specialized client-server system to automate the tests. We propose that this setup is beneficial for learning as it gives immediate feedback and allows students to focus on the erroneous parts of their software. The test cases can also be used to grade students’ code by weighting the test cases e.g. in an exam setting.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Appendix
Available only for authorised users
Footnotes
1
Galois Counter Mode = modern block mode for symmetric ciphers like AES which allows for encryption and authentication of data.
 
2
Note that some encryption schemes like Playfair in combination with certain padding schemas can yield different decrypted ciphertexts than the original plaintext.
 
3
If you are interested, please contact the author. Note that the material is currently only available in German.
 
Literature
1.
go back to reference Edwards, S., Pérez-Quiñones, M.: Experiences using test-driven development with an automated grader. J. Comput. Sci. Coll. 22(3), 44–50 (2007) Edwards, S., Pérez-Quiñones, M.: Experiences using test-driven development with an automated grader. J. Comput. Sci. Coll. 22(3), 44–50 (2007)
2.
go back to reference Beck, K.: Test-Driven Development: By Example. Addison Wesley, Boston (2002) Beck, K.: Test-Driven Development: By Example. Addison Wesley, Boston (2002)
4.
go back to reference Iffländer, L., et al.: PABS – a programming assignment feedback system. In: Proceedings of the 2nd Workshop Automatische Bewertung von Programmieraufgaben (2015) Iffländer, L., et al.: PABS – a programming assignment feedback system. In: Proceedings of the 2nd Workshop Automatische Bewertung von Programmieraufgaben (2015)
5.
go back to reference Isong, J.: Developing an automated program checker. J. Comput. Small Coll. 16(3), 218–224 (2001) Isong, J.: Developing an automated program checker. J. Comput. Small Coll. 16(3), 218–224 (2001)
6.
go back to reference Krusche, S., Seitz, A.: ArTEMiS - an automatic assessment management system for interactive learning. SIGCSE 2018, 21–24 February, Baltimore, MD, USA (2018) Krusche, S., Seitz, A.: ArTEMiS - an automatic assessment management system for interactive learning. SIGCSE 2018, 21–24 February, Baltimore, MD, USA (2018)
7.
go back to reference Herres, B., Oechsle, R., Schuster, D.: Der Grader ASB. In: Herausgeber Oliver, J. et al. Automatisierte Bewertung in der Programmierausbildung, pp. 255–271. Waxmann-Verlag (2017) Herres, B., Oechsle, R., Schuster, D.: Der Grader ASB. In: Herausgeber Oliver, J. et al. Automatisierte Bewertung in der Programmierausbildung, pp. 255–271. Waxmann-Verlag (2017)
8.
go back to reference Schuster, D., et al.: Automatische Bewertung von JavaFX-Anwendungen. In: Proceedings of the 3rd Workshop Automatische Bewertung von Programmieraufgaben (2017) Schuster, D., et al.: Automatische Bewertung von JavaFX-Anwendungen. In: Proceedings of the 3rd Workshop Automatische Bewertung von Programmieraufgaben (2017)
9.
go back to reference Knudsen, K.: Java Cryptography. O’Reilly, Sebastopol (1998)MATH Knudsen, K.: Java Cryptography. O’Reilly, Sebastopol (1998)MATH
10.
go back to reference Weiss, J.: Java Cryptography Extensions, 1st edn. Morgan Kaufmann, Burlington (2004)MATH Weiss, J.: Java Cryptography Extensions, 1st edn. Morgan Kaufmann, Burlington (2004)MATH
12.
go back to reference Lazar, D., et al.: Why does cryptographic software fail? A case study and open problems. In: Proceedings of 5th Asia-Pacific Workshop on Systems, pp. 1–7 (2014) Lazar, D., et al.: Why does cryptographic software fail? A case study and open problems. In: Proceedings of 5th Asia-Pacific Workshop on Systems, pp. 1–7 (2014)
13.
go back to reference Kahn, D.: The Codebreakers: The Comprehensive History of Secret Communication from Ancient Times to the Internet. Scribner, New York (1996) Kahn, D.: The Codebreakers: The Comprehensive History of Secret Communication from Ancient Times to the Internet. Scribner, New York (1996)
14.
go back to reference Stinson, D., Paterson, M.: Cryptography: Theory and Practice, 4th edn. CRC, Boca Raton (2018)CrossRef Stinson, D., Paterson, M.: Cryptography: Theory and Practice, 4th edn. CRC, Boca Raton (2018)CrossRef
15.
go back to reference Hook, D.: Beginning Cryptography with Java. Wrox, Birmingham (2005) Hook, D.: Beginning Cryptography with Java. Wrox, Birmingham (2005)
17.
go back to reference Long, F., et al.: The CERT Oracle Secure Coding Standard for Java. Addison-Wesley, Boston (2011) Long, F., et al.: The CERT Oracle Secure Coding Standard for Java. Addison-Wesley, Boston (2011)
18.
go back to reference McGraw, G.: Software Security – Building Security. Addison-Wesley, Boston (2006)CrossRef McGraw, G.: Software Security – Building Security. Addison-Wesley, Boston (2006)CrossRef
19.
go back to reference Desai, C., Janzen, D.: Savage, K: A survey of evidence for test-driven development in academia. ACM SIGCSE Bull. 40, 97–101 (2008)CrossRef Desai, C., Janzen, D.: Savage, K: A survey of evidence for test-driven development in academia. ACM SIGCSE Bull. 40, 97–101 (2008)CrossRef
20.
go back to reference Braga, A., Schwab, D., Vannucci, A.: The use of acceptance test-driven development in the construction of cryptographic software. In: 9th International Conference on Emerging Security Information, Systems and Technologies (2015) Braga, A., Schwab, D., Vannucci, A.: The use of acceptance test-driven development in the construction of cryptographic software. In: 9th International Conference on Emerging Security Information, Systems and Technologies (2015)
21.
go back to reference Takanen, A., DeMott, J., Miller, C.: Fuzzing for Software Security Testing and Quality Assurance. Artech House, Norwood (2008)MATH Takanen, A., DeMott, J., Miller, C.: Fuzzing for Software Security Testing and Quality Assurance. Artech House, Norwood (2008)MATH
22.
go back to reference Aumasson, J., Romaillerm, Y.: Automated testing of crypto software using differential fuzzing. In: Blackhat Conference, US (2017) Aumasson, J., Romaillerm, Y.: Automated testing of crypto software using differential fuzzing. In: Blackhat Conference, US (2017)
Metadata
Title
Learning and Grading Cryptology via Automated Test Driven Software Development
Author
Konstantin Knorr
Copyright Year
2020
DOI
https://doi.org/10.1007/978-3-030-59291-2_1

Premium Partner