@article{MAKHILLIJSC20149521222,
    title = {A Cylindrical Coordinate System with Dynamic Permutation Table for Blowfish Algorithm},
    journal = {International Journal of Soft Computing},
    volume = {9},
    number = {5},
    pages = {318-332},
    year = {2014},
    issn = {1816-9503},
    doi = {ijscomp.2014.318.332},
    url = {https://makhillpublications.co/view-article.php?issn=1816-9503&doi=ijscomp.2014.318.332},
    author = {Ashwak,Ramlan and},
    keywords = {Blowfish algorithm,F-function,cylindrical coordinate system,dynamic permutation table,byte permutation,byte relocation,byte transformation,right cylinder},
    abstract = {The Blowfish Algorithm (BA) is a symmetric block cipher that 
  iterates simple encryption and decryption functions by using Feistel networks. 
  BA keys vary from 32-448 bits to ensure a high level of security. However, the 
  BA requires a high memory percentage and it has a problem regarding randomness 
  of output with text and image files having large strings of identical bytes. 
  One solution to the seissues is to design a new Cryptography algorithm based 
  on the BA that incorporates an F-function into a Cylindrical Coordinate System 
  (CCS). The resulting F-function is known as a CCS with a Dynamic Permutation 
  Table (DPT) or CCSDPT whereas the new algorithm is called the New BA (NBA). 
  The objectives of the CCSDPT are to reduce memory requirements, enhance the 
  randomness of the output and increase resistance to attacks through byte relocation 
  and transformation in the right cylinder. NBA is evaluated by investigates the 
  output of the algorithm by using statistical tests from the National Institute 
  of Standard and Technology (NIST) with five types of data and compared with 
  the BA. The findings of the NIST tests show that the NBA is suitable for any 
  data stream, even those with long strings of identical bytes. The combination 
  of a DPT with a dynamic 3D S-box strengthens the resistance of the NBA against 
  attacks and increases the randomness of the output. C++ is used in the implementation 
  of both algorithms. The NIST tests are implemented under Linux.}
    }