1. 18
  1. 2

    Absolutely fantastic. I’ve been doing research on practical homomorphic encryption libraries and it’s nice to add another to my list.

    I had some questions but I’m not an expert so hopefully they aren’t too basic.

    We needed an architecture-agnostic cryptographic hash procedure with a monoid homomorphism respecting string concatenation, written in a low-level language.

    1. May I ask why the above is a requirement?

    2. What benefit does this library have over Facebook’s Folly LtHash library? Not being tied to the rest of the folly library seems like a big enough plus to me but I would think there’d be more.

    3. Is there any possibility of doing arbitrary or even a restricted set of arithmetic over the encrypted hashes based on Cayley hash functions?

    4. Do you know of any homomorphic libraries that keep the circuits/calculations private? I was looking into garbled circuits which led me to multiparty computation but it seems that in order for that to work it requires all parties to be online at the same time whereas your library, SEAL and LtHash do not have that requirement.

    Cool project even if you don’t answer anything.

    1. 2

      re 1: The project I’m working on is designed to run in the browser via webassembly, so we can’t rely on fancy instruction sets.

      re 2: IIUC LtHash is homomorphic with respect to set union, rather than string concatenation. You might be able to find an additional homomorphism for treating string concatenation as set union, but that seems at least a little tricky.

      re 3: I don’t really know, though my guess is that it’s hard.

      re 4: I also don’t know about this, sorry!