<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 2, 2019, 11:54 AM Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu">shijunxiao@email.arizona.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear folks<div><br></div><div><div><a href="https://named-data.net/doc/NDN-packet-spec/current/signature.html#signaturesha256withrsa" target="_blank" rel="noreferrer">https://named-data.net/doc/NDN-packet-spec/current/signature.html#signaturesha256withrsa</a> sayL<br></div><div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>SignatureSha256WithRsa is the basic signature algorithm that MUST be supported by any NDN-compliant software.</div><div>It defines an RSA public key signature that is calculated over SHA256 hash of the Name, MetaInfo, Content, and SignatureInfo TLVs.</div></blockquote><div><br></div><div>Looking over <a href="https://diafygi.github.io/webcrypto-examples/" target="_blank" rel="noreferrer">WebCrypto</a>, there are two variants of RSA suitable for signing:</div><div><ul><li>RSASSA-PKCS1-v1_5<br></li><li>RSA-PSS<br></li></ul></div><div>Which RSA variant is being defined by SignatureSha256WithRsa?</div><div>(yes, I could try each with existing implementations, but the protocol is supposed to define everything unambiguously)<br></div><div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">If I remember correctly, it's the former.</div><div dir="auto"><br></div><div dir="auto"><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><br></div><div><br></div><div>Then, <a href="https://diafygi.github.io/webcrypto-examples/" target="_blank" rel="noreferrer">WebCryptoAPI Live Table</a> discourages new applications from using either variant of RSA, and recommends using ECDSA and HMAC.</div><div>Also, the <a href="https://named-data.net/ndnsec/ndn-testbed-root-v2.ndncert.txt" target="_blank" rel="noreferrer">testbed root key</a> is SignatureSha256WithEcdsa since Dec 2017.</div><div>I think it's time to amend this statement:</div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>SignatureSha256WithRsa MUST be supported by any NDN-compliant software.</div></blockquote><div><br></div><div>My suggestion is:</div><div><ul><li>SignatureSha256WithEcdsa with P-256 curve is required.<br></li><li>Other ECDSA curves are optional.</li><li>Other signing algorithms such as 

SignatureSha256WithRsa are optional.</li></ul></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I agree.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><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><br></div><div>Yours, Junxiao</div></div>
_______________________________________________<br>
Ndn-interest mailing list<br>
<a href="mailto:Ndn-interest@lists.cs.ucla.edu" target="_blank" rel="noreferrer">Ndn-interest@lists.cs.ucla.edu</a><br>
<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest" rel="noreferrer noreferrer" target="_blank">http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest</a><br>
</blockquote></div></div></div>