Простая зашифрованная арифметическая библиотека (SEAL), как сохранить зашифрованный текст в файл - PullRequest
0 голосов
/ 19 сентября 2018

Я использую библиотеку SEAL в C ++.Я хотел бы сохранить зашифрованный текст в файл.Я думал о том, чтобы преобразовать его в строковый тип и сохранить его.Я хочу иметь файл со всеми зашифрованными текстами и при необходимости загрузить файл в память, чтобы использовать их снова.Мне также придется сохранить ключи шифрования и дешифрования, чтобы потом можно было расшифровывать результаты.

Кто-нибудь использовал эту библиотеку криптографии и знает, как сохранить сгенерированные шифртексты в файл?Я только учусь использовать эту библиотеку, и я новичок в C ++, поэтому я борюсь с этим.

Спасибо!

1 Ответ

0 голосов
/ 17 августа 2019

Так я и делаю.

Для обеих операций я использую API, предоставляемый следующим образом:

void saveCiphertext(Ciphertext encrypted, string filename){
  ofstream ct;
  ct.open(filename, ios::binary);
  encrypted.save(ct);
};

Для повторной загрузки у вас есть два способа:


/* 
  If you can't / don't want / don't need to verify the encryption parameters
*/
Ciphertext unsafe_loadCiphertext(string filename){

  ifstream ct;
  ct.open(filename, ios::binary);
  Ciphertext result;
  result.unsafe_load(context);

  return result;
};

// Verifying encryption parameters
Ciphertext loadCiphertext(string filename, EncryptionParameters parms){

  auto context = SEALContext::Create(parms);

  ifstream ct;
  ct.open(filename, ios::binary);
  Ciphertext result;
  result.load(context, ct);

  return result;
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...