2010-10-06 21 views
0

這些2個庫的測試,德爾福AES庫(Rijndael算法)與KAT載體

  1. Delphi Encryption Compendium v 5.2
  2. TurboPower Lockbox v 2.07

我測試了他們的Rijndael DCB/CBC算法「AES已知答案測試( KAT)載體「(在NIST網站獲得)(http://csrc.nist.gov/groups/STM/cavp/index.html

但是,這兩個文庫都未通過測試。

不知道我的測試是否有錯,有沒有人測試過它們? 我正在尋找能夠通過KAT Vectors測試的Delphi Rijndael庫。有誰知道任何這樣的圖書館?

+8

很可能您的測試不正確 - 我懷疑兩個廣泛使用的實現會在測試數據上失敗,但仍與其他實現兼容。 – 2010-10-06 12:40:39

+0

FWIW,如果EldoS的Eugene懷疑你的測試,再看看你的測試。 – 2010-10-06 13:40:14

+0

您是否可能將測試向量測試爲unicode字符串,他們真的應該是ansi字符串? FWIW DEC組件對我來說工作正常,但我沒有專門測試過這個algortihm。 – shunty 2010-10-07 08:16:48

回答

4

你確定它失敗?矢量寫成十六進制字符串。您是否將十六進制字符串作爲字符串進行提供,或者是否將它們首先轉換爲二進制數據如果你將它們作爲字符串餵食,你難怪你會得到不同的結果。

注意:我不使用這兩個庫,而是使用我自己的組件,但他們bioth有良好的記錄,並且這些簡單的測試失敗似乎不太可能。

+0

最初我喂ASCII(從測試向量文件中的十六進制字符串轉換)字符串到函數,並失敗。但是在查看代碼之後,實現函數將數據作爲字節來操作。所以,我將字節數組提供給函數,現在它工作。 =) – seveleven 2010-10-07 13:56:45

+0

但我有一個問題,是字節數組也被稱爲二進制數據?二進制數據是否與base2字符串相同? – seveleven 2010-10-07 13:59:01

+0

成功的測試是在DEC庫上完成的。沒有再試試LockBox。 – seveleven 2010-10-07 17:06:21

1

TurboPower LockBox 3.1.0已經發布。它包括使用官方AES測試向量驗證其實現的正確性的DUnit測試。