我正在使用 C++ 和 ntl 库进行编程,但是当 galois 字段$GF(2^q)$
具有q>= 8
.
我将如何在不使用并行编程的情况下加速此代码。
void modKeyGenPrs(list<mat_GF2E>& Prs, list<mat_GF2E> Lst, mat_GF2E L1, mat_GF2E L2)
{
mat_GF2E L1_trans = transpose(L1);
for (int i=0; i<m; i++)
{
mat_GF2E sum;
sum.SetDims(n, n);
list<mat_GF2E>::const_iterator i_lst;
int j=0;
for( i_lst = Lst.begin(); i_lst != Lst.end(); i_lst++)
{
sum = sum + (L2[i][j]*(L1_trans*(*i_lst)*L1));
j = j + 1;
}
Prs.push_back(sum);
}
}