Asee peer logo

Program Encryption Toolkit: A Tool for Digital Logic Education and Undergraduate Research

Download Paper |

Conference

2021 ASEE Virtual Annual Conference Content Access

Location

Virtual Conference

Publication Date

July 26, 2021

Start Date

July 26, 2021

End Date

July 19, 2022

Conference Session

Computers in Education 10 - Technology 2

Tagged Division

Computers in Education

Page Count

13

DOI

10.18260/1-2--37605

Permanent URL

https://strategy.asee.org/37605

Download Count

457

Request a correction

Paper Authors

biography

Jeffrey Todd McDonald University of South Alabama Orcid 16x16 orcid.org/0000-0001-5266-7470

visit author page

Dr. Jeffrey "Todd" McDonald is a Professor of Computer Science in the School of Computing at the University of South Alabama. He received his Ph.D. in Computer Science from Florida State University in 2006, his Master of Science degree in Computer Engineering from the Air Force Institute of Technology in 2000, and his Bachelor of Science degree in Computer Science from the U. S. Air Force Academy in 1990. His research interests include program protection and exploitation, secure software engineering, and information assurance. He is a senior member of the ACM and IEEE.

visit author page

biography

Dawn McKinney University of South Alabama

visit author page

Dawn McKinney, a Senior Instructor and Curriculum Coordinator for Computer Science at the University of South Alabama, has been conducting research on Teaching and Learning for over 23 years and has co-authored over 25 papers which have been presented at SISCSE, ASEE, FIE, XP/Agile Universe, International Conference on The First-Year Experience, Southeastern Learning Community Consortium, Council on Undergraduate Research National Conference, and the South Alabama Conference on Teaching and Learning. As a leader in the university's Team-Based Learning effort, McKinney has been awarded funds for support, including travel, for the past seven years. She taught courses in China in 2013 and was awarded the highest award for teaching at the University of South Alabama in 2014. During the last three years, McKinney has participated in the Scholarship on Teaching and Learning program supported by the University of South Alabama and has been awarded funds to use for travel. During this time McKinney has collaborated with computer science faculty at several institutions and has co-authored papers submitted to both SIGCSE and ASEE.

visit author page

biography

Todd R. Andel University of South Alabama

visit author page

Dr. Todd R. Andel is a Professor and the Chair and of the Computer Science Department at the University of South Alabama’s School of Computing. He received his PhD in Computer Science from the Florida State University (2007), a M.S. in Computer Engineering from the Air Force Institute of Technology (2002), and a B.S. in Computer Engineering from the University of Central Florida (1998). He was a prior faculty member of the Department of Electrical and Computer Engineering at the Air Force Institute of Technology from 2007 to 2012. He is a retired Major in the U.S. Air Force, serving over 23 years specializing in cyber systems defense, research, and education. He has published over 65 peer-reviewed papers and journals related to computer and information security, side-channel analysis, embedded systems security, network security protocols, and formal methods. Dr. Andel is a senior member of the IEEE and senior member of the ACM.

visit author page

Download Paper |

Abstract

Digital logic instruction is typically a core component of Computer Science (CS), Electrical Engineering (EE), and Computer Engineering (CpE) curricula. Most often, students are exposed to digital logic concepts early in their programs as a foundational stepping stone. CS students in particular are introduced but never pursue these fundamental ideas further as they progress through their CS degree programs. Instructors and students alike would benefit from a single tool that would provide a wide variety of functionality and support for visualization to reinforce concepts that are presented in this foundational course. In this research, we present the Program Encryption Toolkit (PET) and its associated graphical user interface (PETGUI) as a freely available, potential resource for both educators and students who are learning early concepts related to digital logic. In addition, we relate anecdotal experience from using PETGUI to engage undergraduate CS students to further their knowledge of computer and electrical engineering, realizing that such knowledge can be used in multi-disciplinary research at the undergraduate level and beyond. Our experience involves introducing PET later in an undergraduate CS-based digital logic course (CSC-228) as a means for recruiting UG students who would be interested in cybersecurity and as a means to unify digital logic concepts into CS-related fields of study. The tool has also been successfully used to demonstrate capstone course project concepts related to a ground-up design for a component-based digital logic CPU. PET itself encompasses Java software contributed by Undergraduate, Master’s and PhD researchers over a 15-year period and is used primarily to further research students in circuit-based obfuscation and de-obfuscation in support of protection against adversarial hardware attacks.

For digital logic courses, PETGUI offers a rich set of useful functionalities that can be integrated into course curriculum and uses BENCH netlist format as the primary circuit representation form. The software integrates popular algorithms and synthesis tools such as Espresso and ABC in an easy to use interface. Visualization from a graph-based library provides the ability to see relationships between circuit form, structure, and functional representations. Features include: 1) truth table generation, 2) circuit simulation, 3) schematic and graph-based circuit views, 3) generation of canonical form equations, 4) transformations of circuits into canonical and reduced forms, 5) generation of KMAPs, 6) generation of reduced Minterms/Maxterms, PLA, and BLIF formats, and 7) generation of structural VHDL and equational Verilog. It also supports advanced concept exploration for Binary Decision Diagrams (BDD) and cryptographic properties of Boolean functions. In addition, our anecdotal experience shows how UG students can engage in extension of this toolkit while learning software engineering concepts, object-oriented analysis and design, team-based development, and GUI/event-driven programming.

1 https://embedded.eecs.berkeley.edu/pubs/downloads/espresso/index.htm 2 http://people.eecs.berkeley.edu/~alanmi/abc/

McDonald, J. T., & McKinney, D., & Andel, T. R. (2021, July), Program Encryption Toolkit: A Tool for Digital Logic Education and Undergraduate Research Paper presented at 2021 ASEE Virtual Annual Conference Content Access, Virtual Conference. 10.18260/1-2--37605

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2021 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015