Cryptography

 

Cryptography is the process of converting between readable text, called plaintext, and an unreadable form, called ciphertext:

  1. The sender converts the plaintext message to ciphertext. This part of the process is called encryption (sometimes encipherment).

  2. The ciphertext is transmitted to the receiver.

  3. The receiver converts the ciphertext message back to its plaintext form. This part of the process is called decryption (sometimes decipherment).

The conversion involves a sequence of mathematical operations that change the appearance of the message during transmission but do not affect the content. Cryptographic techniques can ensure confidentiality and protect messages against unauthorized viewing (eavesdropping), because an encrypted message is not understandable. Digital signatures, which provide an assurance of message integrity, use encryption techniques. See Digital signatures for more information.

Cryptographic techniques involve a general algorithm, made specific by the use of keys. There are two classes of algorithm:

The encryption and decryption algorithms used can be public but the shared secret key and the private key must be kept secret.

Figure 1. Symmetric key cryptography

Figure 2. Asymmetric key cryptography

Figure 2 shows plaintext encrypted with the receiver's public key and decrypted with the receiver's private key. Only the intended receiver holds the private key for decrypting the ciphertext. Note that the sender can also encrypt messages with a private key, which allows anyone that holds the sender's public key to decrypt the message, with the assurance that the message must have come from the sender.

With asymmetric algorithms, messages are encrypted with either the public or the private key but can be decrypted only with the other key. Only the private key is secret, the public key can be known by anyone. With symmetric algorithms, the shared key must be known only to the two parties. This is called the key distribution problem. Asymmetric algorithms are slower but have the advantage that there is no key distribution problem.

Other terminology associated with cryptography is:

Strength

The strength of encryption is determined by the key size. Asymmetric algorithms require large keys, for example:

512 bits Low-strength asymmetric key
768 bits Medium-strength asymmetric key
1024 bits High-strength asymmetric key
Symmetric keys are smaller: 128 bit keys give you strong encryption.

Block cipher algorithm

These algorithms encrypt data by blocks. For example, the RC2 algorithm from RCA Data Security Inc. uses blocks 8 bytes long. Block algorithms are usually slower than stream algorithms.

Stream cipher algorithm

These algorithms operate on each byte of data. Stream algorithms are usually faster than block algorithms.

 

Parent topic:

Cryptographic concepts


sy10500_