<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">It is general goodness if generality for crypto use cases somehow falls out of the design. &nbsp;However, the design for general use shouldn’t suffer because of that goal.<div class=""><br class=""></div><div class="">-Chris</div><div class=""><br class=""><div class=""><br class=""></div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 6, 2017, at 3:47 PM, Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" class="">xiaodi.wu@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class="">So, my read of the decision is that when the core teams says the API should be designed “without worrying about the needs of crypto experts,” they mean exactly that we should stop worrying about how easy or hard it is to extend for those users.<br class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Wed, Dec 6, 2017 at 18:34 Jacob Williams via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I agree with this decision, but I would also add the provision that the random number API be designed in such a way that those with special crypto needs can easily extend the existing random number framework to meet their needs. (Specify their own seed, use their own crypto implementation, etc).<br class="">
<br class="">
I’m sure this is already being considered having read most of the Random Unification email chain, but just thought I’d make sure it was specifically mentioned. I’d hate to leave a group of coders out in the dark (no matter how small that group may be).<br class="">
<br class="">
&gt; On Dec 6, 2017, at 4:16 PM, Chris Lattner via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>&gt; wrote:<br class="">
&gt;<br class="">
&gt; Hi All,<br class="">
&gt;<br class="">
&gt; FYI, the Core Team had a brief discussion about the direction of the random number API design being discussed.<br class="">
&gt;<br class="">
&gt; The strong opinion of the core team is that such an API should *not* be designed with an attempt to service people writing crypto code.&nbsp; Such clients will have requirements that are difficult to predict or that are hard to provide in general (e.g. “must run in constant time”).&nbsp; These clients are also relatively few, compared the community of people who benefit from a good "general use" random number API.<br class="">
&gt;<br class="">
&gt; As such, the core team strongly encourages the random number API design process to focus on building the best possible "general use" API, without worrying about the needs of crypto experts.<br class="">
&gt;<br class="">
&gt; Beyond that, the core team did not discuss what the exact shape of the API should look like: it believes the community should continue hashing it out.&nbsp; We just wanted to remove one big constraint from that design process.<br class="">
&gt;<br class="">
&gt; Thanks,<br class="">
&gt;<br class="">
&gt; -Chris &amp; Swift Core Team<br class="">
&gt;<br class="">
&gt;<br class="">
&gt; _______________________________________________<br class="">
&gt; swift-evolution mailing list<br class="">
&gt; <a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a><br class="">
&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="">
<br class="">
_______________________________________________<br class="">
swift-evolution mailing list<br class="">
<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="">
</blockquote></div>
</div></blockquote></div><br class=""></div></div></body></html>