С SEAL 2.3.1 нет существенных изменений, за исключением того, что с SEAL 3.0 наличие схемы CKKS усложняет ответ.
Расшифровка. SEAL 3.2.0 не делаетуказать, что бюджет шума равен нулю.Вы должны будете проверить это отдельно для схемы BFV;Схема CKKS не имеет подобной чистой концепции шума.Кроме того, немного вводит в заблуждение утверждение о том, что дешифрование завершается неудачей : дешифрование всегда завершается успешно и дает некоторый выходной сигнал открытого текста, но пара шифрованный текст-открытый текст может иметь максимальный шум (для BFV).Пользователь может захотеть реализовать функцию, которая сначала проверяет уровень шума, а затем расшифровывает, но это имеет некоторые эксплуатационные затраты и, вероятно, не имеет смысла делать это автоматически с помощью SEAL.
Декодирование. При использовании схемы CKKS SEAL 3.2.0 будет выдавать ошибки декодирования (при использовании CKKSEncoder
), например, когда заданный им открытый текст имеет слишком большой масштаб.Такой открытый текст не должен быть возможным для правильного использования Evaluator
/ Decryptor
.Декодирование CKKS будет неправильным, если масштаб и сообщение настолько велики, что их продукт охватывает coeff_modulus
, но Evaluator
не может обнаружить это, и ни один не имеет CKKSEncoder
.Для BFV IntegerEncoder
может обнаруживать ошибки переполнения декодирования и генерирует в этих случаях (как в SEAL 2.3.1), но для BatchEncoder
нет неправильных декодирований, поэтому такая вещь вообще не может быть обнаружена.Обратите внимание, что plain_modulus
переполнения никогда не могут быть обнаружены в зашифрованном виде.