# How to create GF(2^8) and multiply by 8 by 8 matrix?

How i can create GF(2^8) and Multiplication with matrix 8 by 8 and Multiplication with matrix 1 by 8?

How to create GF(2^8) and multiply by 8 by 8 matrix?

2

The question seems to be asking

- how to create the finite field (or "Galois field") $F$ with $2^8$ elements
- how to view an element in $F$ as a vector with 8 coordinates describing it as a linear combination of the generator's first 8 powers
- how to associate an 8 by 8 matrix to the operator of multiplication by an element in $F$

Sage allows to compute with elements in $F$ either via field algebra or via linear algebra.

Examples of how to go back and forth, and how the results match:

```
sage: F.<a> = GF(2^8)
sage: a
a
sage: va = vector(a)
sage: va
(0, 1, 0, 0, 0, 0, 0, 0)
sage: ma = a.matrix()
sage: ma
[0 0 0 0 0 0 0 1]
[1 0 0 0 0 0 0 0]
[0 1 0 0 0 0 0 1]
[0 0 1 0 0 0 0 1]
[0 0 0 1 0 0 0 1]
[0 0 0 0 1 0 0 0]
[0 0 0 0 0 1 0 0]
[0 0 0 0 0 0 1 0]
sage: a_a = a * a
sage: a_a
a^2
sage: vaa = vector(a_a)
sage: vaa
(0, 0, 1, 0, 0, 0, 0, 0)
sage: ma_va = ma * va
sage: ma_va
(0, 0, 1, 0, 0, 0, 0, 0)
sage: F(ma_va)
a^2
```

Please start posting anonymously - your entry will be published after you log in or create a new account.

Asked: ** 2020-12-20 16:50:58 +0100 **

Seen: **681 times**

Last updated: **Dec 20 '20**

Unhandled SIGABRT when working with polynomial rings

How to express unknown coefficients in GF(2^8)?

What is the .modulus() function doing?

Polynomial_GF2x in pow(x,y) operation?

Convert polynomial to integer value ?

Why GF(256) matrix only have zero and one number?

Memory leak with matroid is_connected method

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.

Was the answer helpful? Did it answer the question you had in mind?

Follow-up question at