Qui est le meilleur mécanisme de chiffrement Triple DES ou RC4?
Triple DES ou RC4?
J'ai le choix d'employer un ou l'autre.
- Je recommande de se demander pourquoi AES n'est pas une option. 3DES est lente.
- Il peut être utile de préciser ce que vous avez besoin de chiffrer, de quelles conditions s'appliquent (respect des délais de chiffrement, la résistance à l'attaque hors connexion ou de niveau de protocole de perturbation des attaques par exemple
- De bons commentaires. J'ai été sorta en espérant que, en demandant qui est le mieux, les gens ne expliquer leur raison d'être. Certains l'ont fait. D'autres pas.
- J'ai élargi le mien avec plus de justification, mais encore j'aimerais savoir quelles sont vos contraintes et pourquoi... tel qu'il est, la question n'est pas vraiment très utile à d'autres
- Cette contrainte est pertinent à l'appui d'Internet Explorer sur Windows XP tout en essayant de garantir un serveur. 3DES et RC4 est la plus sûre des chiffres qui Windows XP prend en charge (et toutes les versions d'IE qui s'exécutent sur XP compter sur le système d'exploitation pour les suites de chiffrement).
Vous devez vous connecter pour publier un commentaire.
Comme une vue de haut niveau les commentaires suivants sur les deux devraient être utiles.
Il est extrêmement facile de créer un protocole basé sur la RC4 (tels que WEP) qui est de très faible puissance (en les cassant avec le matériel de base en quelques minutes compte comme extrêmement faible).
Triple DES est pas beaucoup que sa force est bien cpu excessive de l'effort, mais il est de beaucoup plus de force (les deux théoriquement dans le monde réel les attaques) que RC4 devrait donc être le choix par défaut.
D'aller un peu plus loin:
Dans le domaine de cryptage sans cible bien défini application de la définition de "meilleur" est par nature difficile, puisque la "remise en forme" d'un algorithme de multiples variantes.
Fait travailler l'effort pour sortir de lui-même nécessite beaucoup de temps et d'efforts, c'est pourquoi vous (en tant que non cryptographe) aller avec quelque chose de déjà fait plutôt que de rouler vos propres. Il est également sujet à des changements au fil du temps, espérons-le, uniquement en raison de ces améliorations dans le matériel à disposition plutôt que de défauts fondamentaux dans l'algorithme d'être découvert.
La base principale préoccupation est bien sûr juste que, c'est sûr? Il convient de noter que de nombreux anciens algorithmes précédemment considéré comme sécurisé ne sont plus dans cette catégorie. Quelques-uns sont effectivement cassé que leur utilisation est tout simplement inutile, vous n'avez pas de sécurité que ce soit simplement l'obscurité (utile, mais en aucune façon comparable à la sécurité réelle).
Actuellement ni des algorithmes de base de la RC4 et TDES est dans cette catégorie, mais la naïveté de mise en œuvre de la RC4 est considéré comme très injuste dans les protocoles d'où le message de données peut être forcé à le répéter. RC4 a plusieurs plus important des failles théoriques que TDES.
Que dit TDES n'est PAS mieux que RC4 dans tous les domaines énumérés ci-dessus. Il est nettement plus onéreux (et que la cherté, n'est pas justifiée, d'autres moins coûteux crypto systèmes existent avec sécurité comparables à TDES)
Une fois que vous avez une application du monde réel, normalement, vous obtenez l'une ou les deux opérations suivantes:
Ensuite, vous pouvez l'etat, avec des tolérances et des hypothèses, ce qui peut le faire (ou tout simplement si vous ne pouvez pas) et aller avec qui.
En l'absence de ces contraintes, nous ne pouvons que vous donner les suivants:
Facilité de mise en œuvre
Les deux ont publiquement disponibles et sûrs d'implémentations libres pour presque n'importe quelle architecture de la plateforme et disponible.
RC4 implémentations peuvent ne pas être aussi sûr que vous pensez que si le message peut être forcé à répéter (voir le WEP questions). L'utilisation judicieuse de salage peut réduire ce risque, mais cela n'aura PAS été soumis à une analyse rigoureuse que les premières implémentations ont été et, comme telle, doit être considéré avec une suspision.
Coût de mise en œuvre
Je n'ai pas d'utiles repères pour la RC4 (il est VIEUX) http://www.cryptopp.com/benchmarks.html a des guides utiles pour mettre TDES dans le contexte des RC5 qui est plus lent que RC4 (TDES est au moins un ordre de grandeur inférieure à celle RC4) RC4 peut chiffrer un cours d'eau à environ 7 cycles par octet dans une mise en œuvre rapide sur les processeurs x86 modernes à des fins de comparaison.
Effort pour casser
La Force Brute de la résilience de TDES est aujourd'hui considérée comme élevée, même en présence de beaucoup de chiffrement sorties.
RC4 la force brute de la résilience est un ordre de grandeur plus faible que TDES et plus loin extrêmement faible dans certains modes de fonctionnement (à défaut de jeter initiale de bits du flux)
De résistance à la cryptanalyse, Il y a publiquement connu des défauts de Triple DES, mais ils ne réduisent pas l'efficacité de ce réalistes attaque dans la prochaine décennie ou deux, ce n'est pas vrai pour RC4 où plusieurs défauts sont connus et ensemble, ils ont produit fiable des attaques sur plusieurs protocoles basés sur elle.
Flexibilité
TDES a très peu de marge de manœuvre (et que votre bibliothèque ne peut pas exposer de toute façon)
RC4 a beaucoup plus de flexibilité (la clé utilisée pour initialiser peut être arbitrairement long, en théorie, si la bibliothèque peut limiter cet effet.
Sur cette base et de votre déclaration que vous devez utiliser l'un ou l'autre, vous devriez envisager la RC4 mise en œuvre que si le coût de l'UC de TripleDES il n'est pas réaliste de mettre en œuvre dans votre environnement ou le faible niveau de sécurité fourni par RC4 est toujours nettement supérieur à celui de vos besoins spécifier.
Je dois également souligner qu'il existe des systèmes qui sont empiriquement mieux dans tous les domaines de RC4 et TDES.
Le eSTREAM projet, est l'évaluation des différents flux de méthode de chiffrement de l'ordre de 5 ou moins de cycles par octet si la cryptanalyse travail sur eux n'est pas vraiment complète.
Beaucoup plus rapide, plus fort bloc de méthode de chiffrement existe pas de rivaliser avec TDES. AES est probablement la plus connue, et serait un candidat, puisqu'il est comparable (sinon mieux) la sécurité, mais est beaucoup plus rapide.
Désolé, triple DES, ne sont plus considérées comme des bonnes pratiques. AES est tout simplement un meilleur algorithme donc, si vous peut l'utiliser, alors vous devriez. Pour une mise en œuvre simple, aller ici.
Je suggère fortement que vous en apprendrez plus en lisant sur TDES sur Wikipédia. L'argent citation est:
RC4 est, honnêtement, tout simplement pas une option acceptable pour toutes les applications où la sécurité est importante.
D'accord-DES est largement obsolète, de sorte que si il y a une bonne raison de l'utiliser, rendez-vous avec l'algorithme AES. Si ce n'est pas une option, TDES serait le meilleur choix, sauf si vous avez affaire avec des flux de données (c'est à dire, des données qui ne peuvent être décomposés en blocs), puis RC4 est le chemin à parcourir (des options).
Bien sûr, je me sens comme je dois le mentionner... la Cryptographie est vraiment, vraiment dur pour obtenir le droit, et même le plus fort de l'algorithme peut être rompu facilement si vous obtenez quelque chose d'encore un peu de mal (voir, par exemple, les anciens Kerberos ou WEP).
Cela pourrait ne pas être le plus instructif de réponse, mais au cours de mes 4 ans à l'emploi de terme avec un très grand telco, Triple DES, a été l'encryption standard pour toutes les applications sensibles, d'autres étaient tout simplement pas permis. Il a été Triple DES ou la demande ne pas aller vivre. Espérons que cela aide.
À la fois sécurisé, bien... assez. RC4 est plus rapide donc si c'est important pour vous...
Après avoir lu les autres peuples réponses (qui sont tout à fait correct), il est clair que cela dépend vraiment de votre contexte. Il existe de nombreuses autres questions qui pourraient influencer votre décision. Si il a juste besoin d'être infaillible, si ce n'est pas vraiment quelque chose de sensible et vous avez beaucoup de données et de la vitesse est le facteur, allez-RC4.
Sinon, si vous avez besoin de quelque chose d'un peu plus sûr et plus facile à mettre en œuvre ou comme vous le dites "plus difficile à visser" 🙂 puis aller pour 3DES, qui est, aussi loin que je me souvienne, assez sûr (!) jusqu'à 2020-2030, ou quelque chose comme ça.
Sont ceux de votre seulement deux options? Si vous pouvez utiliser AES (aussi connu comme Rijndael), puis de l'utiliser à la place. DES est lent, et considéré aujourd'hui comme obsolète (AES est la valeur de remplacement).
RC4 suce, ne l'utilisez pas. C'est un algorithme de chiffrement par flux, mais vous pouvez utiliser un algorithme de chiffrement par bloc, il suffit de compléter le dernier bloc de données (Google PKCS#5 le protocole de remplissage).
Dernièrement, je n'ai vu que DES être utilisés dans les systèmes embarqués (firmware), parce que la mise en œuvre est simple et il utilise très peu de mémoire. Même dans JavaME vous pouvez utiliser AES.
Un facteur dans la décision entre le 3DES et RC4 est support de la langue. Java n'est pas nativement en charge RC4 et vous aurait besoin de saisir une bibliothèque open source tels que BouncyCastle à mettre en œuvre. MS n'a pas ce même défi.