Like Hasty Pudding, FROG is a variable size block cipher and a rather unorthodox design. It supports block sizes from 8 to 128 bytes and key sizes from 5 to 125 bytes. For AES use, the block size would be fixed at 128 bits and key size at 128, 192 or 256 bits.
FROG introduced a novel design principle. Most block ciphers use round keys as data, thereby making each round different, but each round uses exactly the same sequence of operations. FROG uses data derived from the primary key as a program for an interpreter, so that each round can use a different sequence of operations. Eight rounds are used. Encryption and decryption are fast, but the key schedule is rather slow because it has to build a program for the interpreter.
While it was generally agreed that FROG was an interesting bit of work, it was found to have some weaknesses .
- Dianelos Georgoudis, Damian Leroux and Billy Simón Chaves (June 15, 1998), The FROG Encryption Algorithm
- D. Wagner, N. Ferguson, and B. Schneier (1999), Cryptanalysis of FROG