# gfmul

Multiply elements of Galois field

## Syntax

```c = gfmul(a,b,p) c = gfmul(a,b,field) ```

## Description

Note

This function performs computations in GF(pm) where p is prime. To work in GF(2m), apply the `.*` operator to Galois arrays. For details, see Example: Multiplication.

The `gfmul` function multiplies elements of a Galois field. (To multiply polynomials over a Galois field, use `gfconv` instead.)

`c = gfmul(a,b,p) ` multiplies `a` and `b` in GF(`p`). Each entry of `a` and `b` is between 0 and `p`-1. `p` is a prime number. If `a` and `b` are matrices of the same size, the function treats each element independently.

`c = gfmul(a,b,field) ` multiplies `a` and `b` in GF(pm), where p is a prime number and m is a positive integer. `a` and `b` represent elements of GF(pm) in exponential format relative to some primitive element of GF(pm). `field` is the matrix listing all elements of GF(pm), arranged relative to the same primitive element. `c` is the exponential format of the product, relative to the same primitive element. See Representing Elements of Galois Fields for an explanation of these formats. If `a` and `b` are matrices of the same size, the function treats each element independently.

## Examples

Arithmetic in Galois Fields contains examples. Also, the code below shows that

`${A}^{2}\cdot {A}^{4}={A}^{6}$`

where A is a root of the primitive polynomial 2 + 2x + x2 for GF(9).

```p = 3; m = 2; prim_poly = [2 2 1]; field = gftuple([-1:p^m-2]',prim_poly,p); a = gfmul(2,4,field)```

The output is

```a = 6 ```

## Version History

Introduced before R2006a