Индикаторы ошибок декодирования и дешифрования в SEAL - PullRequest
0 голосов
/ 02 марта 2019

Я знаю, что в SEAL 2.3.1 ошибки декодирования и дешифрования молча завершатся ошибкойТ.е. отсутствуют индикаторы недостаточной шумовой ошибки или обнаружения нарушений параметра plain_modulus, poly_modulus, при попытке декодировать / расшифровать какой-либо результат вычисления.Существуют ли эти индикаторы в какой-либо из более поздних версий, например, в 3.0, 3.1, 3.2, или же некорректное декодирование или дешифрование по-прежнему дает сбой по умолчанию?

1 Ответ

0 голосов
/ 03 марта 2019

С 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 переполнения никогда не могут быть обнаружены в зашифрованном виде.

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