public final class GoppaCode
extends java.lang.Object
GF2mField
,
PolynomialGF2mSmallM
Modifier and Type | Class and Description |
---|---|
static class |
GoppaCode.MaMaPe
This class is a container for two instances of
GF2Matrix and one
instance of Permutation . |
static class |
GoppaCode.MatrixSet
This class is a container for an instance of
GF2Matrix and one
int[]. |
Modifier and Type | Method and Description |
---|---|
static GoppaCode.MaMaPe |
computeSystematicForm(GF2Matrix h,
java.security.SecureRandom sr)
Given a check matrix H, compute matrices S,
M, and a random permutation P such that
S*H*P = (Id|M).
|
static GF2Matrix |
createCanonicalCheckMatrix(GF2mField field,
PolynomialGF2mSmallM gp)
Construct the check matrix of a Goppa code in canonical form from the
irreducible Goppa polynomial over the finite field
GF(2m).
|
static GF2Vector |
syndromeDecode(GF2Vector syndVec,
GF2mField field,
PolynomialGF2mSmallM gp,
PolynomialGF2mSmallM[] sqRootMatrix)
Find an error vector e over GF(2) from an input
syndrome s over GF(2m).
|
public static GF2Matrix createCanonicalCheckMatrix(GF2mField field, PolynomialGF2mSmallM gp)
field
- the finite fieldgp
- the irreducible Goppa polynomialpublic static GoppaCode.MaMaPe computeSystematicForm(GF2Matrix h, java.security.SecureRandom sr)
GoppaCode.MaMaPe
. The matrix (Id | M) is called
the systematic form of H.h
- the check matrixsr
- a source of randomnesspublic static GF2Vector syndromeDecode(GF2Vector syndVec, GF2mField field, PolynomialGF2mSmallM gp, PolynomialGF2mSmallM[] sqRootMatrix)
syndVec
- the syndromefield
- the finite fieldgp
- the irreducible Goppa polynomialsqRootMatrix
- the matrix for computing square roots in
(GF(2m))t