Yes, as you said the best published algorithm is from ICITS07, but that has still to be implemented in some program.

A correction to my previous statements: The 5*l multiplication-solution is for restricted inputs [a < b], where [a], [b] < p/2, so for arbitrary elements in the field you have to triple that to 15*l multiplications. The restriction of p = 2^l - 1 and psaudorandom secret sharing, reduces the work of finding random bitwise shared values in the field to 1 l multiplications, if this restriction is lifted we are looking at 4 l for each (of the two) random bitwise shared values. So that means 11 l for the restricted case and 33 l for the general case.

The number of rounds will also increase to 6 if you do not use psaudorandom values. The number of rounds can grow to 8 for the comparison with no restrictions, if you do not allow for preprocessing of the final multiplications.

If I remember correctly the code deviates from the constant round solution in that for primes where the two highest order bits are '10' it tests separately for the first two bits. This increases the possible number of rounds, but it decreases the failure rate.

Tord

Tomas Toft wrote:
Hi all


Tord Ingolf Reistad wrote:
As you are discussing implementing the algorithm from ICITS07, I have improved on that to get a very effective algorithm. For p = 2^l - 1 and using psaudorandom secret sharing. The comparison can be done in 5 rounds and 5l multiplications. The algorithm has never been published, but attached is a java implementation of the algorithm. (There might be an error in the faun in algorithm as that is not tested).

As I said, the best, *published* algorithm I know is from ICITS07. :-)

Btw, does the 5*l multiplications-solution allow arbitrary input from the field or only (l-1)-bit? If it's full-field then I *really* need to see it.

Unfortunately I do not have a phyton implementation of it, as I am bad at programming in phyton, on the other hand I am working on a java implementation of MPC, which should be ready in a month. If anyone else want to try to implement it in phyton I will be more than happy to help.

To understand the code please start with the function
public Share comparisonRestricted(Share a, Share b)
and please observe that many small functions on the top are just returning values instead of shares, this is for test purposes.

I'll take a look at it and perhaps try a python port if time permits.

Regards,
  Tomas

_______________________________________________
viff-devel mailing list (http://viff.dk/)
[email protected]
http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk

Reply via email to