Dynamic key scheduling algorithm for block ciphers using quasigroup string transformation - Hassan Disina, Abdulkadir (2018)
Cryptographic ciphers depend on how quickly the key affects the output of the ciphers (ciphertext). Keys are traditionally generated from small size input (seed) to a bigger size random key(s). Key scheduling algorithm (KSA) is the mechanism that generates and schedules all sub-keys for each round of encryption. Researches have suggested that sub-keys should be generated separately to avoid related-key attack. Similarly, the key space should be disproportionately large to resist any attack on the secret key. To archive that, some algorithms adopt the use of matrixes such as quasigroup, Hybrid cubes and substitution box (S-box) to generate the encryption keys. Quasigroup has other algebraic property called “Isotophism”, which literally means Different quasigroups that has the same order of elements but different arrangements can be generated from the existing one. This research proposed a Dynamic Key Scheduling Algorithm (KSA) using isotope of a quasigroup as the dynamic substitution table. A method of generating isotope from a non-associative quasigroup using one permutation with full inheritance is achieved. The generic quasigroup string transformation has been analyzed and it is found to be vulnerable to ciphertext only attack which eventually led to the proposal of a new quasigroup string transformation in this research to assess its strength as it has never been analyzed nor properly implemented before. Based on the dynamic shapeless quasigroup and the proposed new string transformation, a Dynamic Key Scheduling Algorithm (DKSA) is developed. To validate the findings, non-associativity of the generated isotopes has been tested and the generated isotopes appeared to be non-associative. Furthermore, the proposed KSA algorithm has been validated using the randomness test proposed and recommended by NIST, avalanche test and has achieved remarkable result of 94%, brute force and correlation assessment test with -0.000449 correlations. It was fully implemented in a modified Rijndael block cipher to validate it performance and it has produced a remarkable result of 3.35332 entropy.