ОШИБКА: СБОЙ СБОРА при использовании функции Crypto ++ - PullRequest
0 голосов
/ 22 октября 2019

Я пишу следующий код, используя библиотеку 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]);
        }
    }
}
...