Cryptographic primitives for secure software defined radio platforms

Software-defined radio (SDR) is an emerging technology that facilitates having multiple wireless communication protocols on one device. Although many devices support multiple wireless communications protocols, most devices implement these protocols using dedicated hardware or fixed-function resources. SDRs, on the other hand, utilize programmable digital signal processors to implement baseband processing for multiple wireless protocols. Providing secure communication channels is a major concern for SDRs. While adding security is relatively straight-forward, achieving the processing performance levels needed to meet future generation speeds with acceptable energy remains an issue for SDR platforms. Previous work has shown that current baseband performance on SDR platforms requires significant processing capabilities and energy. Secure communication results in an increase in both energy consumption and processing resources required to obtain the same throughput as non-secure communication. To bridge the “processing gap” and “energy gap” of SDR platforms, this dissertation presents (1) an in-depth analysis of cryptographic algorithms, (2) a framework of key primitives for these algorithms, (3) efficiently implementations of these primitives using ISA extensions and new hardware units, and (4) an evaluation of the potential area, performance, power, and energy impact of the proposed solutions. Algorithms investigated for this dissertation include: AES, DES, SNOW 3G, ZUC, SHA-1, and SHA-256. These algorithms are primarily from the National Security Agency (NSA) Suite B set of algorithms and the Third Generation Partnership Project (3GPP). This research utilizes the observation that many of the aforementioned security algorithms and other security algorithms use repeatable patterns. An important goal of this research is to investigate how these common patterns can be translated into primitive operations and execution units, such that each algorithm can map portions of its computation to these primitives and execution units for performance and energy improvements. This research also determines the energy and performance impact of these primitives and execution units on different security algorithms. The research also investigates the efficient placement of execution units inside the SIMD processing unit found on many SDR platforms.