org.bouncycastle.pqc.math.ntru

## Class HPSPolynomial

- java.lang.Object
- - org.bouncycastle.pqc.math.ntru.Polynomial
  - - org.bouncycastle.pqc.math.ntru.HPSPolynomial

- Direct Known Subclasses:
    HPS4096Polynomial

      public class HPSPolynomial
      extends Polynomial

- - ### Field Summary

    - ### Fields inherited from class org.bouncycastle.pqc.math.ntru.Polynomial

      `coeffs, params`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HPSPolynomial(NTRUHPSParameterSet params)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `lift(Polynomial a)`
    `void` | `sqFromBytes(byte[] a)` Unpack a Sq polynomial
    `byte[]` | `sqToBytes(int len)` Pack Sq polynomial as a byte array

    - ### Methods inherited from class org.bouncycastle.pqc.math.ntru.Polynomial

      `mod3PhiN, modQPhiN, r2Inv, rqInv, rqMul, rqSumZeroFromBytes, rqSumZeroToBytes, rqToS3, s3FromBytes, s3Inv, s3Mul, s3ToBytes, s3ToBytes, sqMul, trinaryZqToZ3, z3ToZq`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### HPSPolynomial

          public HPSPolynomial(NTRUHPSParameterSet params)

  - ### Method Detail

    - #### sqToBytes

          public byte[] sqToBytes(int len)

      Description copied from class: `Polynomial`
      Pack Sq polynomial as a byte array
      Specified by:
        `sqToBytes` in class `Polynomial`
      Parameters:
        `len` - array length of packed polynomial
      Returns:
      See Also:
        NTRU specification section 1.8.5

    - #### sqFromBytes

          public void sqFromBytes(byte[] a)

      Description copied from class: `Polynomial`
      Unpack a Sq polynomial
      Specified by:
        `sqFromBytes` in class `Polynomial`
      Parameters:
        `a` - byte array of packed polynomial
      See Also:
        NTRU specification section 1.8.6

    - #### lift

          public void lift(Polynomial a)

      Specified by:
        `lift` in class `Polynomial`
      See Also:
        NTRU specification section 1.9.3