Я пишу следующий код, используя библиотеку Crypto ++ для криптографии на эллиптических кривых. Моя тестовая программа выдает ошибку проверки утверждения, когда я присваиваю значение переменным loop1 и loop2 более 7 или 8, иначе она работает нормально. Ошибка возникает внутри оператора if, где Z [i] [j] присваивается значение.
Кроме того, когда я выполняю код без присвоения Z [i] [j] в операторе if, он выполняется нормально,Я не могу понять, почему я сталкиваюсь с этой ошибкой. Может кто-нибудь помочь в этом вопросе?
ECP::Point Z[loop1][loop2];
for (int i = 0; i < loop1; i++)
{
for (int j = 0; j < loop2; j++)
{
if (r[i][j] < 0)
{
Pr = r[i][j] + v[i][j];
Z[i][j] = group.GetCurve().ScalarMultiply(ng, -Pr);
}
else
{
Z[i][j] = group.GetCurve().ScalarMultiply(g, r[i][j] + v[i][j]);
}
}
}