kronecker_substitution.hpp File Reference
#include <vector>
#include <algorithm>
#include <cmath>
#include <boost/math/tools/polynomial.hpp>
+ Include dependency graph for kronecker_substitution.hpp:

Go to the source code of this file.

Namespaces

 nil
 
 nil::crypto3
 
 nil::crypto3::math
 
 nil::crypto3::math::polynomial
 

Functions

template<typename FieldType >
void nil::crypto3::math::polynomial::kronecker_substitution (std::vector< typename FieldType::value_type > &v3, const std::vector< typename FieldType::value_type > &v1, const std::vector< typename FieldType::value_type > &v2)
 Given two polynomial vectors, A and B, the function performs polynomial multiplication and returns the resulting polynomial vector. The implementation makes use of [Harvey 07, Multipoint Kronecker Substitution, Section 2.1] and [Gathen and Gerhard, Modern Computer Algebra 3rd Ed., Section 8.4]. More...
 
template<typename FieldType >
void nil::crypto3::math::polynomial::multiplication_on_kronecker (std::vector< typename FieldType::value_type > &c, const std::vector< typename FieldType::value_type > &a, const std::vector< typename FieldType::value_type > &b)