La sécurité 128 bits n'est-elle pas suffisante pour la plupart des applications pratiques?
Pourquoi les gens achètent-ils des voitures de sport rouges ? Ils ne vont pas plus vite que les voitures de sport de toute autre couleur ...
AES est livré avec trois tailles de clé standard (128, 192 et 256 bits). Beaucoup de gens voient cela et pensent que s'il y a trois tailles distinctes au lieu d'une seule, alors il doit y avoir une différence, et puisque la version 256 bits est un peu plus lente que la version 128 bits (d'environ 40%), elle doit être "plus sécurisé". Ils optent donc pour "les plus sécurisés" et choisissent des clés 256 bits.
En réalité, l'AES a trois tailles de clé distinctes car il a été choisi comme algorithme fédéral américain apte à être utilisé dans divers domaines sous le contrôle du gouvernement fédéral américain, et cela comprend l'armée américaine. L'armée américaine a une longue tradition d'utilisation de la cryptographie, et cette tradition s'est cristallisée dans la réglementation interne avec toute la flexibilité et la subtilité que les armées du monde entier démontrent constamment (il suffit d'écouter de la "musique militaire" et vous comprendrez ce que je veux dire) . Malheureusement, cela s'est produit il y a un certain temps, avant l'invention de l'ordinateur, et à cette époque, la plupart des systèmes de cryptage pouvaient être cassés, et les plus robustes étaient également très difficiles et lents à utiliser. Donc, les cerveaux militaires raffinés ont eu l'idée qu'il devrait y avoir trois "niveaux de sécurité", de sorte que les secrets les plus importants étaient cryptés avec les méthodes lourdes qu'ils méritaient, mais les données de moindre valeur tactique pourraient être chiffrées avec des algorithmes plus pratiques, quoique plus faibles.
Cette réglementation prévoyait donc trois niveaux distincts. Leurs concepteurs ont simplement supposé que le niveau inférieur était nécessairement faible d'une certaine manière, mais la faiblesse n'était pas obligatoire. Donc, le NIST a décidé de formellement suivre les règlements (demander trois tailles de clés) mais aussi faire la chose intelligente ( le niveau le plus bas devait être incassable avec la technologie prévisible). 128 bits sont tout à fait suffisants pour la sécurité (voir cette réponse pour plus de détails). Par conséquent, AES accepte les clés 256 bits en raison de la lassitude bureaucratique: il était plus facile d'exiger quelque chose d'un peu absurde (une taille de clé exagérée) que de modifier les réglementations militaires.
La plupart des gens ne connaissent pas ou ne se soucient pas de l'histoire, et ils vont juste pour grand parce qu'ils sentent qu'ils le méritent.
Lorsque vous construisez un système de sécurité, vous devez prévoir l'échec. C'est l'idée derrière une stratégie de défense en profondeur .
Les primitives cryptographiques s'affaiblissent avec le temps. Bien qu'une primitive 128 bits soit suffisante, une faille pourrait être découverte dans le chiffrement, ce qui réduit ce niveau de sécurité. Vous devez donc ajouter une marge de sécurité lorsque la primitive de soulignement échoue.
Par exemple, md5 produit un hachage de 128 bits, cependant en utilisant une attaque prefix choisi, un attaquant peut produire une collision avec une complexité seulement 2 ^ 39 .
Je n'ai pas vu cela mentionné dans les réponses ou les commentaires, alors j'ai pensé ajouter ceci comme réponse. La taille de la clé n'est pas toujours directement corrélée à la complexité d'un algorithme. Une erreur courante consiste à supposer qu'un message chiffré en utilisant AES256 est plus difficile à déchiffrer (un adversaire obtenant n'importe quelle sorte d'informations significatives étant donné uniquement le texte chiffré) que les mêmes informations protégées en utilisant AES128. Il est logique qu'une plus grande taille de clé fournisse une plus grande complexité, mais comme avec tout système, les implémentations sont sujettes à des faiblesses.
En supposant que vous parlez d'AES 128 contre AES 256, il existe une faiblesse connue dans la fonction d'extension clé qui affecte AES256. Fondamentalement, le faiblesse réduit la complexité d'AES256 à celle inférieure à AES128. Il y a aussi attaque similaire pour AES192, bien que dans ce cas, la complexité d'AES192 reste supérieure à AES128.
Morale de l'histoire, les gens ne comprennent pas la crypto ... j/k (je ne suis pas mathématicien). La réalité est que les gens assument "gros" avec "sécurisé". Un gros fusil vaut mieux que d'avoir un petit fusil. Les grandes tailles de clés sont plus sûres que les petites tailles de clés.
En réalité, la mise en œuvre de la cryptographie est plus importante que la taille de clé seule.
FWIW, le projet du NIST sur la crypto post quantique recommande 256.
http://csrc.nist.gov/publications/drafts/nistir-8105/nistir_8105_draft.pdf
Votre prémisse me semble fausse. Je ne connais aucune preuve que "la plupart des gens utilisent un cryptage 256 bits au lieu de 128 bits". En effet, si je devais deviner, je soupçonne que l'inverse est le cas.