111 votes

Vs Blowfish AES pour le cryptage de fichier

Je tiens à chiffrer un fichier binaire. Mon but est celui de prévenir quelqu'un pour lire le fichier qui n’a pas le mot de passe.

Qui est la meilleure solution, AES ou Blowfish avec la même longueur de clé ? On peut supposer que l’attaquant a de grandes ressources (logiciels, connaissances, argent) pour fendre le fichier.

191voto

Jerry Coffin Points 237758

Probablement AES. Blowfish a été le prédécesseur direct de Twofish. Twofish était de Bruce Schneier l'entrée dans la compétition qui a produit AES. Il a été jugé comme inférieur à une entrée du nom de Rijndael, qui était devenu l'AES.

Intéressant de côté: à un moment de la compétition, tous les participants ont été invités à donner leur avis sur la façon dont les algorithmes de chiffrement classé. C'est probablement pas surprenant que chaque équipe choisi sa propre entrée comme le meilleur, mais chaque autre équipe choisie Rijndael comme le deuxième meilleur.

Cela dit, il y a quelques différences de base dans les objectifs de base de Blowfish vs AES qui peuvent l'être (sans doute) en faveur Blowfish dans des conditions de sécurité absolue. En particulier, Blowfish tente de faire un brute-force (l'épuisement) attaque difficile, en faisant de la clé initiale, le programme d'installation relativement lent de l'opération. Pour un utilisateur normal, c'est de peu de conséquence (c'est toujours inférieure à une milliseconde), mais si vous essayez de sortir des millions de clés par seconde à casser, la différence est assez importante.

En fin de compte, je ne vois pas cela comme un avantage majeur, cependant. J'avais recommandent généralement d'AES. Mon prochain choix serait probablement Serpent, MARS et Twofish, dans cet ordre. Blowfish viendrait quelque part après ceux (bien qu'il y en a quelques autres que je recommenderais à l'avance de Blowfish).

25voto

caf Points 114951

Il est souvent admis que la taille des blocs d'un algorithme de chiffrement par bloc est également une importante considération de la sécurité (bien que loin d'être aussi important que la taille de la clé).

Blowfish (et la plupart des autres algorithmes de chiffrement par bloc de la même époque, comme 3DES et IDÉE) ont une taille de bloc de 64 bits, qui est considéré comme insuffisant pour la taille des fichiers qui sont communs à ces jours (plus le fichier, et le plus petit de la taille d'un bloc, plus la probabilité de récidive bloc dans le texte chiffré et répété ces blocs sont extrêmement utiles dans la cryptanalyse).

AES, d'autre part, a une taille de bloc de 128 bits. Cette seule considération est la justification de l'utilisation d'AES au lieu de Blowfish.

16voto

nerdybeardo Points 2580

En termes d'algorithmes eux-mêmes, je voudrais aller avec AES, pour la simple raison c'est qu'il a été accepté par le NIST et seront examinés par les pairs et cryptanalyzed pendant des années. Cependant, je voudrais suggérer que, dans les applications pratiques, à moins que vous enregistrez un fichier, que le gouvernement veut garder le secret (dans ce cas, la NSA serait probablement vous fournir un meilleur algorithme que AES et Blowfish), à l'aide de ces algorithmes ne fera pas trop de différence. Toute la sécurité devrait être la clé, et ces deux algorithmes sont résistants aux attaques par force brute. Blowfish a seulement montré pour être faible sur des implémentations qui ne font pas usage de la totalité des 16 tours. Et tandis que AES est plus récent, ce fait devrait vous faire pencher davantage vers l'BlowFish (si vous étiez seulement en prenant de l'âge en considération). Pensez-y de cette façon, BlowFish a été autour depuis les années 90 et personne (que nous connaissons) a cassé encore....

Voici ce que j'aimerais poser à vous... au lieu de regarder ces deux algorithmes et essayer de choisir entre l'algorithme, pourquoi ne pas vous regardez à votre schéma de génération de clé. Un attaquant potentiel qui veut décrypter votre fichier ne va pas s'asseoir et à venir avec une partie théorique d'un ensemble de touches qui peuvent être utilisées et ensuite faire une attaque en force brute qui peut prendre des mois. Au lieu de cela il va exploiter de quelque chose d'autre, comme s'attaquer à votre matériel serveur, le reverse engineering de votre assemblée pour voir la clé, essayer de trouver un fichier de configuration qui a la clé en elle, ou peut-être du chantage à votre ami pour copier un fichier de votre ordinateur. Ceux qui vont être là où vous êtes le plus vulnérable, pas de l'algorithme.

7voto

Gerald Davis Points 1120

AES.

(Moi aussi je suis assumming vous dire twofish pas la plus ancienne et la plus faible blowfish)

Les deux (AES & towfish) sont de bons algorithmes. Cependant, même s'ils sont égaux ou twofish était légèrement en avance sur le mérite technique je serais ENCORE a choisi l'algorithme AES.

Pourquoi? De la publicité. AES est LE standard pour le gouvernement de chiffrement et donc des millions d'autres entités également l'utiliser. Un talentueux crypto-analyste obtient tout simplement plus "bang for the buck" de trouver une faille dans AES, alors il le fait pour beaucoup moins connues et utilisées twofish.

L'obscurité n'offre aucune protection dans le chiffrement. Plus d'organismes de recherche, l'étude, sondage, attaque d'un algorithme est toujours la meilleure. Vous voulez le plus "contrôlés" algorithme possible et maintenant ce est AES. Si un alogrithm n'est pas soumis à un intense et continu de l'examen vous devez placer une baisse de la confiance de sa force. Assurez-vous twofish n'a pas été compromise. Est-ce dû à la force de l'algorithme de chiffrement ou tout simplement parce que pas assez de gens en ont pris un coup d'oeil près ..... ENCORE

5voto

CodesInChaos Points 60274

L'algorithme de choix n'a probablement pas beaucoup d'importance. Je voudrais utiliser AES, puisque c'est mieux étudiées. Ce qui est plus important est de choisir le bon mode de fonctionnement et la fonction de dérivation de clé.

Vous voudrez peut-être jeter un oeil à la TrueCrypt spécification du format de l'inspiration si vous souhaitez accès aléatoire rapide. Si vous n'avez pas besoin d'un accès aléatoire que la XTS n'est pas le mode optimal, car il a des faiblesses des autres modes ne pas. Et vous voudrez peut-être ajouter une sorte de vérification de l'intégrité(ou code d'authentification de message).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X