2010-10-06 24 views
0

pour ces 2 bibliothèques,bibliothèque Delphi AES (Rijndael) testé avec KAT vecteurs

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

Je l'ai testé leur algorithme Rijndael DCB/Radio-Canada avec « AES connu Test Réponse (KAT) Vecteurs "obtenus sur le site Web du NIST (http://csrc.nist.gov/groups/STM/cavp/index.html)

Mais, ces deux bibliothèques ont échoué aux tests.

Je ne sais pas si mes tests comportent des erreurs, est-ce que quelqu'un les a déjà testés? Je suis à la recherche d'une librairie Delphi Rijndael capable de passer le test KAT Vectors. Est-ce que quelqu'un sait d'une telle bibliothèque?

+8

Probablement que vos tests ne sont pas corrects - Je doute que deux implémentations largement utilisées échouent sur les données de test tout en restant compatibles avec d'autres implémentations. –

+0

FWIW, si Eugene d'EldoS doute de vos tests, relisez vos tests. –

+0

Etes-vous, peut-être, en train de tester les vecteurs de test en tant que chaînes Unicode où elles devraient vraiment être des chaînes ansi? FWIW les composants DEC ont fonctionné ok pour moi mais je n'ai pas spécifiquement testé cet algortihm. – shunty

Répondre

4

Etes-vous sûr qu'il échoue? Les vecteurs sont écrits en tant que chaînes hexadécimales. Avez-vous nourri les chaînes hexadécimales comme des chaînes ou avez-vous les convertir d'abord en données binaires. Si vous les avez nourris comme des cordes, il n'est pas étonnant que vous obteniez un résultat différent. NB: Je n'utilise pas les deux bibliothèques mais mes propres composants mais ils ont un bon historique et échouer à ces tests simples semble hautement improbable.

+0

Initialement, j'ai fourni des chaînes ASCII (converties à partir des chaînes hexadécimales dans le fichier vectoriel de test) à la fonction, et elle a échoué. Mais après avoir regardé le code, réalisez que la fonction manipule les données comme des octets. Ainsi, j'ai alimenté le tableau d'octets dans la fonction, et maintenant cela fonctionne. =) – seveleven

+0

Mais j'ai une question, est-ce que le tableau des octets est aussi appelé données binaires? Les données binaires sont-elles identiques à une chaîne base2? – seveleven

+0

Les tests réussis ont été effectués sur la bibliothèque DEC. N'a pas essayé à nouveau sur LockBox. – seveleven

1

TurboPower LockBox 3.1.0 a été publié. Il inclut des tests DUnit qui valident l'exactitude de sa mise en œuvre en utilisant les vecteurs de test officiels AES.