Symmetric Cipher Model
A symmetric encryption scheme has five ingredients (Figure below):
Plaintext: This is the original intelligible message or data that is fed into the algorithm as input.
Encryption algorithm: The encryption algorithm performs various substitutions and transformations on the plaintext.
Secret key: The secret key is also input to the encryption algorithm. The key is a value independent of the plaintext and of the algorithm. The algorithm will produce a different output depending on the specific key being used at the time. The exact substitutions and transformations performed by the algorithm depend on the key.
Ciphertext: This is the scrambled message produced as output. It depends on the plaintext and the secret key. For a given message, two different keys will produce two different ciphertexts. The ciphertext is an apparently random stream of data and, as it stands, is unintelligible.
Decryption algorithm: This is essentially the encryption algorithm run in reverse. It takes the ciphertext and the secret key and produces the original plaintext.
There are two requirements for secure use of conventional encryption:
1. We need a strong encryption algorithm. At a minimum, we would like the algorithm to be such that an opponent who knows the algorithm and has access to one or more ciphertexts would be unable to decipher the ciphertext or figure out the key. This requirement is usually stated in a stronger form: The opponent should be unable to decrypt ciphertext or discover the key even if he or she is in possession of a number of ciphertexts together with the plaintext that produced each ciphertext.
2. Sender and receiver must have obtained copies of the secret key in a secure fashion and must keep the key secure. If someone can discover the key and knows the algorithm, all communication using this key is readable.
We assume that it is impractical to decrypt a message on the basis of the ciphertext plus knowledge of the encryption/decryption algorithm. In other words, we do not need to keep the algorithm secret; we need to keep only the key secret. This feature of symmetric encryption is what makes it feasible for widespread use. The fact that the algorithm need not be kept secret means that manufacturers can and have developed low-cost chip implementations of data encryption algorithms. These chips are widely available and incorporated into a number of products.With the use of symmetric encryption, the principal security problem is maintaining the secrecy of the key.
Lets take a closer look more mathematically.A source produces a message in plaintext,$X=[X_1,X_2,\ldots,X_M]$. The $M$ elements of $X$ are letters in some finite alphabet.Traditionally, the alphabet usually consisted of the 26 capital letters. Nowadays, the binary alphabet $\{0, 1\}$ is typically used. For encryption, a key of the form $K=[K_1,K_2,\ldots,K_j]$ is generated. If the key is generated at the message source, then it must also be provided to the destination by means of some secure channel.Alternatively, a third party could generate the key and securely deliver it to both source and destination.
With the message $X$ and the encryption key $K$ as input, the encryption algorithm forms the ciphertext $Y=[Y_1,Y_2,\ldots,Y_N]$.We can write this as
$$Y=E(K,X)$$
This notation indicates that $Y$ is produced by using encryption algorithm $E$ as a function of the plaintext $X$ , with the specific function determined by the value of the key $K$.
The intended receiver, in possession of the key, is able to invert the transformation:
$$X=D(K,Y)$$
An opponent, observing $Y$ but not having access to $K$ or $X$, may attempt to recover $X$ or $K$ or both $X$ and $K$ . It is assumed that the opponent knows the encryption $E()$ and decryption $D()$ algorithms. If the opponent is interested in only this particular message, then the focus of the effort is to recover $X$ by generating a plaintext estimate $\hat{X}$. Often, however, the opponent is interested in being able to read future messages as well, in which case an attempt is made to recover $K$ by generating an estimate $\hat{K}$.
Comments
Post a Comment