Les Westmere ou les futurs monstres de l’AES ?

intel_core_i5_1Contrairement à ce que je disais il y a quelques billet, le i5 et i7 actuel (Lynnfield – 45nm) ne possèdent pas d’instruction améliorant la cryptographie. Ce sera uniquement avec les processeurs se basant sur l’architecture Westmere (32nm) prévu pour fin 2009, début 2010 que 6 instruction AES seront intégrés au processeur.

Outre ces instructions lié a l’AES, Intel à ajouté une nouvelle instruction supportant le Carry-Less Multiplication (CLMUL) qui permet d’améliorer les performances des applications utilisant les algorithme de chiffrement par bloc. Nommé PCLMULQDQ ces instruction vont permettre d’optimiser le calcul de formule  lié à la théorie des cors finie de ce bon vieux Evariste Gallois très utilisé en cryptographie (cocorico).

Ces équations étant utilisé dans des modes d’opération par exemple par :

  • OpenSSL à travers son implémentation de l’AES-GCM
  • Truecrypt et son implémentation du XTS-AES.

Sur ces 6 nouvelles instruction, il y en 4 pour l’AES et 2 pour la gestion des clés de chiffrement.

Les 4 AES sont :

  • AESENC (AES round encryption)
  • AESENCLAST (AES last round encryption)
  • AESDEC (AES round decryption)
  • AESDECLAST (AES last round decryption)

Les 2 pour la gestion des clés sont :

  • AESIMC
  • AESKEYGENASSIST

Bien évidement pour tirer complètement partie de ces nouvelles instructions les applications devront être modifié.

Mais il n’y a pas que l’AES qui est à la fête le RSA aussi, cette fois ci non pas grâce à des instructions processeur, mais du fait d’une meilleur implémentation de l’hyper-threading. Intel annonce une augmentation des performance de prés de 21% pour le RSA.

Le test sur i3 qui avait été fait est donc potentiellement tout à fait valable :

corei3aes

Les Westmere n’ont décidément pas fini de faire parler d’eux.