SHA命令セット

SHA命令セットは、セキュア ハッシュ アルゴリズム(SHA) ファミリのハードウェアアクセラレーションをサポートするARMRISC-V、およびx86命令セット アーキテクチャの拡張機能のセットです。

アーム

SHA-1およびSHA-256命令は、2011年に導入されたArm V8.0アーキテクチャでオプション機能(FEAT_SHA1およびFEAT_SHA256)として登場しました。[ 1 ]命令は次のとおりです。

  • SHA - 1 : SHA1C、、、、、、SHA1HSHA1MSHA1PSHA1SU0SHA1SU1
  • SHA- 256 : SHA256H、、、SHA256H2SHA256SU0SHA256SU1

SHA-512およびSHA-3命令は、Arm V8.2アーキテクチャでオプション機能(FEAT_SHA512およびFEAT_SHA3)として登場しました。[ 2 ]命令は以下のとおりです。

  • SHA- 512 : SHA512H、、、SHA512H2SHA512SU0SHA512SU1
  • SHA -3 : EOR3、、、RAX1XARBCAX

SHA-3命令のスケーラブルベクトル拡張(SVE)バージョンは、Arm V9.0アーキテクチャのオプション機能(FEAT_SVE_SHA3)として登場しました。[ 3 ]

RISC-V

SHA2命令は、2021年11月に批准されたRISC-V暗号化拡張第1巻:スカラー&エントロピーソース命令のZknh拡張部分の一部である[ 4 ]

x86アーキテクチャプロセッサ

オリジナルのSSEベースの拡張機能は、SHA-1をサポートする4つの命令とSHA-256をサポートする3つの命令を追加し、2013年にIntelによって仕様化されました。[ 5 ] SHA-512の命令は、2024年にArrow LakeLunar Lakeで導入されました。

  • SHA -1 : SHA1RNDS4、、、SHA1NEXTESHA1MSG1SHA1MSG2
  • SHA-256 : SHA256RNDS2、、SHA256MSG1SHA256MSG2

新しい SHA-512 命令セットは、プレフィックスが付いた元の SHA命令セットのAVXベースのバージョンと、次のSHA-512用の 3 つの新しい AVX ベースの命令で構成されています。 V

  • VSHA512RNDS2、、VSHA512MSG1VSHA512MSG2

AMD

最近の AMD プロセッサはすべて、オリジナルの SHA 命令セットをサポートしています。

  • AMD Zen [ 6 ] (2017)以降のプロセッサ。

インテル

次の Intel プロセッサは、オリジナルの SHA 命令セットをサポートしています。

  • Intel Goldmont [ 7 ] (2016)以降のAtomマイクロアーキテクチャプロセッサ。
  • Intel Cannon Lake [ 8 ] (2018/2019)、Ice Lake [ 9 ] (2019)以降のラップトップ(「メインストリームモバイル」)向けプロセッサ。
  • デスクトップ コンピューター用のIntel Rocket Lake (2021) 以降のプロセッサ。

次の Intel プロセッサは、新しい SHA-512 命令セットをサポートします。

参考文献