Répondre
Eh bien, DES-X est une variante du chiffrement de bloc DES (comme je suis sûr que vous le saviez déjà).
La raison de l'introduction du DES-X était une tentative d'augmenter la sécurité de l'algorithme DES original (qui était limité à une clé 56 bits). La solution proposée avec DEX-X consistait à utiliser deux autres clés de 64 bits qui seraient appliquées pour rendre plus difficile à un attaquant de deviner la clé de l'algorithme DES. Fondamentalement, la première clé supplémentaire est XORed au texte brut qui est ensuite crypté avec DES. La deuxième clé additionnelle est XORed au chiffre résultant.
Cependant, en ce qui concerne la rétrocompatibilité .. Je ne suis pas sûr de ce que vous entendez par là? Si vous demandez si vous pouvez utiliser DES pour décrypter les messages DES-X, alors NON (c'est le sens strict). Si vous demandez si une implémentation DES-X peut être configurée pour crypter/décrypter des messages DES, la réponse est OUI.
Voici un exemple:
DES(msg) = CYPHER DES-X(msg) = K2 X DES(K1 x msg) = CYPER-X
Si vous choisissez K2 et K1 être le tout 0 alors:
DES-x(msg) = K2 x DES(K1 x msg) [where K1 = 0, K2 =0] = DES(msg)
Il convient de souligner que ce que je veux dire en faisant K1 et K2 0 est en train de choisir une clé qui est 64 bits de 0 = {0,0,0,0,0 ... 0} (64 fois). Une telle clé ne modifie pas du tout le texte en clair du chiffrement lorsque l'opération XOR est appliquée.
DES et DES-X sont tous deux des chiffrements de bloc. Voir http://en.wikipedia.org/wiki/DES-X pour plus de détails. En bref, DES-X ajoute un blanchiment clé.
Here est l'article wikipedia sur DES-X. DES-X augmente la taille de la clé en ajoutant des versions XOR de la clé avant et après le cryptage.
Le résumé de cet article indique que DES-X est «compatible». Cependant, je ne suis pas sûr si cela inclut la rétrocompatibilité.
- 1. Que signifie "==="?
- 2. Que signifie = *?
- 3. Que signifie %%?
- 4. Est-ce que SqlDataReader stocke tout en tant que chaîne?
- 5. Que peut faire ce que sed ne peut pas faire?
- 6. Que signifie i_tmp2 lorsqu'il est utilisé en tant que variable?
- 7. .NET en tant que client, Java en tant que serveur
- 8. Je suppose que SqlParameter.IsNullable n'a de sens que lorsque ...?
- 9. qu'est-ce que NMAKE?
- 10. Que fait cette fonction?
- 11. qu'est-ce que swingset2
- 12. Que sont les "downargs"?
- 13. lucene plus grand que
- 14. Qu'est-ce que WPF?
- 15. IIS7 - que fait MaxProcesses?
- 16. Que fait l'opérateur =>?
- 17. Qu'est-ce que DataContractTranslator?
- 18. Que sont les concepts?
- 19. Qu'est-ce que kpsexpand?
- 20. Que signifie __FILE__?
- 21. que font ces instructions
- 22. Que fait readlink systemcall?
- 23. Que signifie "lignes [0]"?
- 24. Qu'est-ce que ?
- 25. Que fait exactement FillMode?
- 26. Que signifie "Cor"?
- 27. Que signifie "classe const"?
- 28. Que fait '@_' dans Perl?
- 29. Qu'est-ce que REST?
- 30. Que fait exactement rangeOfCharacterFromSet?
Que voulez-vous dire par "rétrocompatible"? Le terme est rarement utilisé en cryptographie. Non, vous ne pouvez pas décrypter quoi que ce soit chiffré avec DES en utilisant DES-X, si c'est ce que vous demandez ... – Zarel
Bien que, si je comprends bien, par définition, DES-X peut produire la même sortie que DES si le 56 bits la clé k est identique dans chaque cas et les clés supplémentaires de 64 bits k1, k2 dans DES-X sont mises à zéro (voir par exemple Kilian et Rogaways 1997 sur la protection des DES contre les recherches de clés exhaustives). L'utilisation de touches supplémentaires à zéro dans DES-X va plutôt à l'encontre du point. – mas