Академический Документы
Профессиональный Документы
Культура Документы
CHAPTER 4
4.1 INTRODUCTION
(1) Initialize first the P-array and then the four S-boxes, in order, with a
fixed string. This string consists of the hexadecimal digits of pi
(less the initial3).
90
For example:
P1 = 0x243f6a88
P2 = 0x85a308d3
P3 = 0x13198a2e
P4 = 0x03707344
(2) XOR P1 with the first 32-bits of the key, XOR P2 with the second
32-bits of the key, and so on for all bits of the key (possibly up to
P14). Repeatedly cycle through the key bits until the entire P-array
has been XORed with key bits. (For every short key, there is at
least one equivalent longer key;
For example:
XR = XR XOR P2
XL = XL XOR P1
Recombine XL and XR
Ci=Ei(PiCi) (4.1)
Pi=Ci-1D(Ci) (4.2)
This output is fed back and added modulo 2 to the next plaintext
block forming the new Blowfish input block. This mode produces a cipher
98
text dependent on the previous plaintext blocks. Figure 4.6(a) shows the CBC
encryption mode Figure. 4.6(b) shows the CBC decryption mode.
of cipher text. Again, this is useful for encoding long blocks of input.
Figure 4.7shows the CFB mode.
c. Encryption b. Decryption
The principle and working of the blowfish algorithm was briefly discussed
in this chapter. It was found from the analysis of blowfish algorithm that the quality of
the cipher text can be improved by adding the concepts of genetic algorithm and
mutation. Crossover operator and the flip bit mutation were taken into account along
with the normal operation of the blowfish algorithm. The results obtained were quite
appreciative and the complexity of the key and the cipher text were also found to be
good. This concept is present simulated and synthesized as software but the concept
can be implemented in a real FPGA module to make it as a unique one for the sender
and receiver. The difficulty found in the process is that, the ASCII values of the cipher
text finally obtained can‘t be used directly for the decryption. The binary values of the
cipher text are necessary for the decryption process, the conversions of ASCII values
to binary values are found to be difficult and it can be avoided in the future.
4.11 SUMMARY
The usual blowfish algorithm and the Feistel network were discussed in
this section. The inclusion of genetic algorithm and concept of mutation is found to
increase the quality of the encryption. The experimental results also showed better
results with minor difficulties which were rectified. The algorithm can be an efficient
one when it is implemented as a hardware and it will be more unique for the user than
being as a software module alone.