В раме самодельного ECDHE
приложение, и клиент, и сервер должны отправить случайно сгенерированные числа (rng), чтобы позже построить MasterSecret
во время рукопожатия (как TLS) …
С крипто ++, эти числа легко создать благодаря:
AutoSeededRandomPool rng;
Моя проблема 1) экспортировать их в строку или эквивалент, и 2) загрузить их из строки
Я должен поместить эти цифры в рамку, и ни Определение класса, ни Примеры точно это.
В Интернете я не смог найти примеры сохранения / загрузки (например, для RSA::PublicKeys
).
Видимо, я первый, кто хочет этого, так как их Примеры сгенерировать клиент и сервер в той же программе, и, следовательно, не нужно передавать числа.
И, как часть этого рукопожатия, я также пытаюсь сделать то же самое с curveID …
Этот вопрос был недоразумением с моей стороны, поэтому я объясню его, если у кого-то будут такие же допросы. Это в значительной степени вдохновлено crypto ++ wiki…
Есть 2 разных объекта:
AutoSeededRandomPool prng;
prng.GenerateBlock( scratch, scratch.size() );
AutoSeededRandomPool prng;
генератор случайных чисел (который будет автоматически засеян)
prng.GenerateBlock
это команда, которая будет извлекать биты из этого случайного числа, чтобы построить std::string scratch
желаемой длины.
И поскольку скретч — это строка, мы можем делать с ней все, что захотим, использовать ее где угодно … Поэтому, пожалуйста, обратитесь к строка импорт Экспорт.