Wednesday, June 1, 2011

Blowfish Encryption

Blowfish, aka "OpenPGP.Cipher.4" is included in the class encryption Symmetric Cryptosystem, the encryption method is similar to DES (DES-like cipher) Cryptanalyst created by a company named Bruce Schneier President Counterpane Internet Security, Inc. (consulting company about cryptography and security Computers) and published in 1994. Created for use on computers that have a large microposesor (32-bit and above with a large data cache).
Blowfish was developed to meet the design criteria that fast in implementation which in optimal conditions can reach 26 clock cycles per byte, compact in which the memory can run at less than 5 MB, so simple in the algorithm is easy to determine fault, and security in which the variable key length varies ( minimum of 32 bits, 448 bits maximum, Multiple 8 bits, default 128 bits). Blowfish are optimized for applications where the key does not change frequently, as in the communication network or encrypt files automatically. Its implementation in bermicroprosesor 32-bit computer with a large data cache (Pentium and Power PC) Blowfish proved much faster than DES. But the Blowfish did not match the application with the key change that often or as Hast one-way functions such as packet switching applications. Blowfish was not to be used in smart card applications (smart cards) because it requires large memory.
Blowfish block cipher encryption is included in the 64-bit key length view varied between 32-bit to 448-bit.Algoritma Blowfish consists of two parts:
1.Key-ExpansionChange function key (Minimum 32-bit, Maximum 448-bit) into several subkey arrays (subkey) with a total of 4168 bytes.
2.Enkripsi DataIteration consists of a simple function (Feistel Network) 16 times round. Each round consists of key-dependent permutation and substitution of key-and data-dependent. All operations are the addition (Addition) and XOR on 32-bit variable. Additional operations are four search table (lookup table) indexed array for each round.
Blowfish algorithm
Blowfish uses a large subkeys. The key is to be calculated before encryption or decryption of data.
Blowfish is a Feistel network algorithms that apply (Feistel Network) which consists of 16 rounds. Input is 64-bit elements, X. For the groove Blowfish encryption algorithm with a method described as follows:
P-arrays 1.Bentuk initials as many as 18 pieces (P1, P2, ... ... ... ... .. P18) are msingP-value 32-bit.Array consisted of eighteen 32-bit key subkey:
P1, P2, ... ...., P18
2.Bentuk S-box of 4 pieces each worth 32-bit with input256.
Four 32-bit S-boxes each having 256 entries:
S1, 0, S1, 1, ... ... ... ... ... ... .., S1, 255
S2, 0, S2, 1, ... ... ... ... ... ... .., S2, 255
S3, 0, S3, 1, ... ... ... ... ... ... .., S3, 255
S4, 0, S4, 1, ... ... ... ... ... ... .., S4, 255
3.Plaintext to be encrypted is assumed as an input, the plaintexttaken as many as 64-bit, and if less than 64-bit then we addbits, so that in later operations in accordance with the data.
4.Hasil decision had been divided by 2, 32-bit first called XL, a second 32-bitcalled XR.
5.Selanjutnya do surgery Pi xor XL = XL and XR = F (XL) xor XR
6.Hasil from above operrasi exchanged into XR and XR XL into XL.
7.Lakukan 16 times, repeating that the 16 do again the process of exchange XLand XR.
8.Pada-17 process to do surgery to XR = XR xor P17 and P18 XL = XL xor.
Re-united last 9.Proses XL and XR to become 64-bit back.

1 comments:

Amelia said...

Great ! With the help of this article I have understood this symmetric encryption technique. I do have read several other posts too but no one has explained in this great way. You have posted the algorithm too. Thanks a lot.
electronic signature software

Post a Comment