An enhanced Blowfish Algorithm based on cylindrical coordinate system and dynamic permutation box - Alabaichi, Ashwak Mahmood (2014)
The Blowfish Algorithm (BA) is a symmetric block cipher that uses Feistel network to iterate simple encryption and decryption functions. BA key varies from 32 to 448 bits to ensure a high level of security. However, the substitution box (S-Box) in BA occupies a high percentage of memory and has problems in security, specifically in randomness of output with text and image files that have large strings of identical bytes. Thus, the objective of this research is to enhance the BA to overcome these problems. The research involved three phases, algorithm design, implementation, and evaluation. In the design phase, a dynamic 3D S-Box, a dynamic permutation box (P-Box), and a Feistal Function (F-Function) were improved. The improvement involved integrating Cylindrical Coordinate System (CCS) and dynamic P-Box. The enhanced BA is known as Ramlan Ashwak Faudziah (RAF) algorithm. The implementation phase involved performing key expansion, data encryption, and data decryption. The evaluation phase involved measuring the algorithm in terms of memory and security. In terms of memory, the results showed that the RAF occupied 256 bytes, which is less than the BA (4096 bytes). In terms of randomness of text and image files that have large strings of identical bytes, the average rate of randomness for 188 statistical tests obtained values of more than 96%. This means that the RAF has high randomness indicating that it is more secured. Thus, the results showed that the RAF algorithm that integrates the CCS and dynamic P-Box serves as an effective approach that can consume less memory and strengthen security.