core/src/main/java/org/bouncycastle/pqc/crypto/qtesla/Polynomial.java
/***********************************************************************************************************************************************
     * Description:	Polynomial Number Theoretic Transform for Provably-Secure qTESLA Security Category-1 and Category-3
     *
     * @param        arrayNumberTheoreticTransform        Transformed Array
     * @param        array                                Array to be Transformed
     * @param        n                                    Polynomial Degree
     *
     * @return none
     ***********************************************************************************************************************************************/
Polynomial Number Theoretic Transform for Provably-Secure qTESLA Security Category-1 and Category-3
@param        arrayNumberTheoreticTransform        Transformed Array
@param        array                                Array to be Transformed
@param        n                                    Polynomial Degree

@return none
Polynomial Number Theoretic Transform for Provably - Secure qTESLA Security Category - 1 and Category - 3 @param arrayNumberTheoreticTransform Transformed Array @param array Array to be Transformed @param n Polynomial Degree @return none
public static void polynomialNumberTheoreticTransform(long[] arrayNumberTheoreticTransform, long[] array, int n)
    {
        for (int i = 0; i < n; i++)
        {
            arrayNumberTheoreticTransform[i] = array[i];
        }
        if (n == Parameter.N_I_P)
        {
            numberTheoreticTransform(arrayNumberTheoreticTransform, PolynomialProvablySecure.ZETA_I_P, n, Parameter.Q_I_P, Parameter.Q_INVERSE_I_P);
        }
        if (n == Parameter.N_III_P)
        {
            numberTheoreticTransform(arrayNumberTheoreticTransform, PolynomialProvablySecure.ZETA_III_P);
        }
    }
public static void polynomialNumberTheoreticTransform ( long [ ] arrayNumberTheoreticTransform , long [ ] array , int n ) { for ( int i = 0 ; i < n ; i ++ ) { arrayNumberTheoreticTransform [ i ] = array [ i ] ; } if ( n == Parameter . N_I_P ) { numberTheoreticTransform ( arrayNumberTheoreticTransform , PolynomialProvablySecure . ZETA_I_P , n , Parameter . Q_I_P , Parameter . Q_INVERSE_I_P ) ; } if ( n == Parameter . N_III_P ) { numberTheoreticTransform ( arrayNumberTheoreticTransform , PolynomialProvablySecure . ZETA_III_P ) ; } }
Description:     Polynomial Number Theoretic Transform for Provably-Secure qTESLA Security Category-1 and Category-3
 @param        arrayNumberTheoreticTransform        Transformed Array
 @param        array                                Array to be Transformed
 @param        n                                    Polynomial Degree
Description : Polynomial Number Theoretic Transform for Provably - Secure qTESLA Security Category - 1 and Category - 3 @param arrayNumberTheoreticTransform Transformed Array @param array Array to be Transformed @param n Polynomial Degree