SEAL icon indicating copy to clipboard operation
SEAL copied to clipboard

Support large plaintext space t^d by setting the degree of extension field d when batching?

Open MingliWu opened this issue 4 years ago • 1 comments

CHLR'18 said one could use the general SIMD encoding method for batching to support large plaintext operations from t to t^d by using SEAL. The statement in this paper is "for a tunable parameter d, we can operate on vectors of length n/d, where each entry can take t^d different values". The general SIMD encoding method is very useful. However, it seems that SEAL currently can only support d=1 (by default) when do batching. Is there any plan to support this?

[CHLR'18]: Chen H, Huang Z, Laine K, et al. Labeled PSI from fully homomorphic encryption with malicious security[C]//Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. 2018: 1223-1237.

MingliWu avatar Apr 26 '21 03:04 MingliWu

The SIMD encoding used in paper was implemented outside SEAL, likely using FLINT as I recall. We do have a long-term plan to implement that in SEAL from scratch without dependency on a heavy library. The difficulty is how to design ciphertext/plaintext validation in Evaluator methods, for example, when multiplying ciphertexts using different encoding methods SEAL should throw an error. I'd keep this issue open until we have that implemented.

WeiDaiWD avatar Apr 28 '21 07:04 WeiDaiWD