homenc / HElib

HElib is an open-source software library that implements homomorphic encryption. It supports the BGV scheme with bootstrapping and the Approximate Number CKKS scheme. HElib also includes optimizations for efficient homomorphic evaluation, focusing on effective use of ciphertext packing techniques and on the Gentry-Halevi-Smart optimizations.
https://homenc.github.io/HElib
Other
3.11k stars 760 forks source link

How to to shift plaintxt just in each slot,not between slot? #371

Closed WeiBenqiang closed 3 years ago

WeiBenqiang commented 3 years ago

Namely,Just as in "Homomorphic Evaluation of the AES Circuit",the element in slot is in F{2^8}.For example,the byte is"6f",which is "0110 1111",Now what I want is left shift 2 in this slot,in another word, just want to get the ciphertxt of "10 1111 00".How to achieve this result? If just multiply "100",which is X^2,only works when the first two bits are all "0",but when the first two bits are"01"、"10"、"11“ ,it will modulu G(X) = x8 + x4 + x3 + x + 1,So I cannot get "10 1111 00".Above all,what shoult I do to shift left two bits no matter what the fisrt two bits are? Any idea or advice?THX