The following example is based on the attack done by Rechberger and Bogdanov on the KTANTAN cipher-family. The naming-conventions used in their paper is also used for this example. The attack reduces the computational complexity of KTANTAN32 to 2^{75.170}, down from 2^{80} if compared with a bruteforce attack. A computational complexity of 2^{75.170} is of 2014 still not practical to break, and the attack is thus not computationally feasible as of now. The same goes for KTANTAN48 and KTANTAN64, which complexities can be seen at the end of the example. The attack is possible, due to weaknesses exploited in KTANTAN's bit-wise key-schedule. It is applicable to both KTANTAN32, KTANTAN48 and KTANTAN64, since all the variations uses the same key-schedule. It is not applicable to the related KANTAN family of block-ciphers, due to the variations in the key-schedule between KTANTAN and KANTAN.
Overview of KTANTAN KTANTAN is a lightweight block-cipher, meant for constrained platforms such as
RFID tags, where a cryptographic primitive such as
AES, would be either impossible (given the hardware) or too expensive to implement. It was invented by Canniere, Dunkelman and Knezevic in 2009. It takes a block size of either 32, 48 or 64 bits, and encrypts it using an 80-bit key over 254 rounds. Each round utilizes two bits of the key (selected by the
key schedule) as round key.
Attack Preparation In preparation to the attack, weaknesses in the key schedule of KTANTAN that allows the 3-subset MITM attack was identified. Since only two key-bits are used each round, the diffusion of the key per round is small - the safety lies in the number of rounds. Due to this structure of the key-schedule, it was possible to find a large number of consecutive rounds, which never utilized certain key-bits. More precisely, the authors of the attack found that: • Round 1 to 111 never uses the key-bits: k_{32}, k_{39}, k_{44}, k_{61}, k_{66}, k_{75} • Round 131 to 254 never uses the key-bits: k_{3}, k_{20}, k_{41}, k_{47}, k_{63}, k_{74} This characteristics of the key-schedule is used for staging the 3-subset MITM attack, as we now are able to split the cipher into two blocks with independent key-bits. The parameters for the attack are thus: • A_0 = the keybits used by both blocks (which means the rest 68 bits not mentioned above) • A_1 = the keybits used only by the first block (defined by round 1-111) • A_2 = the keybits used only by the second block (defined by round 131-254)
Key-reducing phase One may notice a problem with step 1.3 in the key-reducing phase. It is not possible to directly compare the values of i and j, as i is calculated at the end of round 111, and j is calculated at the start of round 131. This is mitigated by another MITM technique called
partial-matching. The authors found by calculating forwards from the intermediate value i, and backwards from the intermediate value j that at round 127, 8 bits was still unchanged in both i and j with a probability one. They thus only compared part of the state, by comparing those 8 bits (It was 8 bits at round 127 for KTANTAN32. It was 10 bits at round 123 and 47 bits at round 131 for KTANTAN48 and KTANTAN64, respectively). Doing this yields more false positives, but nothing that increases the complexity of the attack noticeably.
Key-testing phase KTANTAN32 requires on average 2 pairs now to find the key-candidate, due to the false positives from only matching on part of the state of the intermediate values. KTANTAN48 and KTANTAN64 on average still only requires one plain-/ciphertext pair to test and find the correct key-candidates.
Results For: • KTANTAN32, the computational complexity of the above attack is 2^{75.170}, compared to 2^{80} with an exhaustive key search. The data complexity is 3 plain-/ciphertext pairs. • KTANTAN48, the computational complexity is 2^{75.044} and 2 plain-/ciphertext pairs are needed. • KTANTAN64 it is 2^{75.584} and 2 plain-/ciphertext pairs are needed. The results are taken from the article by Rechberger and Bogdanov. This is not the best attack on KTANTAN anymore. The best attack as of 2011 is contributed to Wei, Rechberger, Guo, Wu, Wang and Ling which improved upon the MITM attack on the KTANTAN family. They arrived at a computational complexity of 2^{72.9} with 4 chosen plain-/ciphertext pairs using indirect partial-matching and splice & cut MITM techniques. == Notes ==