Test-Vectors
IDEA 的測試向量
我在 java 中實現 IDEA 算法,我需要在每個步驟中包含明文、密文和密鑰的算法的測試向量來驗證我的程式碼。
描述標準的論文末尾有一組測試向量;它包括每一輪的輪密鑰和明文到密文的轉換,但它不會放大輪內的值。
IDEA 論文中給出的值(上面提到過)有點沒用,它們是代表內部狀態的十進制數字,而不是 { key, plaintext, ciphertext } 三元組。以下是 IDEA 原始 ETH 參考實現中的一些三元組:
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