CIPHERUNICORN-A

From Wikipedia, the free encyclopedia
Jump to: navigation, search
CIPHERUNICORN-A
General
Designers NEC
First published 2000
Derived from CIPHERUNICORN-E
Certification CRYPTREC (Candidate)
Cipher detail
Key sizes 128, 192, or 256 bits
Block sizes 128 bits
Structure nested Feistel network
Rounds 16

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 algorithm uses a 16-round Feistel network structure similar to its predecessor, CIPHERUNICORN-E, but with significant changes. The block size is 128 bits, with key sizes of 128, 192, or 256 bits.

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 4 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 2 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.

References[edit]

External links[edit]