Сравните два зашифрованных текста, используя печать MS?
Подскажите, пожалуйста, как сравнить два зашифрованных текста с помощью библиотеки SEAL?
У меня есть два зашифрованных текста, C1 и C2, которые были закодированы с использованием дробного кодера, а затем зашифрованы.
Есть ли способ сравнить C1 и C2 на равенство? (C1 == C2, который возвращает логическое значение).
Я проверил файл ciphertext.h и не смог найти подпрограммы сравнения.
Что-то подсказывает мне, что я могу сравнить два зашифрованных текста, кодируя их с помощью BinaryEncoder и сравнивая побитно.
Как я могу реализовать это?
1 ответ
Есть несколько вариантов. Во-первых, вы можете по-настоящему зашифровать свое сообщение и написать схему сравнения; это может быть очень неэффективно как с точки зрения времени выполнения, так и с точки зрения расширения сообщений. Это функциональность более высокого уровня, поэтому она не реализована как часть SEAL.
Другой возможный подход - зашифровать ваши числа как обычно и вычислить их разницу гомоморфно. Результатом будет либо 0 (совпадение), либо ненулевое (не совпадение). Это может быть не полезно для ваших нужд. В этом случае вы также можете использовать пакетную обработку, чтобы в амортизированной настройке вы могли получить хорошее расширение и производительность сообщений.
Вы также немного смущены BinaryEncoder; это не делает ничего похожего на побитовое кодирование, если это то, что вы ищете. Вы должны взглянуть на руководство по SEAL на http://sealcrypto.org/ и прочитать раздел о кодировщиках.