Итак, я работаю над базовой программой расшифровки RSA, и я пытаюсь понять, как преобразовать строку и ZZ. Я рассмотрел следующий вопрос: How can i convert a string into a ZZ number?, однако, я немного смущен, и ответ там не сработал для меня. Мой код:Преобразование NTL в ZZ и ZZ в String
fromBase()
{
string message = "hello world";
ZZ number (INIT_VAL, message.c_str());
cerr << number;
}
Дает мне следующий выход.
bad ZZ input
Aborted
Итак, я подумал, не большая проблема, я не буду просто пытаться найти то, что INIT_VAL должно быть, и это должно дать мне представление о том, где искать. Но не было такой удачи, я не мог найти ничего похожего на это. Я trued его INIT_VAL_STRUCT, а также, и получил следующее сообщение об ошибке:
base.cpp: In function âNTL::ZZ fromBase(std::string)â:
base.cpp:24: error: âmessageâ is not a type
base.cpp:24: error: expected â,â or â...â before â.â token
Наконец, я попробовал решение разместил здесь: Regarding create a NTL class type думая, что я мог бы попробовать некоторый тип отливку. Вот мой код:
ZZ fromBase(string message)
{
ZZ x;
x = conv<ZZ>(message);
return x;
}
Это дало мне следующее:
g++ base.cpp -lntl
base.cpp: In function âNTL::ZZ fromBase(std::string)â:
base.cpp:19: error: expected primary-expression before â>â token
Как будто я не указал тип.
В заключение я знаю, что INIT_VAL является константой, но, похоже, что-то не работает. Я чувствую, что у меня только что отключилось, но найти его непросто. Любая помощь будет оценена, и любые ссылки на NTL будут очень признательны. Извините, за длинную статью!
(Кроме того, NTL является довольно плохо документированы, от того, что я видел, у вас есть какие-либо сайты, которые могут помочь новичку в библиотеку?)