Symmetric encryption
is a class of algorithms for cryptography that use the same cryptographic keys for both encryption of plaintext and decryption of ciphertext. The keys may be identical or there may be a simple
transformation to go between the two keys. The keys, in practice, represent a shared secret between two or more parties that can be
used to maintain a private information link.
Encryption
methods can be extremely efficient, requiring minimal processing, and Both sender and receiver must possess encryption
key. If either copy of key is compromised, an
intermediate can decrypt and read messages
A symmetric encryption
has two components a block cipher and stream cipher. (i) A block cipher operates on groups of bits –
typically groups of 64. If the final block of the plaintext message is shorter
than 64 bits, it is padded with some regular pattern of 1s and 0s to make a
complete block. Block ciphers encrypt each block independently, so the
plaintext does not have to be processed in a sequential manner. (ii) A stream cipher generally
operates on one bit of plaintext at a time, although some stream ciphers
operate on bytes. A component called a keystream generator generates a sequence
of bits, usually known as a keystream. In the simplest form of stream
cipher, a modulo-2 adder (exclusive-OR or XOR gate) combines each bit in the
plaintext with each bit in the keystream to produce the ciphertext. At the
receiving end, another modulo-2 adder combines the ciphertext with the
keystream to recover the plaintext.
A symmetric encryption has 5 ingredients, which are the following:
1.
Plaintext: this is
the original message or data that is fed into the algorithm as input.
2.
Encryption
algorithm: this algorithm performs various substitutions and
transformations on the plaintext.
3.
Secret
Key: is also input to algorithm. The exact substitutions and
transformations performed by the algorithm depend on the key.
4.
Ciphertext: this is
the scrambled message produced as output. It depends on the plaintext and
secret key.
5.
Decryption
algorithm: this is essentially the encryption algorithm run in
reverse. It takes the ciphertext and the same secret key and produces the
original plaintext.
No comments:
Post a Comment