de.flexiprovider.ec.asn1
Class CharacteristicTwoField

java.lang.Object
  |
  +--java.util.AbstractCollection
        |
        +--java.util.AbstractList
              |
              +--java.util.ArrayList
                    |
                    +--codec.asn1.ASN1AbstractCollection
                          |
                          +--codec.asn1.ASN1Sequence
                                |
                                +--de.flexiprovider.ec.asn1.CharacteristicTwoField
All Implemented Interfaces:
codec.asn1.ASN1Collection, codec.asn1.ASN1Type, java.lang.Cloneable, java.util.Collection, java.io.Externalizable, java.util.List, java.io.Serializable

public class CharacteristicTwoField
extends codec.asn1.ASN1Sequence

This class represents a characterisitic-two-field as defined in ANS X9.62 - 1998. The ASN.1 definition of this structure is

   characteristic-two-field::= SEQUENCE{
                  m             Integer,
                  basis         ObjectIdentifier,
                  parameters    OpenType
                  }
 

Author:
Michele Boivin, Martin Döring
See Also:
Serialized Form

Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
CharacteristicTwoField()
          Constructor used for decoding.
CharacteristicTwoField(int n)
          Constructor for a Gaussian basis representation.
CharacteristicTwoField(int n, int tc)
          Constructor for trinomial basis representation.
CharacteristicTwoField(int n, int pc1, int pc2, int pc3)
          Constructor for pentanomial basis representation.
 
Method Summary
 int getN()
           
 PpBasis getPenta()
           
 TpBasis getTrinom()
           
 boolean isONB()
           
 boolean isPentanomial()
           
 boolean isTrinomial()
           
 
Methods inherited from class codec.asn1.ASN1Sequence
getTag
 
Methods inherited from class codec.asn1.ASN1AbstractCollection
checkConstraints, decode, encode, getCollection, getConstraint, getTagClass, getValue, isExplicit, isOptional, isType, readExternal, setConstraint, setExplicit, setOptional, toString, writeExternal
 
Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, lastIndexOf, remove, removeRange, set, size, toArray, toArray, trimToSize
 
Methods inherited from class java.util.AbstractList
equals, hashCode, iterator, listIterator, listIterator, subList
 
Methods inherited from class java.util.AbstractCollection
containsAll, remove, removeAll, retainAll
 
Methods inherited from class java.lang.Object
, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Collection
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 
Methods inherited from interface java.util.List
containsAll, equals, hashCode, iterator, listIterator, listIterator, remove, removeAll, retainAll, subList
 

Constructor Detail

CharacteristicTwoField

public CharacteristicTwoField()
Constructor used for decoding.

CharacteristicTwoField

public CharacteristicTwoField(int n)
Constructor for a Gaussian basis representation.
Parameters:
n - the extension degree of the finite field GF(2^n)

CharacteristicTwoField

public CharacteristicTwoField(int n,
                              int tc)
Constructor for trinomial basis representation. The field polynomial is of the form x^n + x^tc + 1.
Parameters:
n - the extension degree of the finite field GF(2^n)
tc - the value for trinomial basis representation

CharacteristicTwoField

public CharacteristicTwoField(int n,
                              int pc1,
                              int pc2,
                              int pc3)
Constructor for pentanomial basis representation. The field polynomial is of the form x^n + x^pc3 + x^pc2 + x^pc1 + 1.
Parameters:
n - the extension degree of the finite field GF(2^n)
pc1 - the first value for pentanomial basis representation
pc2 - the second value for pentanomial basis representation
pc3 - the thrid value for pentanomial basis representation
Method Detail

isONB

public boolean isONB()
Returns:
whether this field uses Gaussian basis representation

isTrinomial

public boolean isTrinomial()
Returns:
whether this field uses trinomial basis representation

isPentanomial

public boolean isPentanomial()
Returns:
whether this field uses pentanomial basis representation

getN

public int getN()
Returns:
the extension degree of the finite field GF(2^n)

getTrinom

public TpBasis getTrinom()
Returns:
the trinomial basis

getPenta

public PpBasis getPenta()
Returns:
the pentanomial basis