2012-03-13 6 views
1

AES semble être un moyen relativement rapide de cryptage fort et il existe clairement des fournisseurs de services cryptographiques .NET natifs. Quel (s) mode (s) sont les meilleurs? Est-ce que quelque chose comme ECB me fournira un avantage de vitesse par rapport aux autres modes?Choisir crypto rapide pour .NET

+0

Il n'y a pas de réponse générique cette question. Cela dépend beaucoup des spécificités de votre cas d'utilisation. Un algorithme cryptographique fort et rapide ne vous donne pas automatiquement un système cryptographique de bout en bout fort et rapide. –

Répondre

2

Veuillez ne pas utiliser ECB. Le livre de code électronique crypte les blocs indépendamment les uns des autres. Utilisez quelque chose comme CBC qui génère IV pour les blocs suivants sur la base du texte chiffré pour le bloc en cours. Il est beaucoup moins sensible à la cryptanalyse.

Il n'y a pas d'avantage de vitesse possible qui vaut la peine ... et s'il y a un avantage de vitesse (citation?) De la BCE sur CBC, il est très certainement négligeable.

+0

Et CBC n'a besoin que de très peu d'efforts pour effectuer l'opération XOR pour relier les blocs, ce qui vaut vraiment le coup de quelques cycles supplémentaires. Je suppose que si vous comparez BCE et CBC, la différence sera plus petite que la tolérance de mesure. – Robert

0

Vous voudrez peut-être regarder ThreeFish comme une alternative à AES/Rijndael

http://www.schneier.com/threefish.html

Il une implémentation C# de Threefish et Skein (algorithme de hachage sécurisé) à http://code.google.com/p/skeinfish/

+0

Il n'y a aucune raison de recommander autre chose que AES pour la production. Il a subi la plus grande analyse de tout autre chiffre moderne, et est le seul chiffrement de bloc public actuellement supporté par le NIST et la suite B. Il est également peu probable que ses performances soient prohibitives pour l'OP. – mfanto

Questions connexes