Bob and Alice each have a bit string they want to keep private. They each want to know what the logical AND of their two bit strings would be without telling the other or anyone else their actual bit strings… how can they do this? Keep in mind that even once they both hold the AND of their two bit strings, they should still not be able to calculate the other person’s string exactly (unless of course one of their strings was all 1s).
I know that I have seen something similar before in some sort of key system/voting system but I couldn’t remember the details. It has to be something like make a private random key, xor it and use that somehow… but I couldn’t work out the details. Any clever encryption people out there?
I think that you are looking for homomorphic encryption systems, in which it’s possible to do computation on encrypted values without ever exposing what those encrypted values are. This encompasses a far more general set of problems than simply computing bitwise AND.
Hope this helps!