Sada instrukcí AES

Sada instrukcí AES (také známá jako Intel Advanced Encryption Standard New Instructions  ; AES-NI ) je rozšířením instrukční sady architektury x86 pro mikroprocesory Intel a AMD, kterou společnost Intel nabízí vBřezen 2008. Účelem této sady instrukcí je urychlit aplikace provádějící operace šifrování a dešifrování pomocí Advanced Encryption Standard (AES).

Nové pokyny

Návod Popis
AESENC Provede prohlídku šifrování AES
AESENCLAST Proveďte poslední kolo šifrování AES
AESDEC Proveďte dešifrovací prohlídku AES
AESDECLAST Proveďte poslední kolo dešifrování AES
AESKEYGENASSIST Pomozte s generováním klíčů věže AES
AESIMC Pomoc při operaci Inverzní míchání sloupců
PCLMULQDQ Násobení bez přenášení ( CLMUL ).

Architektury Intel a AMD x86

Hardwarová akcelerace na jiných architekturách

Zrychlení AES je k dispozici prostřednictvím neprivilegovaných pokynů na nedávných procesorech SPARC (T4, T5, M6 a novějších) a ARM. Procesor SPARC T4, dostupný od roku 2011, obsahuje uživatelské pokyny, které provádějí triky AES. Tyto pokyny doplňují další šifrovací příkazy vyšší úrovně. Architektura ARMv8-A ohlášená v roce 2011, která zahrnuje procesory ARM Cortex-A53 a A57 (ale ne starší procesory v7, jako je Cortex A5,7,8,9,11,15), mají také sadu uživatelských pokynů provádějících Triky AES. vSrpna 2012, IBM oznámila, že její budoucí architektura Power7 + bude mít hardwarovou podporu AES. Pokyny pro všechny tyto architektury nejsou přímo kompatibilní s pokyny AES-NI, ale poskytují podobné funkce.

Sálové počítače IBM z9 a novější provádějí šifrování AES ECB nebo CBC v jediné instrukci (KM, KMC) pomocí koprocesoru IBM Crypto Express. Tyto pokyny jsou ve skutečnosti jednodušší než pokyny AES-NI, ale nelze je použít k urychlení jiných algoritmů, které se spoléhají na funkce věže AES (například hash funkce Whirlpool ).

Podporované procesory x86

Akcelerace AES na procesorech VIA x86 , AMD Geode a Marvell Kirkwood (ARM, mv_cesa pod Linuxem) vyžaduje použití vyhrazeného ovladače. Následující čipy poskytují hardwarovou akceleraci pro AES, ale nepodporují sadu instrukcí AES-NI:

ARM architektura

64bitová architektura ARMv8 obsahuje volitelné kryptografické rozšíření své pokročilé instrukční sady založené na SIMD, podporující šifrování a dešifrování AES, stejně jako SHA-1, SHA-224 a SHA-256. Je zejména přítomen v Rockchip RK3399 .

Cortex-A53 dodává A64, A32 a T32 k základnímu ARMv8 šifrovací modul.

RISC-V

Z hlediska architektury RISC-V  :

Jiné architektury

Výkon

V rámci Analyzovaného výkonu AES-NI zaznamenali Patrick Schmid a Achim Roos „působivé výsledky v aplikacích již optimalizovaných tak, aby využily možnosti, které nabízí AES-NI“. Analýza výkonu knihovny Crypto ++ měřila, že rychlost šifrování pro AES v režimu GCM vzrostla z 28,0 cyklů na bajt na Pentium 4 bez akcelerace na 3,5 cyklů na bajt.

Softwarová podpora

Většina moderních překladačů může generovat pokyny AES.

Mnoho bezpečnostních a kryptografických softwarů používá instrukční sadu AES. To zahrnuje zejména následující softwarové komponenty:

Poznámky a odkazy

  1. „Intel Software Network“ ( internetový archiv verze 7. dubna 2008 ) , Intel
  2. Shay Gueron, „  Bílá kniha instrukční sady Intel Advanced Encryption Standard (AES)  “ , Intel,2010(zpřístupněno 20. září 2012 )
  3. „  Násobení bez přenášení  “ , Intel
  4. ARK: Pokročilé vyhledávání
  5. AnandTech - Recenze Sandy Bridge: Testovány Intel Core i7-2600K, i5-2500K a Core i3-2100
  6. Porovnejte produkty Intel®
  7. Podpora AES-NI v TrueCrypt (problém Sandy Bridge)
  8. „  Některé produkty mohou podporovat nové pokyny AES s aktualizací konfigurace procesoru, zejména i7-2630QM / i7-2635QM, i7-2670QM / i7-2675QM, i5-2430M / i5-2435M, i5-2410M / i5-2415M. Ohledně systému BIOS, který obsahuje nejnovější aktualizaci konfigurace procesoru, kontaktujte výrobce OEM.  » , Na ark.intel.com
  9. [1]
  10. (in) „  Specifikace produktu Intel® Core ™ i3-4000M (3M Cache, 2,40 GHz)  “ na webu Intel.com (přístup 23. září 2020 ) .
  11. Pokročilé vyhledávání charakteristik produktu
  12. „Následující pokyny“ (verze z 26. listopadu 2010 v internetovém archivu ) , AMD,22. listopadu 2010
  13. Dan Anderson, „  SPARC T4 OpenSSL Engine  “ , Oracle,2011(zpřístupněno 20. září 2012 )
  14. Richard Grisenthwaite, „  Náhled technologie ARMv8-A  “ , ARM,2011(zpřístupněno 20. září 2012 )
  15. Timothy Prickett Morgan, „  All the sauce on Big Blue's hot chip: More on Power7 +  “ , The Register,2012(zpřístupněno 20. září 2012 )
  16. „  Kryptografie IBM System z10  “ , IBM (přístup 27. ledna 2014 )
  17. „  Technické specifikace řady procesorů AMD Geode ™ LX  “ , AMD
  18. „  VIA Padlock Security Engine  “ , VIA (zpřístupněno 14. listopadu 2011 )
  19. kryptografické hardwarové akcelerátory na OpenWRT.org
  20. „  Procesory VIA Eden-N  “ , VIA (zpřístupněno 14. listopadu 2011 )
  21. „  Procesory VIA C7  “ , VIA (zpřístupněno 14. listopadu 2011 )
  22. Stav ovladače bezpečnostního systému
  23. „  ARM® Cortex®-A53 MPCore ProcessorCryptography Extension  “ na ARM.com
  24. „  Datový list RK3399 V1.8  “ , na Rockchip.fr
  25. (in) „  Sipeed M1 - integrovaná výpočetní platforma AI pro Edge  “ na elektronice-lab.com ,27. listopadu 2018
  26. (en) Jean-Luc Aufranc, „  Procesor ESP32-C3 WiFi a BLE RISC-V je pin-to-pin kompatibilní s ESP8266  “ na softwaru CNX ,22. listopadu 2020
  27. „  Používání integrovaného akcelerátoru AES XMEGA  “ na atmel.com (přístup 3. prosince 2014 )
  28. P. Schmid a A. Roos, „  Analýza výkonu AES-NI  “ , Tom's Hardware,2010(zpřístupněno 10. srpna 2010 )
  29. T. Krovetz a W. Dai: „  Jak získat rychlé volání AES?  " , Skupina uživatelů Crypto ++ ,2010(zpřístupněno 11. srpna 2010 )
  30. „Crypto ++ 5.6.0 Pentium 4 Benchmarky“ (verze ze dne 19. září 2010 v internetovém archivu )
  31. „Intel Advanced Encryption Standard Instructions (AES-NI)“ ( Internetový archiv verze 7. července 2010 ) , Intel,2. března 2010
  32. „  Vylepšení AES-NI pro NSS v systémech Sandy Bridge  “ , na adrese bugzilla.mozilla.org ,2. května 2012(zpřístupněno 25. listopadu 2012 )
  33. „  Příručka pro správu systému: Bezpečnostní služby, Kapitola 13 Kryptografický rámec Solaris (přehled)  “ , Oracle,září 2010(zpřístupněno 27. listopadu 2012 )
  34. „  Poznámky k vydání FreeBSD 8.2  “ , FreeBSD.org,24. února 2011(zpřístupněno 18. prosince 2011 )
  35. OpenSSL: webové rozhraní CVS

Podívejte se také

Související články

externí odkazy