Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

SHA instruction set

From Wikipedia, the free encyclopedia
(Redirected from Intel SHA Extensions)

A SHA instruction set is a set of extensions to the ARM, Power, RISC-V and x86 instruction set architecture which support hardware acceleration of the Secure Hash Algorithm (SHA) family.

ARM

[edit]

SHA-1 and SHA-256 instructions appeared as optional features (FEAT_SHA1 and FEAT_SHA256) in the Arm V8.0 architecture introduced in 2011.[1] The instructions are:

  • SHA-1: SHA1C, SHA1H, SHA1M, SHA1P, SHA1SU0, SHA1SU1
  • SHA-256: SHA256H, SHA256H2, SHA256SU0, SHA256SU1

SHA-512 and SHA-3 instructions appeared as optional features (FEAT_SHA512 and FEAT_SHA3) in the Arm V8.2 architecture. [2] The instructions are:

  • SHA-512: SHA512H, SHA512H2, SHA512SU0, SHA512SU1
  • SHA-3: EOR3, RAX1, XAR, BCAX

A scalable vector extension (SVE) version of the SHA-3 instructions appeared as an optional feature (FEAT_SVE_SHA3) in the Arm V9.0 architecture. [3]

Power

[edit]

Vector instructions for the Sigma functions for SHA-256 (vshasigmaw) and SHA-512 (vshasigmad) were added in the specification for Power ISA v.2.07[4] released in May 2013. The same instruction performs either Σ₀, Σ₁, σ₀ or σ₁ as described in the SHA-2 standard (FIPS-180-4) depending on parameters.

RISC-V

[edit]

SHA2 instructions are part of the Zknh extension part of the RISC-V Cryptography Extensions Volume I: Scalar & Entropy Source Instructions[5] ratified in November 2021[6].

As SHA-512 is defined on 64-bit words, the instructions for SHA-512 differ in RV32 and RV64, with some RV32 instructions for SHA-512 split the elementary sigma operations in half in order to operate on a single 32-bit register.

The instructions are:

  • SHA-256 (RV32 and RV64): sha256sig0 (SHA-256 σ₀), sha256sig1 (SHA-256 σ₁), sha256sum0 (SHA-256 Σ₀), sha256sum1 (SHA-256 Σ₁)
  • SHA-512 (RV32): sha512sig0h (high half of SHA-512 σ₀), sha512sig0l (low half of SHA-512 σ₀), sha512sig1h (high half of SHA-512 σ₁), sha512sig1l (low half of SHA-512 σ₁), sha512sum0r (SHA-512 Σ₀), sha512sum1r (SHA-512 Σ₁)
  • SHA-512 (RV64): sha512sig0 (SHA-512 σ₀), sha512sig1 (SHA-512 σ₁), sha512sum0 (SHA-512 Σ₀), sha512sum1 (SHA-512 Σ₁)

x86 architecture processors

[edit]

The original SSE-based extensions added four instructions supporting SHA-1 and three for SHA-256 and were specified in 2013 by Intel.[7] Instructions for SHA-512 were introduced in Arrow Lake and Lunar Lake in 2024.

  • SHA-1: SHA1RNDS4, SHA1NEXTE, SHA1MSG1, SHA1MSG2
  • SHA-256: SHA256RNDS2, SHA256MSG1, SHA256MSG2

The newer SHA-512 instruction set comprises AVX-based versions of the original SHA instruction set marked with a V prefix and these three new AVX-based instructions for SHA-512:

  • VSHA512RNDS2, VSHA512MSG1, VSHA512MSG2

AMD

[edit]

All recent AMD processors support the original SHA instruction set:

  • AMD Zen[8] (2017) and later processors.

Intel

[edit]

The following Intel processors support the original SHA instruction set:

  • Intel Goldmont[9] (2016) and later Atom microarchitecture processors.
  • Intel Cannon Lake[10] (2018/2019), Ice Lake[11] (2019) and later processors for laptops ("mainstream mobile").
  • Intel Rocket Lake (2021) and later processors for desktop computers.

The following Intel processors support the newer SHA-512 instruction set:

References

[edit]
  1. ↑ "The Armv8.0 architecture extension". Retrieved 2025-12-11.
  2. ↑ "The Armv8.2 architecture extension". Retrieved 2025-12-11.
  3. ↑ "The Armv9.0 architecture extension". Retrieved 2025-12-11.
  4. ↑ "Power ISA Version 2.07" (PDF). Power.org. 2013-05-15. Retrieved 2023-11-02.
  5. ↑ "Zknh - NIST Suite: Hash Function Instructions". Cryptography Extensions: Scalar & Entropy Source Instructions, Version 1.0.1. RISC-V International. Retrieved 4 September 2026.
  6. ↑ "Ratified Extensions". Retrieved 2025-02-12.
  7. ↑ "New Instructions Supporting the Secure Hash Algorithm on Intel® Architecture Processors". intel.com. Retrieved 2024-07-25.
  8. ↑ "Zen - Microarchitectures - AMD - WikiChip". en.wikichip.org. Retrieved 2024-07-25.
  9. ↑ "Goldmont - Microarchitectures - Intel - WikiChip". en.wikichip.org. Retrieved 2024-07-25.
  10. ↑ "Cannon Lake - Microarchitectures - Intel - WikiChip". en.wikichip.org. Retrieved 2024-07-25.
  11. ↑ "Ice Lake (client) - Microarchitectures - Intel - WikiChip". en.wikichip.org. Retrieved 2024-07-25.
[edit]