Questions tagged [galois-field]

Galois field also knows as finite field in abstract algebra is a field that contains a finite number of elements.

A Galois field, also knows as finite field in abstract algebra, is a field that contains a finite number of elements.

A field is an algebraic structure with multiplication and addition, where every element has a multiplicative inverse, and all elements commute with each other.

84 questions
3
votes
1 answer

How to perform Galois field multiplication?

I'm implementing AES encryption. During the mix column/inverse mix columns procedures, I need to do Galois field multiplication. I'm using the look-up tables in the following document(Section…
Aditya Agrawal
  • 147
  • 1
  • 1
  • 5
3
votes
1 answer

carry-less multiplication optimization for ECC over GF(2^m) in MIRACL

Link to MIRACL crypto library by CertiVox Following the instructions in fastgf2m.txt, I've been able to get everything to compile. However, after execution, the benchmark (bmark.exe) program halts when evaluating curves over GF(2^m) with error,…
3
votes
1 answer

Galois LFSR explanation of code

I am trying to understand how the galois LFSR code works. On the wikipedia page there is a figure with an example. There is a C snippet code. #include uint16_t lfsr = 0xACE1u; unsigned period = 0; do { unsigned lsb = lfsr & 1; /* Get…
Karan Talasila
  • 429
  • 3
  • 6
  • 10
2
votes
1 answer

How to get the vector representation of a polynomial in GF(2)[x]?

I tried to multiply two polynomials g(x), h(x) ∈ GF(2)[x]. And I got the result as c(x). I would like to get the vector representation of c(x). Here is the code I am sharing. import galois GF = galois.GF(2) g = galois.Poly([1, 0, 1, 1], field=GF) h…
Robin Kurtz
  • 115
  • 2
2
votes
1 answer

Is CLMUL constant time?

Does the carry-less multiplication instruction run in constant time? Said differently, is the time it takes to execute independent of its arguments?
yberman
  • 306
  • 1
  • 11
2
votes
2 answers

Finite fields: Compute the inverse of a matrix

I am working with finite fields in Python. I have a matrix containing polynomials, each polynomial is represented as an integer. For example, the polynomial x^3 + x + 1 is represented as 11, because: x^3 + x + 1 ==> (1,0,1,1) ==> (8,0,2,1) ==> 8 + 0…
dimitris93
  • 4,155
  • 11
  • 50
  • 86
2
votes
2 answers

Gauss-Jordan elimination over GF(2)

I need to transform a parity-check matrix H (that only consists of ones and zeros) from a non-standard to a standard form, this is, express it as: Hsys = [A | I] H and Hsys share the same dimension: (n-k,n). I…
ailoher
  • 67
  • 1
  • 13
2
votes
1 answer

Error in gfconv (Galois field function) in Matlab

I am trying to multiply a hexdecimal value AA by 2 in the galois field using the gfconv(a,b) function of Matlab, the console returns to me an error saying: "The input elements must be binary.", but my two elements are…
user5410082
2
votes
2 answers

How do I convert an array of UInt64 to an array of UInt16 to perform multi-precision multiplication?

I need to perform fast Galois field arithmetic in my application. I have a multiplication function written in assembly that has been optimized for my platform, an MSP430 microcontroller. That function computes the product of two large numbers of…
Keron
  • 167
  • 8
2
votes
2 answers

C-shell: How to create multiple arrays from a single line of standard input?

I need to find a way to complete the following task using C-shell (I can't use a different shell): There is a program that outputs polynomial factors from a larger polynomial, using Galois Field calculations. The output is a single line, and looks…
2
votes
1 answer

Finding "all solutions" of x in A.x = b in the finite field domain

Matlab provides a way to find a particular solution to Ax=b in GF(2^m). Here is the link http://www.mathworks.in/help/comm/ref/gflineq.html But it gives only one solution. How can I find the rest of the solutions? Eg: A=[1 0 2 0 0 1] in GF(4), b=[0]…
Sporty
  • 741
  • 2
  • 8
  • 15
2
votes
1 answer

Calculating constants for CRC32 using PCLMULQDQ

I'm reading through the following paper on how to implement CRC32 efficiently using the PCLMULQDQ instruction introduced in Intel Westmere and AMD Bulldozer: V. Gopal et al. "Fast CRC Computation for Generic Polynomials Using PCLMULQDQ Instruction."…
tdenniston
  • 3,389
  • 2
  • 21
  • 29
2
votes
1 answer

Algorithm to calculate rref in GF(2)?

I have a matrix :: [[Int]] whose elements are all either zero or one. How can I efficiently implement rref in GF(2)? If LU decomposition can be used to calculate rref(matrix) in GF(2), any example or elaboration on the algorithm would be greatly…
Rob
  • 5,223
  • 5
  • 41
  • 62
2
votes
3 answers

Incorrect Multiplication/Division in Galois Field (2^8)

I'm attempting to implement multiplication and division in GF(2^8) using log and exponential tables. I'm using the exponent of 3 as my generator, using instructions from here. However I'm failing some trivial test cases. example: //passes …
Jacob Wang
  • 4,411
  • 5
  • 29
  • 43
2
votes
2 answers

How to find the row rank of matrix in Galois fields?

Matlab has a built-in function for calculating rank of a matrix with decimal numbers as well as finite field numbers. However if I am not wrong they calculate only the lowest rank (least of row rank and column rank). I would like to calculate only…
schwarz
  • 501
  • 7
  • 28