Vector Instruction Set Extensions for Efficient and Reliable Computation of Keccak

dc.contributor.authorRawat, Hemendra Kumaren
dc.contributor.committeechairSchaumont, Patrick R.en
dc.contributor.committeememberPlassmann, Paul E.en
dc.contributor.committeememberNazhandali, Leylaen
dc.contributor.departmentElectrical and Computer Engineeringen
dc.date.accessioned2016-08-28T08:00:14Zen
dc.date.available2016-08-28T08:00:14Zen
dc.date.issued2016-08-27en
dc.description.abstractRecent processor architectures such as Intel Westmere (and later) and ARMv8 include instruction-level support for the Advanced Encryption Standard (AES), for the Secure Hashing Standard (SHA-1, SHA2) and for carry-less multiplication. These crypto-instructions are optimized for a single algorithm and provide significant performance improvements over software written using general-purpose instruction set. However, today's secure systems and protocols do not rely on just one, but a suite of many cryptographic applications that are expected to work in a correct and reliable manner. In this work, we propose a new instruction set for supporting efficient and reliable cryptography on modern processors. For efficiency, we propose flexible instruction set extensions for Keccak, a cryptographic kernel for hashing, authenticated encryption, key-stream generation and random-number generation. Keccak is the basis of the SHA-3 standard and the newly proposed Keyak and Ketje authenticated ciphers. For reliability, we propose a set of trusted instructions to verify the integrity of a cryptographic software library. These instructions are aimed at detecting tamper in the software or in the configurable hardware. We develop the instruction extensions for a 128-bit interface, commonly available in the vector processing unit of many modern processors. Simulation results on GEM5 architectural simulator show that the proposed instructions not only improves the performance of Keccak applications by 2 times (over NEON programming) and 6 times (over assembly programming), but also improves the reliability of applications at a performance overhead of just 6%.en
dc.description.degreeMaster of Scienceen
dc.format.mediumETDen
dc.identifier.othervt_gsexam:8828en
dc.identifier.urihttp://hdl.handle.net/10919/72857en
dc.publisherVirginia Techen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectSIMDen
dc.subjectInstruction Set Extensionsen
dc.subjectSHA-3en
dc.subjectHashingen
dc.subjectAuthenticated Encryptionen
dc.subjectSoftware Integrityen
dc.titleVector Instruction Set Extensions for Efficient and Reliable Computation of Keccaken
dc.typeThesisen
thesis.degree.disciplineComputer Engineeringen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Rawat_HK_T_2016.pdf
Size:
3.88 MB
Format:
Adobe Portable Document Format

Collections