5.6. Other Factors in Choosing a Mixing Function (Autres facteurs dans le choix d'une fonction de mélange)
5.6. Other Factors in Choosing a Mixing Function (Autres facteurs dans le choix d'une fonction de mélange)
Pour une utilisation locale, AES a les avantages qu'il a été largement testé pour les défauts, est raisonnablement efficace en logiciel, et est largement documenté et implémenté avec des implémentations matérielles et logicielles disponibles partout dans le monde incluant du code open source. La famille SHA* a eu un peu moins d'étude et tend à nécessiter plus de cycles CPU qu'AES mais il n'y a aucune raison de croire qu'elle soit défectueuse. SHA* et MD5 ont tous deux été dérivés de l'algorithme MD4 antérieur. Ils ont tous du code source disponible [SHA*, MD4, MD5]. Certains signes de faiblesse ont été trouvés dans MD4 et MD5. En particulier, MD4 n'a que trois tours et il existe plusieurs cassures indépendantes des deux premiers ou deux derniers tours. Et certaines collisions ont été trouvées dans la sortie de MD5.
AES a été sélectionné par un processus robuste, public et international. Lui et SHA* ont été validés par la US National Security Agency (NSA) sur la base de critères qui restent pour la plupart secrets, tout comme DES. Bien que cela ait été la cause de beaucoup de spéculation et de doute, l'investigation de DES au fil des années a indiqué que l'implication de la NSA dans les modifications de sa conception, qui provenait d'IBM, était principalement pour le renforcer. Il n'y a eu aucune annonce d'une faiblesse cachée ou spéciale trouvée dans DES. Il est probable que les modifications de la NSA à MD4 pour produire les algorithmes SHA les aient de même renforcés, possiblement contre des menaces pas encore connues dans la communauté cryptographique publique.
Lorsque les longueurs d'entrée sont imprévisibles, les algorithmes de hachage sont plus pratiques à utiliser que les algorithmes de chiffrement par bloc car ils sont généralement conçus pour accepter des entrées de longueur variable. Les algorithmes de chiffrement par bloc nécessitent généralement un algorithme de remplissage supplémentaire pour accommoder les entrées qui ne sont pas un multiple pair de la taille de bloc.
Au moment de ce document, les auteurs ne connaissent aucune revendication de brevet sur les algorithmes de base AES, DES, SHA*, MD4 et MD5 autres que des brevets pour lesquels une licence irrévocable sans redevance a été accordée au monde. Il peut, bien sûr, y avoir des brevets essentiels dont les auteurs ne sont pas au courant ou des brevets sur des implémentations ou des utilisations ou d'autres brevets pertinents émis ou à émettre.