<div dir="ltr">On Wed, May 8, 2013 at 7:33 PM, Rui Ueyama <span dir="ltr"><<a href="mailto:ruiu@google.com" target="_blank" class="cremed">ruiu@google.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="im">On Wed, May 8, 2013 at 10:29 AM, Shankar Easwaran <span dir="ltr"><<a href="mailto:shankare@codeaurora.org" target="_blank" class="cremed">shankare@codeaurora.org</a>></span> wrote:<br>
</div><div class="gmail_extra"><div class="gmail_quote"><div class="im">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On 5/8/2013 11:35 AM, Chandler Carruth wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Interestingly newer, supposedly "more secure" digest algorithms are also very often significantly faster. I don't think we want any of the ones mentioned here, I think we want one of the candidates is the SHA3 competition which had truly stellar software implementation throughput. I'm hoping to add support for such a digest algorithm to LLVM soon, as there are many folks who want to consume this information: modules, merge function pass, debug info, and the linker. <br>



</blockquote></div>
Nice, Is it performant in size as well as speed too ?. Because lld would need to store this information for every atom thats mergeable.<br></blockquote><div><br></div></div><div>How about using only the first 80 (or 96 or 128) bits of the digest? </div>
</div></div></div></blockquote><div><br></div><div style>This is exactly the right pattern (although the chunk size is usually 32, 64, 128, 256, 512). You trade off collision resistance against space. I think for atoms, you want to burn space in order to *not* compare them at all. I would suggest storing 256 bits at least.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im">

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
What are the SHA-3 variants that you think would suite these needs ?</blockquote></div></div></div></div></blockquote><div><br></div><div style>I want to look at the implementation complexity. The winner (and the official SHA3 algorithm), BMW and Skein are all worth looking at.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div><br>
<br>
Thanks<br>
<br>
Shankar Easwaran<br>
<br>
-- <br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation<br>
<br>
</div></div></blockquote></div></div><br></div></div>
</blockquote></div><br></div></div>