{"id":{"repo_id":"byu","oai_identifier":"oai:scholarsarchive.byu.edu:etd-1388"},"canonical_url":"https://search.dev.ndltd.org/etd/byu/oai:scholarsarchive.byu.edu:etd-1388","repository":{"repo_id":"byu","name":"Brigham Young University","base_url":"https://scholarsarchive.byu.edu/do/oai/"},"display":{"title":"Encryption of Computer Peripheral Devices","abstract":"<p>Computer peripherals, such as keyboards, scanners, printers, cameras, and Personal Data Assistants (PDAs) typically communicate with a host PC via an unencrypted protocol, leaving them vulnerable to eavesdropping techniques, such as keyloggers. An encryption system was developed that is simple enough to be used in peripherals that do not have large amounts of processing power and memory. A software driver loaded in the operating system of the host computer communicates with a simple 8-bit microcontroller in the peripheral device. The driver handles key generation, key exchange, and provides decrypted data to the operating system. A key exchange protocol allows the driver and microcontroller to securely exchange randomly generated keys. The system can function without user intervention, but will alert a user if a non-encrypting or non-authorized peripheral device is detected. The system is designed to be implemented over a variety of interfaces including PS/2, RS-232, TCP/IP over Ethernet, 802.11, and Bluetooth. A demonstration system was built, which encrypts data on the PS/2 bus between a keyboard and the host computer. Several ciphers were considered for use in encryption. The RC4 cipher was selected for encrypting and decrypting the data in a demonstration system because of it's speed and efficiency when working with 8-bit data. The driver and the microcontroller share a hard-coded key, which is used to encrypt a randomly generated session key, in order to provide a secure exchange of the session key. The demonstration system performs well, without introducing enough latency to be noticed by the user, and the microcontroller is idle over 95% of the time, even when a fast typist is using the keyboard.</p>","abstract_html":"&lt;p&gt;Computer peripherals, such as keyboards, scanners, printers, cameras, and Personal Data Assistants (PDAs) typically communicate with a host PC via an unencrypted protocol, leaving them vulnerable to eavesdropping techniques, such as keyloggers. An encryption system was developed that is simple enough to be used in peripherals that do not have large amounts of processing power and memory. A software driver loaded in the operating system of the host computer communicates with a simple 8-bit microcontroller in the peripheral device. The driver handles key generation, key exchange, and provides decrypted data to the operating system. A key exchange protocol allows the driver and microcontroller to securely exchange randomly generated keys. The system can function without user intervention, but will alert a user if a non-encrypting or non-authorized peripheral device is detected. The system is designed to be implemented over a variety of interfaces including PS/2, RS-232, TCP/IP over Ethernet, 802.11, and Bluetooth. A demonstration system was built, which encrypts data on the PS/2 bus between a keyboard and the host computer. Several ciphers were considered for use in encryption. The RC4 cipher was selected for encrypting and decrypting the data in a demonstration system because of it&#x27;s speed and efficiency when working with 8-bit data. The driver and the microcontroller share a hard-coded key, which is used to encrypt a randomly generated session key, in order to provide a secure exchange of the session key. The demonstration system performs well, without introducing enough latency to be noticed by the user, and the microcontroller is idle over 95% of the time, even when a fast typist is using the keyboard.&lt;/p&gt;","abstract_has_math":false,"creators":["Norman, Kelly Robert"],"institution":"Brigham Young University - Provo","degree_name":"MS","degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":[],"committee_chairs":[],"committee_members":[],"year":null,"date_issued":"","date_published":null,"updated_at":"2026-07-24T01:27:43Z","subjects":["Encryption","computer peripheral","microcontroller","RC4","Computer Sciences","Construction Engineering and Management"],"languages":["English"],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://scholarsarchive.byu.edu/etd/389","outbound_label":"Repository record","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:creator","label":"Author","values":["Norman, Kelly Robert"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2006-03-20T08:00:00Z"]},{"key":"dc:publisher","label":"Institution","values":["Brigham Young University - Provo"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["MS"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Encryption","computer peripheral","microcontroller","RC4","Computer Sciences","Construction Engineering and Management"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["English"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["https://scholarsarchive.byu.edu/etd/389","https://scholarsarchive.byu.edu/context/etd/article/1388/viewcontent/ETD_CISOPTR_609.pdf"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Ira A. Fulton College of Engineering and Technology; Technology"]},{"key":"dc:description.abstract","label":"Abstract","values":["<p>Computer peripherals, such as keyboards, scanners, printers, cameras, and Personal Data Assistants (PDAs) typically communicate with a host PC via an unencrypted protocol, leaving them vulnerable to eavesdropping techniques, such as keyloggers. An encryption system was developed that is simple enough to be used in peripherals that do not have large amounts of processing power and memory. A software driver loaded in the operating system of the host computer communicates with a simple 8-bit microcontroller in the peripheral device. The driver handles key generation, key exchange, and provides decrypted data to the operating system. A key exchange protocol allows the driver and microcontroller to securely exchange randomly generated keys. The system can function without user intervention, but will alert a user if a non-encrypting or non-authorized peripheral device is detected. The system is designed to be implemented over a variety of interfaces including PS/2, RS-232, TCP/IP over Ethernet, 802.11, and Bluetooth. A demonstration system was built, which encrypts data on the PS/2 bus between a keyboard and the host computer. Several ciphers were considered for use in encryption. The RC4 cipher was selected for encrypting and decrypting the data in a demonstration system because of it's speed and efficiency when working with 8-bit data. The driver and the microcontroller share a hard-coded key, which is used to encrypt a randomly generated session key, in order to provide a secure exchange of the session key. The demonstration system performs well, without introducing enough latency to be noticed by the user, and the microcontroller is idle over 95% of the time, even when a fast typist is using the keyboard.</p>"]},{"key":"dc:format","label":"Dc Format","values":["application:pdf"]},{"key":"dc:source","label":"Dc Source","values":["Brigham Young University - Provo"]},{"key":"dc:title","label":"Title","values":["Encryption of Computer Peripheral Devices"]}]}],"canonical_facts":{"dc:creator":["Norman, Kelly Robert"],"dc:date":["2006-03-20T08:00:00Z"],"dc:description":["Ira A. Fulton College of Engineering and Technology; Technology"],"dc:description.abstract":["<p>Computer peripherals, such as keyboards, scanners, printers, cameras, and Personal Data Assistants (PDAs) typically communicate with a host PC via an unencrypted protocol, leaving them vulnerable to eavesdropping techniques, such as keyloggers. An encryption system was developed that is simple enough to be used in peripherals that do not have large amounts of processing power and memory. A software driver loaded in the operating system of the host computer communicates with a simple 8-bit microcontroller in the peripheral device. The driver handles key generation, key exchange, and provides decrypted data to the operating system. A key exchange protocol allows the driver and microcontroller to securely exchange randomly generated keys. The system can function without user intervention, but will alert a user if a non-encrypting or non-authorized peripheral device is detected. The system is designed to be implemented over a variety of interfaces including PS/2, RS-232, TCP/IP over Ethernet, 802.11, and Bluetooth. A demonstration system was built, which encrypts data on the PS/2 bus between a keyboard and the host computer. Several ciphers were considered for use in encryption. The RC4 cipher was selected for encrypting and decrypting the data in a demonstration system because of it's speed and efficiency when working with 8-bit data. The driver and the microcontroller share a hard-coded key, which is used to encrypt a randomly generated session key, in order to provide a secure exchange of the session key. The demonstration system performs well, without introducing enough latency to be noticed by the user, and the microcontroller is idle over 95% of the time, even when a fast typist is using the keyboard.</p>"],"dc:format":["application:pdf"],"dc:identifier":["https://scholarsarchive.byu.edu/etd/389","https://scholarsarchive.byu.edu/context/etd/article/1388/viewcontent/ETD_CISOPTR_609.pdf"],"dc:language":["English"],"dc:publisher":["Brigham Young University - Provo"],"dc:source":["Brigham Young University - Provo"],"dc:subject":["Encryption","computer peripheral","microcontroller","RC4","Computer Sciences","Construction Engineering and Management"],"dc:title":["Encryption of Computer Peripheral Devices"],"dc:type":["Thesis"],"thesis:degree_name":["MS"]},"updated_at":"2026-07-24T01:27:43Z"}