1
$\begingroup$

I'm implementing IDEA algorithm in java and I need test vectors for the algorithm that include plaintext,ciphertext and keys in each step to verify my code.

$\endgroup$
1
$\begingroup$

There is one set of test vectors at the end of the paper describing the standard; it includes round keys and the transformation of the plaintext to ciphertext for each round, but it doesn't zoom in on the values within the rounds.

$\endgroup$
1
  • $\begingroup$ NB: Bouncy Castle (Java crypto library) is pretty easy to understand / compile so you can use that or another library to print intermediate values yourself, using the test vectors in the paper as starting point. That would be implemented in IDEAEngine.java of course. Their test uses another test vector, without any comments or whatnot, so I don't know where they got that; I presume another library such as a PGP library (as that was where it was used the most). $\endgroup$
    – Maarten Bodewes
    Jul 10 at 20:32
0
$\begingroup$

The values given in the IDEA paper (mentioned above) are kinda useless, they're decimal numbers representing internal states rather than { key, plaintext, ciphertext } triplets. Here are some triplets from the original ETH reference implementation of IDEA:


K: 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08
P: 00 00 00 01 00 02 00 03
C: 11 FB ED 2B 01 98 6D E5

K: 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08
P: 01 02 03 04 05 06 07 08
C: 54 0E 5F EA 18 C2 F8 B1

K: 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08
P: 00 19 32 4B 64 7D 96 AF
C: 9F 0A 0A B6 E1 0C ED 78

K: 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08
P: F5 20 2D 5B 9C 67 1B 08
C: CF 18 FD 73 55 E2 C5 C5

K: 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08
P: FA E6 D2 BE AA 96 82 6E
C: 85 DF 52 00 56 08 19 3D

K: 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08
P: 0A 14 1E 28 32 3C 46 50
C: 2F 7D E7 50 21 2F B7 34

K: 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08
P: 05 0A 0F 14 19 1E 23 28
C: 7B 73 14 92 5D E5 9C 09

K: 00 05 00 0A 00 0F 00 14 00 19 00 1E 00 23 00 28
P: 01 02 03 04 05 06 07 08
C: 3E C0 47 80 BE FF 6E 20

K: 3A 98 4E 20 00 19 5D B3 2E E5 01 C8 C4 7C EA 60
P: 01 02 03 04 05 06 07 08
C: 97 BC D8 20 07 80 DA 86

K: 00 64 00 C8 01 2C 01 90 01 F4 02 58 02 BC 03 20
P: 05 32 0A 64 14 C8 19 FA
C: 65 BE 87 E7 A2 53 8A ED

K: 9D 40 75 C1 03 BC 32 2A FB 03 E7 BE 6A B3 00 06
P: 08 08 08 08 08 08 08 08
C: F5 DB 1A C4 5E 5E F9 F9
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.