Developing the Complexity and Security of the Twofish Algorithm Through a New Key Scheduling Design - Hattab, Anwar Abbas; Saieed, Ali Hussein (Iraqi Journal of Science, 2023)
The Twofish cipher is a very powerful algorithm with a fairly complex structure that permeates most data parsing and switching and can be easily implemented. The keys of the Twofish algorithm are of variable length (128, 192, or 256 bits), and the key schedule is generated once and repeated in encrypting all message blocks, whatever their number, and this reduces the confidentiality of encryption. This article discusses the process of generating cipher keys for each block. This concept is new and unknown in all common block cipher algorithms. It is based on the permanent generation of sub keys for all blocks and the key generation process, each according to its work. The Geffe’s Generator is used to generate subkeys to make each explicit block a new key that differs from block to block, gaining protection against attacks. Finally, this algorithm works almost like a One-Time Pad.