CMP EMBEDDED.COM

Login | Register     Welcome Guest ESC Boston  esc india  Call for Abstracts
 

Acceleration of Symmetric-Key Algorithms in Software



Embedded.com
Symmetric-key ciphers can be found in a range of security protocols. They are primarily used for encrypting communication, data, media, and a host of other content types.

Many of these ciphers rely on bit-manipulating operations in order to transform back and forth between plaintext and ciphertext. While easily implemented in dedicated hardware blocks, some of these bit-manipulating operations are computationally expensive when performed in software.

In systems that do a fair amount of encryption/decryption, implementing the symmetric-key ciphers in hardware is the preferred way to accelerate their execution. There are, however, systems in which hardware cryptographic acceleration is unnecessary or inappropriate.

Examples may include systems that perform only a moderate amount of encryption/decryption, systems that demand more cryptographic processing flexibility than that achieved by hardware acceleration, and/or systems that cannot afford the cost of cryptographic acceleration.

In cases where acceleration is not the answer, intelligent software implementations of cryptographic algorithms in general and of symmetric-key ciphers in particular may prove essential.

This article discusses software implementations of symmetric-key ciphers, taking a look at several algorithm-level optimizations as well as low-level instruction selection approaches. Results obtained from running un-optimized and optimized symmetric-key ciphers on our target platform, Analog Devices' Blackfin processor, prove that significant acceleration of symmetric-key ciphers can be attained in software.

A review of Symmetric-Key Cipher basics
Symmetric-key ciphers (Figure 1, below) are so named because both ends to a secure communication require access to the same key. This key is used both for encryption, transforming the clear plain text into obfuscated cipher text, and for decryption, recovering the plain text from the obfuscated cipher text.

Figure 1 - Symmetric-Key Ciphers

Both parties to a secure communication should maintain the secrecy of the symmetric-key. If an unauthorized party gained access to the symmetric-key, such a party would be able to decrypt the ciphertext and consequently break the confidentiality of the communication. Because of the secrecy requirement on the key used in symmetric-key ciphers, such ciphers are also referred to as secret-key, or private-key, ciphers.

Symmetric-key ciphers can be found in a range of security protocols. Internet Protocol security (IPSec), which is a framework of open standards for protecting communications over IP networks, uses symmetric-key ciphers to implement, among other things, data confidentiality.

Every time an employee establishes a Virtual Private Network (VPN) connection to remotely access company computing resources, the symmetric-key ciphers operating within the IPSec framework provide the confidentiality of the communication link.

Symmetric-key ciphers are by no means only limited to servers and PCs, but extend to embedded systems. The widespread use of smart phones and PDAs to access emails and to carry out e-commerce transactions necessitates the execution of symmetric-key ciphers on these devices. Other embedded systems that handle confidential data, such as ATMs, slot machines, POS terminals, and some medical devices also rely on symmetric-key ciphers for data confidentiality.

The most common symmetric-key ciphers in use today include DES/Triple DES and AES. The Data Encryption Standard (DES) became effective in July 1977. The secret key used in DES has a length of 56 bits. This key length was sufficient to provide adequate security in the past.

However, for many applications, a 56-bit key is too short to be secure against today's cryptanalysts. The DES has now been withdrawn. A more secure variant of DES is Triple DES, or officially Triple Data Encryption Algorithm (TDEA). Triple DES is essentially a serial combination of three DES blocks. Therefore, from an implementation point of view, DES and Triple DES are almost identical.

The Advanced Encryption Standard (AES) superseded DES and became effective in 2002. It supports secret-key lengths of 128, 192, and 256 bits. AES is enjoying widespread adoption and use worldwide. In many of the security protocols today, AES and Triple DES are the predominant symmetric-key ciphers used.

1 | 2 | 3

Rate this article: Low High
Current rating
  • .
Embedded.com Career Center
Ready to take that job and shove it?
SEARCH JOBS

Browse all jobs

SPONSOR
RECENT JOB POSTINGS




 :