Top Qs
Timeline
Chat
Perspective
GFNI instruction set
Intel AVX Galois-Field instructions From Wikipedia, the free encyclopedia
Remove ads
Galois Field New Instructions is a subset extension from Intel to accelerate cryptographic applications. However its instructions have additional unexpected beneficial purposes in bit manipulation, and the instructions can be present in other ISAs
![]() |
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Remove ads
Description
The GFNI extension comprises three instructions, VGF2P8AFFINEINVQB
, VGF2P8AFFINEQB
and VGF2P8MULB
. They are useful for cryptography,[1] as they can be used to implement Rijndael-style S-boxes such as those used in AES, Camellia, and SM4. These instructions are also used for bit manipulation in networking and signal processing: bits can be arbitrarily reordered, copied, inverted, cleared, or set with them.[1]
GFNI is a standalone instruction set extension and can be enabled separately from AVX or AVX-512. Depending on whether AVX and AVX-512F support is indicated by the CPU, GFNI support enables legacy (SSE), VEX or EVEX-coded instructions operating on 128, 256 or 512-bit vectors.
Remove ads
Additional uses
GNFI was originally intended to help accelerate for example Rijndael (AES) GF(2^8) arithmetic: Rijndael has an explicit GF(2^8) reducing polynomial of 0x11B. However surprising number of additional uses have emerged:
- An Intel guide lists parallel 5-bit byte-wise sign-extension, general bit-clear insert set and invert,
- Parallel Count Leading/Trailing Zero Bits (Byte-wise), Arbitrary GF(2^N) multiplication, Fixed 2-bit Packed Arithmetic, Byte-wise variable shift, which relies on pre-truncating the inputs to ensure the polynomial reduction is not triggered.
- Bit-reversal
- SM4, Reed Solomon, RAID6
- Vector bit-reverse
- bmatflip and bmatxor is found in the Cray XMT
- Power ISA vgbbd Chapter 6. Vector Facility, Book 1 p. 445
Remove ads
See also
- bit manipulation – Algorithmically modifying data below the word level
- AVX512 – Instruction set extension by Intel
- AVX2 – Instructions for the x86 microprocessors
- Finite_field_arithmetic – Arithmetic in a field with a finite number of elements
- GF(2) – Finite field of two elements
References
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads