|Key sizes||128, 192, or 256 bits|
|Block sizes||128 bits|
|Structure||nested Feistel network|
In cryptography, CIPHERUNICORN-A is a block cipher created by NEC in 2000. It was among the cryptographic techniques recommended for Japanese government use by CRYPTREC in 2003, however, has been dropped to "candidate" by CRYPTREC revision in 2013.
The round function is even more complicated than that of CIPHERUNICORN-E, but the extra mixing function between rounds has been removed. The round function is still split into two nearly parallel computations; both of these are Feistel networks themselves.
The first part (the main stream) is a 10-round Feistel network, using four 8×8-bit S-boxes much like the ones from CIPHERUNICORN-E. The last two rounds of the main stream are influenced by the output of the second part (the temporary key generation function). This second, 6-round Feistel network uses modular multiplication, as well as two of the S-boxes.
In contrast to CIPHERUNICORN-E, subkeys are added in only at the beginning of each main round.
The key schedule of CIPHERUNICORN-A makes repeated use of a function called MT, using modular multiplication and all of the S-boxes. A flaw was discovered in the key schedule, such that certain keys are equivalent, but it is unknown just how much of a weakness this is.
The great complexity of CIPHERUNICORN-A's round function has made it difficult to analyze. Some limited analysis has been done on simplified variants, showing that they are likely resistant to both differential and linear cryptanalysis.
- Matt Robshaw (14 December 2001). "A Cryptographic Review of CIPHERUNICORN-A" (PDF). Retrieved 21 January 2007.