I was read in paper in searchable encryption that encrypt bloom filter index in the following way:

1- generate secret key to encrypt bloom filter and query is:

the secret key sk (M1, M2, s ), where M1, M2 ∊ Rm×m are invertible matrices and s∊{0,1}m is a vector.

2- then encrypt bloom filter as following: split bloom filter i into two vector i',i"

, set i=i'=i" if s is one; else i'=1/2 i+ r and i"=1/2i-r , as r is a random number. Then encrypt i',i" with transpose of two matrix M1 and M2 .

secondly, encrypt query in the following way:

1-split query bloom filter into two vectors q',q"

set q=q'=q" if s is zero; else q'=1/2 i+ r and q"=1/2i-r , as r is a random number. Then encrypt q',q" with inverse of two matrix M1 and M2 .

what i want to ask why multiply bloom filter index by transpose of matrix and query by inverse of matrix and the way used to split vectors?

More Amal Hashim's questions See All
Similar questions and discussions