/// <summary> /// Decodes a polynomial encoded with ToBinary() /// </summary> /// /// <param name="InputStrem">An input stream containing an encoded polynomial</param> /// <param name="N">Number of coefficients in the polynomial</param> /// /// <returns>The decoded polynomial</returns> public static ProductFormPolynomial FromBinary(MemoryStream InputStrem, int N) { SparseTernaryPolynomial f1; try { f1 = SparseTernaryPolynomial.FromBinary(InputStrem, N); SparseTernaryPolynomial f2 = SparseTernaryPolynomial.FromBinary(InputStrem, N); SparseTernaryPolynomial f3 = SparseTernaryPolynomial.FromBinary(InputStrem, N); return(new ProductFormPolynomial(f1, f2, f3)); } catch (IOException ex) { throw new CryptoAsymmetricException("ProductFormPolynomial:FromBinary", ex.Message, ex); } }