The essence of cryptography is keeping information secret; securing communications in the presence of adversaries, verifying authenticity of trusted parties, and maintaining transaction integrity. From a personal standpoint we can relate to protecting banking information, credit card transactions or even health records, but governments view cryptography from two unique angles; the need to protect top secret domestic intelligence, and the desire to acquire similar intelligence held by foreign sources.
Encryption, which defined the early days of cryptography, is the process of encrypting and decrypting data using a pair of encryption/decryption algorithms known as a cipher. In asymmetric encryption, a pair of public/private “keys” are used by sending and receiving parties. The intent of cryptanalysis is to obtain an original version of the data in question without having access to those keys.
While plain text requires little in the way of computational power, cryptographic applications which involve video-streaming can be computationally intensive; able to push CPUs to their performance limits, which explains why GPUs are often enlisted as cryptographic coprocessors for throughput-oriented applications which involve algorithms such as Advanced Encryption Standard (AES).
To achieve the required degree of parallelism, GPU implementations of AES either consider many independent streams that are encrypted in parallel or use a parallel mode of operation such as ECB or CTR that allows to encrypt blocks of a single stream independently. The most important decision to make for high-performance AES encryption on GPUs is how to use the available memory domains.
To illustrate the power that GPUs bring to the table, the winner of Engineyard’s SHA-1 programming contest achieved in excess of 328 million hashes per second using an NVIDIA GTX295 graphics card, compared to the output of just 47 million hashes per second from all four cores of a 2.4 GHz CPU, a more than 6 fold increase. GPU computing has also moved into adjacent areas of expertise such as malware detection software (detecting viruses by matching byte sequence patterns) and intrusion detection systems (identifying malicious patterns of activity at the network edge).
Cryptographic Side-Channel Analysis
Industry experts are taking advantage of this massively-parallel computing paradigm to examine how hostile attacks might occur. In one notable case, German IT Security researchers from Ruhr University cracked both the encryption key and access data on two Field Programmable Gate Array (FPGA) chips. Using cryptographic side-channel analysis they employed differential power analysis (DPA), a process whereby power use is monitored during the FPGA’s power-up sequence. During this brief sequence, the FPGA accesses a key that is used to decrypt the configuration data file and data stream.
The researchers used four NVIDIA Tesla C2070 GPUs to analyze the data. The keys were extracted in eight pieces of 32 bits each from the data gathered in a single power up for each chip. They analyzed the power consumption of 50,000 encrypted bitstream blocks for the Virtex 4 and 90,000 blocks on the Virtex 5. As to the overall time required, they obtained the key from a Virtex 4 device in about 6 hours, and for a Virtex 5 device, about 9 hours.
As a member of the NVIDIA Tesla Preferred Partner (TPP) program Trenton is now creating computing solutions, such as the TCS4501 4U rackmount computer, which support NVIDIA’s Tesla GPU 20-series computing products and CUDA™ GPU architecture. These platforms are perfect for a wide variety of government & defense applications such as crypographic analysis and computational fluid dynamics.
{ 0 comments }











