Re:IBM completes successful field trials on Fully Homomorphi...
by skissane on Saturday August 01, 2020 @05:29AM
(#24019060)
> Complex conditional logic for example is a non-starter because every branch has to be evaluated
Is overcoming this limitation of FHE anywhere on the horizon?
Re:IBM completes successful field trials on Fully Homomorphi...
by dodobirdlord on Saturday August 01, 2020 @06:10AM
(#24019269)
No, it's pretty fundamental. If the executor were able to know which side of the branch to execute it would mean the executor knows the value of the conditional.
Re:IBM completes successful field trials on Fully Homomorphi...
by skissane on Saturday August 01, 2020 @06:42AM
(#24019396)
So [1] claims "A variant of fully homomorphic encryption scheme for Turing machines, where one can evaluate a Turing machine M on an encrypted input x in time that is dependent on the running time of M on input x as opposed to the worst-case runtime of M".
I admit understanding this paper is a bit beyond me. But, does their construction evaluate Turing machine conditionals by evaluating both branches? If it did, how could the running time be "dependent on the running time of M on input x as opposed to the worst-case runtime of M"? It seems to me that having to evaluate every branch irrespective of the input would result in the running-time always being M's worst case, not varying runtime depending on the input.
Re:IBM completes successful field trials on Fully Homomorphi...
by dodobirdlord on Monday August 03, 2020 @03:15AM
(#24034955)
I think this is a different approach to FHE that concedes to timing based side channels to get this speedup.
Re:IBM completes successful field trials on Fully Homomorphi...
by dlubarov on Saturday August 01, 2020 @06:18AM
(#24019289)
I don't think there's much that can be done, except trying to identify any circuitry shared among branches and moving it out. Like if we have "if (cond) { hash(x) } else { hash(y) }", we can move the hash circuit outside of the conditional.
There are some circuit compilers that try to do optimizations like that automatically, like xJsnark, though it's not meant for FHE.
Yes, FHE is not (currently) good at general-purpose computing. Complex conditional logic for example is a non-starter because every branch has to be evaluated. But tensor multiplication is well supported with existing FHE schemes, and many kinds of machine learning tasks consist of non-conditional tensor multiplications.