Downloads Tutorial Mac OS X
Infomosaic products are not available to new customers after 08/29/2008. Read White Papers, Case Studies and Articles
Existing customers may contact support for any technical questions as long as their annual maintenance contract is active. The license management site will remain active until 12/31/08. Please download all your licenses before that.
Google
Web
infomosaic.net







Encryption

Encryption is the conversion of data into a form, called a ciphertext, which cannot be easily understood by unauthorized people.

 

Symmetric Encryption

In a Symmetric Encryption, a symmetric cipher uses the same key for both encryption and decryption. There are two types of symmetric ciphers: block ciphers, and stream ciphers.

A stream cipher relies on a key derivation function to generate a key stream. A block cipher encrypts the text in fixed sized blocks. Block ciphers are widely supported in XML Encryption. Even though stream ciphers are faster and smaller to implement, they have an important security gap. If the same key stream is used, certain types of attacks may cause the information to be revealed.

The most used block ciphers are Triple DES and the AES. AES is Advanced Encryption Standard. Triple DES is a variation of Data Encryption Standard (DES). It uses a 64-bit key consisting of 56 effective key bits and 8 parity bits. The size of the block for Triple-DES is 8 bytes. Triple-DES encrypts the data in 8-byte chunks. The following figure shows how Triple-DES works.

Major problems of Symmetric Encryption are:

  1. Data Integrity: Receiver can not verify the that a message has not been altered.
  2. Repudiation: Receiver can not make sure that the message has been sent by the claimed sender.
  3. Scalable Key Distribution: Data integrity and repudiation problems are solved with digital signatures while key distribution problem is solved using RSA encryption or the DH key agreement algorithm.

Asymmetric Encryption (Public Key Encryption)

Asymmetric key cryptography uses non-matching keys for encryption and decryption: One key for encryption and the other for decryption.

Various algorithms are exist for Asymmetric Encryption such as RSA, DSA and PGP.

RSA Algorithm

The keys used for encryption and decryption in RSA algorithm, are generated using random data. The key used for encryption is a public key and the key used for decryption is a private key. Public keys are stored anywhere publicly accessible. The sender of message encrypts the data using public key, and the receiver decrypts it using his/her own private key. That way, no one else can intercept the data except receiver.

Key Generation

Choose to large prime numbers: p and q. The product n = pq, n is referred as modulus. Choose two more numbers: e and d. e is referred to as the public exponent d is the private exponent. The value e must be chosen less than n and relatively prime to (p-1)(q-1). The term relatively prime means that (p-1)(q-1) and e have no common factors except 1.

The value d must be chosen such that (ed-1) is divisible by (p-1)(q-1).

The public key: (n, e)
The private key: (n, d)

RSA Encryption and Decryption

Encryption is done with a public key(or private key for signature). To encrypt the message m which will result in ciphertext c:

c = mod n

Decryption is done with a private key (or public key to verify signature).

m = mod n

However RSA algorithm has two drawbacks:

Key generation can be slow.
RSA operations are slower than similar symmetric key operations.


 

All contents are Copyright © 2000--2008 Infomosaic Corporation. All rights reserved.
Page last updated on Friday, August 29, 2008

Success Stories

Google
Web
infomosaic.net