Computer Architectures

Read Complete Research Material

COMPUTER ARCHITECTURES

Computer Architectures for Public-Key C and Secret-Key Crypto Systems

Computer Architectures for Public-Key C and Secret-Key Crypto Systems

Introduction

Growing demands for security are characterizing the vast majority of communication and computer systems. In order to secure a system, various cryptographic protocols are required. These protocols can be implemented in hard ware and software. However, hardware appeared to be the ultimate choice considering security, as well as efficiency. Indeed, hardware implementations are faster in general, offering at the same time more intrinsic security. The “ideally designed” hardware should offer a scalable architecture to overcome the well-known drawback of limited flexibility. (Crowe, 2008)

Secret Key Cryptography

With secret key cryptography, a single key is used for both encryption and decryption. As shown in following figure the sender uses the key (or some set of rules) to encrypt the plaintext and sends the ciphertext to the receiver.

The receiver applies the same key (or ruleset) to decrypt the message and recover the plaintext. Because a single key is used for both functions, secret key cryptography is also called symmetric encryption. With this form of cryptography, it is obvious that the key must be known to both the sender and the receiver; that, in fact, is the secret. The biggest difficulty with this approach, of course, is the distribution of the key. Secret key cryptography schemes are generally categorized as being either stream ciphers or block ciphers. Stream ciphers operate on a single bit (byte or computer word) at a time and implement some form of feedback mechanism so that the key is constantly changing. A block cipher is so-called because the scheme encrypts one block of data at a time using the same key on each block. In general, the same plaintext block will always encrypt to the same ciphertext when using the same key in a block cipher whereas the same plaintext will encrypt to different ciphertext in a stream cipher. Stream ciphers come in several flavors but two are worth mentioning here. Self-synchronizing stream ciphers calculate each bit in the keystream as a function of the previous n bits in the keystream. It is termed "self-synchronizing" because the decryption process can stay synchronized with the encryption process merely by knowing how far into the n-bit keystream it is. One problem is error propagation; a garbled bit in transmission will result in n garbled bits at the receiving side. Synchronous stream ciphers generate the keystream in a fashion independent of the message stream but by using the same keystream generation function at sender and receiver. While stream ciphers do not propagate transmission errors, they are, by their nature, periodic so that the keystream will eventually repeat. (Khalil, 2008)

Block ciphers can operate in one of several modes; the following four are the most important:

Electronic Codebook (ECB) mode is the simplest, most obvious application: the secret key is used to encrypt the plaintext block to form a ciphertext block. Two identical plaintext blocks, then, will always generate the same ciphertext ...
Related Ads