From: lkcl Date: Tue, 22 Mar 2022 13:15:53 +0000 (+0000) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~2995 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8048e58a47db900c0a36288249b804d74f654458;p=libreriscv.git --- diff --git a/openpower/sv/bitmanip.mdwn b/openpower/sv/bitmanip.mdwn index 8a9f75b4c..0f7a51a3f 100644 --- a/openpower/sv/bitmanip.mdwn +++ b/openpower/sv/bitmanip.mdwn @@ -584,6 +584,18 @@ further detailed and more precise explanations are provided below affect `GF(p^n)`'s mathematical shape, all that changes is the specific polynomials used to implement `GF(p^n)`. +Many implementations and much of the literature do not make a clear +distinction between these three categories, which makes it confusing +to understand what their purpose and value is. + +* carry-less multiply is extremely common and is used for the ubiquitous + CRC32 algorithm. [TODO add many others, helps justify to ISA WG] +* GF(2^N) forms the basis of Rijndael (the current AES standard) and + has significant uses throughout cryptography +* GF(p) is the basis again of a significant quantity of algorithms + (TODO, list them, jacob knows what they are), even though the + modulo is limited to be below 64-bit (size of a scalar int) + # Instructions for Carry-less Operations aka. Polynomials with coefficients in `GF(2)`