<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 21/10/2009, at 20.28, Marcel Keller wrote:</div><blockquote type="cite"><div>Martin Geisler wrote:<br><blockquote type="cite">Janus Dam Nielsen &lt;<a href="mailto:janus.nielsen@alexandra.dk">janus.nielsen@alexandra.dk</a>&gt; writes:<br></blockquote><blockquote type="cite"><blockquote type="cite">Hi Marcel,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">I am not opposed to your suggestion. However I would like to point out<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">that in VIFF you compute on shares and not field elements!<br></blockquote></blockquote><blockquote type="cite">Well, we've actually made the outer runtime interfaces in such a way<br></blockquote><blockquote type="cite">that add, mul, xor, etc... accept both integers, FieldElements and<br></blockquote><blockquote type="cite">Shares. The methods then wrap their input as needed -- or they *dont*<br></blockquote><blockquote type="cite">wrap it if that leads to a short cut (e.g., constant multiplication)<br></blockquote><br>I agree (see also my answer).<br></div></blockquote><div>I would still like to stress that Shares are the basic values in VIFF. The interface is then designed in such a way, so that we can do various optimizations, but computing on field elements (a particular representation of a share) is an optimization, which I am very happy that the interface allows us to do. But it is still an optimization.&nbsp;</div><br><blockquote type="cite"><div><blockquote type="cite"><blockquote type="cite">Computing directly on the field elements is hacking the abstractions<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">of VIFF. Computation on field elements or rather the representation of<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">a Share can be useful as an optimization, however this optimization<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">should be confined within applications or runtimes, and should not<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">progress over interface boundaries as I fear you are suggesting.<br></blockquote></blockquote><blockquote type="cite">I think we are in agreement: public methods on the runtimes will keep<br></blockquote><blockquote type="cite">returning Shares. Methods used internally in runtimes can return other<br></blockquote><blockquote type="cite">things as needed. To me it sounds like a better API to require<br></blockquote><blockquote type="cite">preprocessing functions to return a list of Deferreds:<br></blockquote><blockquote type="cite"> &nbsp;[D(?), D(?), ...],<br></blockquote><blockquote type="cite">instead of a Deferred list of tuples containing Deferreds :-)<br></blockquote><blockquote type="cite">I think it will simplify the interface nicely, at least for consumers.<br></blockquote><blockquote type="cite">Using simpler types also leads to less memory usage which has a positive<br></blockquote><blockquote type="cite">effect on performance, as Marcel notes. So let's go for it.<br></blockquote><br>So this makes 2 votes in favour of it and 1 against it. Maybe we should have a meeting to discuss it. What do you think?<br></div></blockquote>I can agree on this as well, as long as we don't make field elements canonical.</div><br><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Nuri; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7px; line-height: normal; "><font class="Apple-style-span" face="Arial" size="2"><b><font class="Apple-style-span" color="#f05a23">____________________________________________________</font></b></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Nuri; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7px; line-height: normal; "><font class="Apple-style-span" face="Arial"><b><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#f05a23"><br></font></font></b></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Nuri; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7px; line-height: normal; "><font class="Apple-style-span" face="Arial"><b><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#f05a23">Janus Dam Nielsen</font></font></b></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Nuri; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7px; line-height: normal; min-height: 8px; "><font class="Apple-style-span" face="Arial"><b><font class="Apple-style-span" size="2"><br></font></b></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Nuri; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7px; line-height: normal; "><span class="Apple-style-span" style="font-family: Arial; font-size: 10px; font-weight: bold; "><font class="Apple-style-span" color="#5a5a5a">Research and Innovationspecialist, PhD.</font></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Nuri; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7px; line-height: normal; "><font class="Apple-style-span" face="Arial"><span class="Apple-style-span" style="font-family: Helvetica; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Nuri; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7px; line-height: normal; "><font class="Apple-style-span" face="Arial"><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#5a5a5a">CENTRE FOR IT-SECURITY</font></font></font></div></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Nuri; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7px; line-height: normal; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#5a5a5a"><br></font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Nuri; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7px; line-height: normal; "><span class="Apple-style-span" style="font-family: Helvetica; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#5a5a5a">THE ALEXANDRA INSTITUTE LTD.</font></font><span class="Apple-tab-span" style="white-space: pre; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#5a5a5a"> </font></font></span></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Nuri; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7px; line-height: normal; min-height: 8px; "><font class="Apple-style-span" face="Arial"><span class="Apple-style-span" style="font-family: Helvetica; "><div><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#5a5a5a"><br></font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Nuri; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7px; line-height: normal; "><span style="letter-spacing: 0.1px; "><font class="Apple-style-span" face="Arial"><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#5a5a5a">T</font></font></font><span class="Apple-tab-span" style="white-space: pre; "><font class="Apple-style-span" face="Arial"><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#5a5a5a"> </font></font></font></span><font class="Apple-style-span" face="Arial"><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#5a5a5a">+45 42 22 93 56</font></font></font></span></div><div><font class="Apple-style-span" color="#5A5A5A" face="Arial" size="2"><span class="Apple-style-span" style="font-size: 10px; ">E<span class="Apple-converted-space">&nbsp;</span><span class="Apple-style-span" style="color: rgb(240, 90, 35); "><a href="mailto:janus.nielsen@alexandra.dk">janus.nielsen@alexandra.dk</a></span></span></font></div><div><span class="Apple-style-span" style="color: rgb(213, 61, 33); font-family: Arial; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#5a5a5a">W</font></font><span class="Apple-tab-span" style="white-space: pre; "><font class="Apple-style-span" size="2"> </font></span><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#f05a23">alexandra.dk</font></font></span></div></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Nuri; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7px; line-height: normal; "><span class="Apple-style-span" style="font-family: Arial; font-weight: bold; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" color="#f05a23">____________________________________________________</font></font></span></div></div></div></span></div></span></div></span></div></span></div></span></div></span></div></span></div></span></div></span> </div><br></body></html>