2012-05-08 3 views
-2

Nous devons implémenter l'algorithme DES. Nous voulons coder certaines fonctions, mais nous ne savons pas comment tester notre algorithme DES.Comment tester les algorithmes de chiffrement?

Y a-t-il des outils/bibliothèques bien connus que nous pouvons utiliser pour tester nos fonctions de cryptage et de décryptage? Nous avons besoin d'un outil tiers pour dire aux gens que notre version fonctionne vraiment.

+0

Le fait que vous avez besoin d'un « outil 3ème partie » afin de « dire aux gens que notre version fonctionne vraiment », sonne comme vous êtes impliqué dans une entreprise développant une sorte de produit. Dans ce cas, soit A) Le produit que vous fabriquez implique, mais n'est pas limité à crypto, auquel cas vous devriez utiliser une bibliothèque existante et fiable (dont il existe beaucoup), ou B) Le produit est un produit crypto Dans ce cas, je pense que beaucoup de gens diraient que vous ne devriez pas utiliser DES. Non seulement les chiffrements plus modernes sont plus sûrs, mais aussi plus rapides sur le matériel moderne. – DarkOtter

Répondre

3

Je suppose que vous utilisez DES dans le cadre de 3DES et 3DES l'Institut national des normes et de la technologie (NIST) a publié un grand nombre de vecteurs de test qui peut être utilisé pour vérifier l'implémentation:

http://csrc.nist.gov/groups/STM/cavp/index.html

En outre, vous pouvez tester l'interopérabilité (cryptage/décryptage) avec d'autres bibliothèques connues telles que OpenSSL. Si le texte crypté chiffré ou déchiffré en clair est identique, la possibilité que votre implémentation soit correcte est élevée.

-1

Java a beaucoup d'algorithmes de sécurité mis en œuvre: http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136007.html

Cipher desCipher = Cipher.getInstance("DES/CBC/NoPadding"); 
DESKeySpec desSpec = new DESKeySpec(desKey); 
SecretKey des = SecretKeyFactory.getInstance("DES").generateSecret(desSpec); 
desCipher.init(Cipher.ENCRYPT_MODE, des , ivSpec); 
+0

Comment Java devrait-il aider un développeur C/C++ à résoudre un problème? – Robert

+0

@Robert: Vous pouvez générer des entrées et des sorties de test avec le code Java (probablement correct) et faire correspondre l'implémentation C/C++. –

Questions connexes