Re: [viff-devel] Bitonic sort
Quoting Martin Geisler [EMAIL PROTECTED]: Martin Geisler [EMAIL PROTECTED] writes: It does 466 comparisons to sort 52 numbers (32-bit) and it takes about 4 minutes both share and sort the numbers on thyra{01,02,03} on DAIMI. In case nobody has noticed, I wanted to see how long it would take to sort 52 numbers since doing so would give me a way to shuffle a deck of cards: assign a random number to each card and sort the random numbers. If there are no collisions in the random numbers you will get back a nicely shuffled deck. I began looking at card shuffling because I want to make a small tutorial for VIFF, something that will explain how to make a program. And for that I figured that some card game would be cool. I don't know which game yet, so let let me know if you have any good idea! Blackjack perhaps? seems simple in that you just draw cards until you win or loose. Can also be played with 3 people, one being the bank - so you don't necessarily need 2-party computing. Poker is also a posibility, but more complex, I guess. regards, Ivan ___ viff-devel mailing list (http://viff.dk/) viff-devel@viff.dk http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk
Re: [viff-devel] Elliptic curves
Quoting Martin Geisler [EMAIL PROTECTED]: Claudio Orlandi [EMAIL PROTECTED] writes: From reading the Wikipedia page linked below it seems very simple to implement. But if it should be fast, then a library is of course much better than a home-grown Python version. A general remark about all this: if we see it in a bigger CACE etc. context it seems to me we should not use lots of energy on integrating some library. WP2 in CACE is supposed to provide this kind of stuff for us, and even with an interface we can influence and with security against side channels. If you find something that's easy to integrate it may be fine to have something to play with, but the next half year, I think time is better spent on integration with WP2. regards, Ivan ___ viff-devel mailing list (http://viff.dk/) viff-devel@viff.dk http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk
Re: [viff-devel] Paillier based two player runtime
Quoting Claudio Orlandi [EMAIL PROTECTED]: Cool -- that sounds like a good opportunity to finally sit down and create a slow-but-simple elliptic curve library for VIFF. I suggest you to use some library instead. Some of the algorithms are quite involved... I'm sure you can find C/C++ good stuff out there, and as far as I understood, you can embed them into Python right? There is a list here http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography but I have no clue about what is good and what is not. A good person to ask is Michael (Østergaard, email [EMAIL PROTECTED]) I think he worked with some of these libraries.. regards, Ivan ___ viff-devel mailing list (http://viff.dk/) viff-devel@viff.dk http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk
Re: [viff-devel] viff: Switch to prss_share_bit_double in comparisons.
Quoting Martin Geisler [EMAIL PROTECTED]: .. but this makes viff.test.test_runtime_comp.ActiveToft05GreaterThanEqualTest go into what looks like a never-ending loop?! You you have a better solution, then I'm all ears! :-) What is wrong with just doing a single normal secure multiplication, and then open the result? If we want to optimize, we have to have a way to PRSS-create a random degree 2t polynomial that is 0 in 0. This is close to what we discussed at the meeting today. Given that, we first make a random shared a, and a random degree 2t polynomial g, with g(0)=0. Then locally square your share in a, add to your share in g and broadcast. This will securely compute a^2, with passive security if t n/2. If you want active security, it's more complicated, and it may be easier as a first step to just call a normal multiplication to get a^2. Then you get whatever security that multiplication offers. regards, Ivan regards, Ivan ___ viff-devel mailing list (http://viff.dk/) viff-devel@viff.dk http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk