|
|
Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
Page 5 of 7
As an example, the following 128-bit hash was generated for similar looking messages based on the MD5 algorithm.
| Original Message | Hash value (in hexadecimal) |
| a quick brown fox jumped over a lazy dog | 13b5eeb338c2318b790f2ebccb91756f |
| a quick blue fox jumped over a lazy dog | 32c63351ac1c7070ab0f7d5e017dbcea |
| a quick brown dog jumped over a lazy fox | a4c3b4cd38ade6b5e2e101d879a966f5 |
For any arbitrarily sized message, the algorithm will generate a fixed size hash, which represents the message. It's evident from Table 1 that altering a message even slightly will change its hash. It'll be time consuming to find an alternate message that hashes to the same value.
So far we've discussed one-way functions that do not use a key. message authentication codes (MAC), on the other hand, are one-way functions that use a key. They can be used to authenticate files or messages between users, or on the system. HMAC (keyed hashing for message authentication) is an example in that category.
A symmetric cipher, when applied in conjunction with a secret key, translates plaintext to ciphertext. The cipher can also recover the plaintext from the ciphertext, using the same key. The symmetricity comes from using an identical key for both encryption and decryption. There are two related functions for encryption and decryption such that:
Ek(M) = C, where M is the plaintext, C is the ciphertext and k is the key Dk(C) = M, where C,M and k have the same meaning
They have the essential property that Dk(Ek(M)) = M
Given a well designed algorithm, the security of the process lies in the secrecy of the keys. Consequently, the main challenge for symmetric ciphers rests in the distribution of keys -- how do the communicating parties share the same secret key? In contrast, asymmetric ciphers do not have to use the same secret key. Instead, they rely on a widely available and freely distributed public key.
Encryption using private keys is usually faster than with public keys. In a hybrid cryptosystem, the private key for the session, referred to as a session key, is established using public keys. The communicating parties use the session key for the rest of the session. That is one form of key exchange. Other forms of key exchange use more secure channels to exchange the private key.
Symmetric ciphers are classified as stream ciphers or block ciphers. Stream ciphers operate on the stream of bits or bytes, whereas block ciphers operate on a group of bits. The essential difference in the ciphertext is that the same plaintext block will encrypt to the same ciphertext block, using the same key for block ciphers, whereas it will encrypt to a different block every time it is encrypted when using stream ciphers.
Most block algorithms obey the Feistel network property, which means that the algorithms for encryption and decryption are the same, with some difference in the application of keys.
There are several modes of operation. Modes enhance encryption and can also alter the characteristics of a symmetric cipher. As an example, a block cipher can be made to behave like a stream cipher by the use of the appropriate mode. Listed below are a few important modes: