OVH Cloud OVH Cloud

Performance software et hardware

1 réponse
Avatar
fnu-10a4
Bonjour,

Sur certains websites, on dit que AES est tres performant en hardware
et que blowfish est meilleur en chiffrement software.

Ma question est, Cisco Secure PIX Firewall 525 est un hardware, PIXOS
6.3(3) est un software. Je peux preciser AES dans mes "transforams"
mais pas blowfish...

Comment distinger les deux concepts? Si Blowfish est meilleur en
software, pourquoi Cisco Systems ne le permet pas dans PIXOS 6.3? Idem
pour CheckPoint Firewall-1 R55 et ScreenOS alors?

Et a propos des hash, md5 est il plus rapide que SHA-1? Cela depend
aussi si c'est software ou hardware?

Merci,

Alain

1 réponse

Avatar
pornin
According to fnu-10a4 :
Sur certains websites, on dit que AES est tres performant en hardware
et que blowfish est meilleur en chiffrement software.


En fait, une vision plus juste serait : AES est performant en hardware
et en software, Blowfish est un poil plus efficace en software mais
considérablement moins bon en hardware.

L'idée est que Blowfish repose sur la génération, en fonction de la
clé, de tables assez grosses, utilisées ensuite intensivement en cours
de calcul. Générer des tables, les stocker en mémoire et faire des
accès dedans, c'est pile-poil ce que les processeurs génériques (genre
Pentium) savent bien faire. En revanche, en hardware, c'est très pénible
(c'est pénible aussi pour Intel quand ils fabriquent des Pentium, mais
justement une bonne part des transistors d'un Pentium est utilisée pour
ça...).

Dans l'AES, il y a aussi des tables, mais elles sont plus petites et
surtout elles ne dépendent pas de la clé ; on peut donc les câbler en
dur sous la forme de circuits équivalents.


Si Blowfish est meilleur en software, pourquoi Cisco Systems ne le
permet pas dans PIXOS 6.3?


Il faudrait encore l'implémenter et que ce soit utile. Pour un
firewall-VPN, le chiffrement n'est utile que si on peut déchiffrer à
l'autre bout ; c'est une question d'interopérabilité. L'AES est défini
par un standard non-ambigu, maintenu et appuyé par un établissement
public (américain, certes, mais public quand même). Blowfish est la
création d'une entreprise américaine et rien ne garantit sa perennité
sur le long terme. Il n'est pas considéré comme un algorithme standard
dans pas mal de protocoles de VPN.

Par ailleurs, l'AES a été considérablement plus étudié par les
cryptographes que Blowfish. Les garanties sur sa sécurité sont
meilleures.

Enfin, Blowfish travaille avec des blocs de 64 bits, alors que l'AES
travaille sur des blocs de 128 bits. Des blocs trop petits peuvent poser
des problèmes de sécurité quand on commence à traiter des données en
masse.


J'ajoute qu'il ne sert à rien d'avoir l'algorithme "le plus rapide"
quand on a un matériel dédié comme un routeur-firewall Cisco. On a
juste besoin d'un algorithme "suffisamment rapide", c'est-à-dire que le
matériel peut chiffrer au rythme imposé par le réseau. Si on branche du
100baseT, on a à chiffrer 100 megabits par seconde, et rien de plus.


Et a propos des hash, MD5 est il plus rapide que SHA-1? Cela depend
aussi si c'est software ou hardware?


MD5 et SHA-1 sont de la même "famille" ; en regardant de près, SHA-1
est un MD5 avec quelques tours et fioritures de plus. Cela rend SHA-1
plus lent que MD5 pour le débit d'entrée. Précisons néanmoins que :

-- MD5 a une sortie sur 128 bits, alors que SHA-1 a une sortie sur 160
bits ; on ne peut donc pas remplacer l'un par l'autre tel quel (mais
certains protocoles sont prévus pour gérer les deux ; par exemple SSL).

-- MD5 est, académiquement parlant, cassé. En gros, pour une fonction
de hachage, on exige habituellement une caractérisitique dite
d'impossibilité de calcul de collisions. Cette propriété a été démontrée
fausse (par l'exemple) dans le cas de MD5. Ceci n'est pas grave pour
tous les usages (par exemple SSL), mais ça peut être pénible, au moins
au niveau de l'image de marque.

-- Si on peut supporter MD5 malgré sa faiblesse connue, alors on peut
aussi regarder MD4, qui est encore plus rapide. C'est ce qui est fait,
par exemple, sur e-donkey, où les morceaux de fichiers échangés sont
indexés par leur MD4. Dans ce cas-là, on a juste besoin d'une somme
de contrôle pour détecter les erreurs "naturelles", ce n'est pas un
impératif de sécurité, et donc la faiblesse cryptographique n'est pas
gênante.

-- Comme précisé plus haut, il ne sert à rien d'aller plus vite que la
musique.


--Thomas Pornin