SHA instruction set
A SHA instruction set is a set of extensions to the ARM, RISC-V and x86 instruction set architecture which support hardware acceleration of the Secure Hash Algorithm (SHA) family.
ARM
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]
RISC-V
SHA2 instructions are part of the Zknh extension part of the RISC-V Cryptography Extensions Volume I: Scalar & Entropy Source Instructions ratified in November 2021[4].
x86 architecture processors
The original SSE-based extensions added four instructions supporting SHA-1 and three for SHA-256 and were specified in 2013 by Intel.[5] 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
All recent AMD processors support the original SHA instruction set:
Intel
The following Intel processors support the original SHA instruction set:
- Intel Goldmont[7] (2016) and later Atom microarchitecture processors.
- Intel Cannon Lake[8] (2018/2019), Ice Lake[9] (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:
- Intel Arrow Lake and Lunar Lake processors.
References
- ^ "The Armv8.0 architecture extension". Retrieved 2025-12-11.
- ^ "The Armv8.2 architecture extension". Retrieved 2025-12-11.
- ^ "The Armv9.0 architecture extension". Retrieved 2025-12-11.
- ^ "Ratified Extensions". Retrieved 2025-02-12.
- ^ "New Instructions Supporting the Secure Hash Algorithm on Intel® Architecture Processors". intel.com. Retrieved 2024-07-25.
- ^ "Zen - Microarchitectures - AMD - WikiChip". en.wikichip.org. Retrieved 2024-07-25.
- ^ "Goldmont - Microarchitectures - Intel - WikiChip". en.wikichip.org. Retrieved 2024-07-25.
- ^ "Cannon Lake - Microarchitectures - Intel - WikiChip". en.wikichip.org. Retrieved 2024-07-25.
- ^ "Ice Lake (client) - Microarchitectures - Intel - WikiChip". en.wikichip.org. Retrieved 2024-07-25.
External links
- Chapter 8 of "Intel Architecture Instruction Set Extensions Programming Reference" (PDF). Archived from the original (PDF) on 2013-09-29.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.