The JHU Department of Computer Science is a department within the Whiting School of Engineering. While studies and research cover a very wide area, there are five main research interests:
Algorithms – A core area and long-standing strength of the department, dating from before the department’s formation. Robotics, Vision, and Graphics – Much of the research in these areas, which involve 3-D computer modeling, is done within the Center for Computer-Integrated Surgical Systems and Technology (CISST). Related research includes human-computer interaction, and shape recognition and shape matching. Security – This is an incredibly broad area and research, focused within the JHU Information Security Institute, involves many aspects of computer and network security. Systems – This core research area grapples with improving operating systems and data storage and defining higher standards for security evaluation. Natural Language Processing – This concerns enabling computers to work more effectively with human languages, identifying input strings and corresponding output, defining correlations between text and speech, form and content, syntax and translations. The Center for Language and Speech Processing (CLSP) is centrally involved with this work.
The purpose of this report is to provide exhaustive details of my Computer Security Architecture project this spring 2008 semester. Ultimately, the goal has been to prepare a document that an
undergraduate student can read to increase his/her comprehension of the Atmel AVR AT90USB1287 microcontroller and its hardware components, the Assembler programming language, random number generation, pseudorandom number generation, and testing methods to determine levels of randomness. This report outlines how to program a random number generator (RNG) on the AT90USB1287 using the on‐board thermometer, as well as two pseudorandom number generators (PRNGs) on the AT90USB1287. One of the PRNGs is a Linear Feedback Shift Register (LFSR) and is designated as the “weak” PRNG. The other PRNG is the Advanced Encryption Standard (AES) algorithm and is designated as the “strong” PRNG algorithm. After programming the RNG, weak PRNG, and strong PRNG on the AT90USB1287, this report details the results of randomness tests offered by the National Institute of Standards and Technology (NIST) on both PRNG algorithms. The purpose of this is to demonstrate specifically what it means to have a cryptographically secure PRNG algorithm.