<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"><head><!--[if gte mso 9]><xml><o:OfficeDocumentSettings><o:AllowPNG/><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]--></head><body><div class="ydp57a2ddbfyahoo-style-wrap" style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif; font-size: 13px;"><div><div dir="ltr" data-setdir="false">Hello,</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">I've done some research of other peoples opinions and that's the best I can do. Please advise SVP.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">I want to us ECDSA for my Web server's SSL certificate via an ACME client to Let's Encrypt and maybe later BuyPass.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">I thought that EC is better than RSA, but now I don't think so. The answer seems to be: it depends.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Safe Curves (<a href="https://safecurves.cr.yp.to/" rel="nofollow" target="_blank" class="enhancr_card_7360829336">SafeCurves: Introduction</a>) says that the NIST curves are P-224, P-256 (ye <span>prime256v1 and what I was trying to implement with Python3 ACME client)</span>, and P-384 and NOT SAFE. They did not mention RSA. They give key type Curve25519 a fully passing grade. I think that is ye X25519, also know as ed25519. Linux program ssh has ed25519. I don't trust NIST 'cause I don't trust NSA.</div><div><br></div><div id="ydpeac791fbenhancr_card_7360829336" class="ydpeac791fbyahoo-link-enhancr-card ydpeac791fbyahoo-link-enhancr-not-allow-cover ydpeac791fbymail-preserve-class ydpeac791fbymail-preserve-style" style="max-width: 400px; font-family: Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif; position: relative;" data-url="https://safecurves.cr.yp.to/" data-type="YENHANCER" data-size="MEDIUM" contenteditable="false"><a href="https://safecurves.cr.yp.to/" style="text-decoration:none !important;color:#000 !important" class="ydpeac791fbyahoo-enhancr-cardlink" rel="nofollow" target="_blank"><table class="ydpeac791fbcard-wrapper ydpeac791fbyahoo-ignore-table" style="max-width:400px" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td width="400"><table class="ydpeac791fbcard ydpeac791fbyahoo-ignore-table" style="max-width:400px;border-width:1px;border-style:solid;border-color:rgb(224, 228, 233);border-radius:2px" width="100%" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td><table class="ydpeac791fbcard-info ydpeac791fbyahoo-ignore-table" style="background-color: rgb(255, 255, 255); background-repeat: repeat; background-attachment: scroll; background-image: none; background-size: auto; position: relative; z-index: 2; width: 100%; max-width: 400px; border-radius: 0px 0px 2px 2px; border-top: 1px solid rgb(224, 228, 233);" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="background-color:#ffffff;padding:16px 0 16px 12px;vertical-align:top;border-radius:0 0 0 2px"></td><td style="vertical-align:middle;padding:12px 24px 16px 12px;width:99%;font-family:Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif;border-radius:0 0 2px 0"><h2 class="ydpeac791fbcard-title" style="font-size: 14px; line-height: 19px; margin: 0px 0px 6px; font-family: Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif; color: rgb(38, 40, 42);">SafeCurves: Introduction</h2><p class="ydpeac791fbcard-description" style="font-size: 12px; line-height: 16px; margin: 0px; color: rgb(151, 155, 167);"></p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></a><div class="loadingSpinnerContainer" style="position: absolute; top: 0px; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background-color: rgba(255, 255, 255, 0.3);"><div class="D_F F_n gl_C ab_C H_6MGW o_h"><div class="W_6MGW H_6MGW D_X ah_1PEzoz" data-test-id="loading_indicator"><svg class="W_6MGW H_6MGW ah_Zq6hUs" viewBox="0 0 24 24" width="24" height="24"><path class="cdPFi_n cZ13pKbK_Z2aVTcY cZ1XO2Ji_dRA c2abBOT_EY cZ1vNhDV_rd cZV8aCd_pI ah_14s73" d="M12,22C6.477,22,2,17.523,2,12S6.477,2,12,2"></path><path class="cdPFi_n cZ13pKbK_Z2aVTcY cZ1XO2Ji_dRA c2abBOT_EY cZ1vNhDV_rd cZV8aCd_pI ah_14s73" d="M12,2c5.523,0,10,4.477,10,10s-4.477,10-10,10"></path></svg></div></div></div></div><div><br></div><div dir="ltr" data-setdir="false"><span>This is a comparison that favors old RSA over new ECDSA: <a href="https://www.ssl.com/article/comparing-ecdsa-vs-rsa/" rel="nofollow" target="_blank" class="enhancr_card_8092348181">Comparing ECDSA vs RSA - SSL.com</a> </span><div><br></div><div id="ydp85da7e7enhancr_card_8092348181" class="ydp85da7e7yahoo-link-enhancr-card ydp85da7e7ymail-preserve-class ydp85da7e7ymail-preserve-style" style="max-width:400px;font-family:Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif" data-url="https://www.ssl.com/article/comparing-ecdsa-vs-rsa/" data-type="YENHANCER" data-size="MEDIUM" contenteditable="false"><a href="https://www.ssl.com/article/comparing-ecdsa-vs-rsa/" style="text-decoration:none !important;color:#000 !important" class="ydp85da7e7yahoo-enhancr-cardlink" rel="nofollow" target="_blank"><table class="ydp85da7e7card-wrapper ydp85da7e7yahoo-ignore-table" style="max-width:400px" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td width="400"><table class="ydp85da7e7card ydp85da7e7yahoo-ignore-table" style="max-width:400px;border-width:1px;border-style:solid;border-color:rgb(224, 228, 233);border-radius:2px" width="100%" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td class="ydp85da7e7card-primary-image-cell" style="background-color: rgb(0, 0, 0); background-repeat: no-repeat; background-size: cover; position: relative; border-radius: 2px 2px 0px 0px; min-height: 175px;" valign="top" height="175" bgcolor="#000000" background="https://s.yimg.com/lo/api/res/1.2/XLbdemYeCiK4LTdKlZWwEA--~A/Zmk9ZmlsbDt3PTQwMDtoPTIwMDthcHBpZD1pZXh0cmFjdA--/https://cdn.ssl.com/app/uploads/2015/07/ssl_logo.jpg?x90481.cf.jpg"><!--[if gte mso 9]><v:rect fill="true" stroke="false" style="width:396px;height:175px;position:absolute;top:0;left:0;"><v:fill type="frame" color="#000000" src="https://s.yimg.com/lo/api/res/1.2/XLbdemYeCiK4LTdKlZWwEA--~A/Zmk9ZmlsbDt3PTQwMDtoPTIwMDthcHBpZD1pZXh0cmFjdA--/https://cdn.ssl.com/app/uploads/2015/07/ssl_logo.jpg?x90481.cf.jpg"/></v:rect><![endif]--><table class="ydp85da7e7card-overlay-container-table ydp85da7e7yahoo-ignore-table" style="width:100%" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td class="ydp85da7e7card-overlay-cell" style="background-color: transparent; border-radius: 2px 2px 0px 0px; min-height: 175px;" valign="top" bgcolor="transparent" background="https://s.yimg.com/cv/ae/nq/storm/assets/enhancrV21/1/enhancr_gradient-400x175.png"><!--[if gte mso 9]><v:rect fill="true" stroke="false" style="width:396px;height:175px;position:absolute;top:-18px;left:0;"><v:fill type="pattern" color="#000000" src="https://s.yimg.com/cv/ae/nq/storm/assets/enhancrV21/1/enhancr_gradient-400x175.png"/><v:textbox inset="0,0,20px,0"><![endif]--><table class="ydp85da7e7yahoo-ignore-table" style="width: 100%; min-height: 175px;" height="175" border="0"><tbody><tr><td class="ydp85da7e7card-richInfo2" style="text-align:left;padding:15px 0 0 15px;vertical-align:top"></td><td class="ydp85da7e7card-actions" style="text-align:right;padding:15px 15px 0 0;vertical-align:top"><div class="ydp85da7e7card-share-container"></div></td></tr></tbody></table><!--[if gte mso 9]></v:textbox></v:rect><![endif]--></td></tr></tbody></table></td></tr><tr><td><table class="ydp85da7e7card-info ydp85da7e7yahoo-ignore-table" style="background-color: rgb(255, 255, 255); background-repeat: repeat; background-attachment: scroll; background-image: none; background-size: auto; position: relative; z-index: 2; width: 100%; max-width: 400px; border-radius: 0px 0px 2px 2px; border-top: 1px solid rgb(224, 228, 233);" cellspacing="0" cellpadding="0" border="0" align="center"><tbody><tr><td style="background-color:#ffffff;padding:16px 0 16px 12px;vertical-align:top;border-radius:0 0 0 2px"></td><td style="vertical-align:middle;padding:12px 24px 16px 12px;width:99%;font-family:Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif;border-radius:0 0 2px 0"><h2 class="ydp85da7e7card-title" style="font-size: 14px; line-height: 19px; margin: 0px 0px 6px; font-family: Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif; color: rgb(38, 40, 42);">Comparing ECDSA vs RSA - SSL.com</h2><p class="ydp85da7e7card-description" style="font-size: 12px; line-height: 16px; margin: 0px; color: rgb(151, 155, 167);">A discussion of the pros and cons of RSA and ECDSA, two of the most widely-used digital signature algorithms.</p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></a></div><div><br></div><div><br></div></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">This suggests that RSA keys are mostly safe: <a href="https://www.thesslstore.com/blog/is-it-still-safe-to-use-rsa-encryption/" rel="nofollow" target="_blank" class="enhancr_card_7973146691">Is it still safe to use RSA Encryption? - Hashed Out by The SSL Store™</a></div><div><br></div><div id="ydpfd9af04eenhancr_card_7973146691" class="ydpfd9af04eyahoo-link-enhancr-card ydpfd9af04eymail-preserve-class ydpfd9af04eymail-preserve-style" style="max-width: 400px; font-family: Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif; position: relative;" data-url="https://www.thesslstore.com/blog/is-it-still-safe-to-use-rsa-encryption/" data-type="YENHANCER" data-size="MEDIUM" contenteditable="false"><a href="https://www.thesslstore.com/blog/is-it-still-safe-to-use-rsa-encryption/" style="text-decoration:none !important;color:#000 !important" class="ydpfd9af04eyahoo-enhancr-cardlink" rel="nofollow" target="_blank"><table class="ydpfd9af04ecard-wrapper ydpfd9af04eyahoo-ignore-table" style="max-width:400px" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td width="400"><table class="ydpfd9af04ecard ydpfd9af04eyahoo-ignore-table" style="max-width:400px;border-width:1px;border-style:solid;border-color:rgb(224, 228, 233);border-radius:2px" width="100%" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td class="ydpfd9af04ecard-primary-image-cell" style="background-color: rgb(0, 0, 0); background-repeat: no-repeat; background-size: cover; position: relative; border-radius: 2px 2px 0px 0px; min-height: 175px;" valign="top" height="175" bgcolor="#000000" background="https://s.yimg.com/lo/api/res/1.2/N.Vq0BPavwijVYmz_vXO3Q--~A/Zmk9ZmlsbDt3PTQwMDtoPTIwMDthcHBpZD1pZXh0cmFjdA--/https://www.thesslstore.com/blog/wp-content/uploads/2019/01/HO-RSA.png.cf.jpg"><!--[if gte mso 9]><v:rect fill="true" stroke="false" style="width:396px;height:175px;position:absolute;top:0;left:0;"><v:fill type="frame" color="#000000" src="https://s.yimg.com/lo/api/res/1.2/N.Vq0BPavwijVYmz_vXO3Q--~A/Zmk9ZmlsbDt3PTQwMDtoPTIwMDthcHBpZD1pZXh0cmFjdA--/https://www.thesslstore.com/blog/wp-content/uploads/2019/01/HO-RSA.png.cf.jpg"/></v:rect><![endif]--><table class="ydpfd9af04ecard-overlay-container-table ydpfd9af04eyahoo-ignore-table" style="width:100%" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td class="ydpfd9af04ecard-overlay-cell" style="background-color: transparent; border-radius: 2px 2px 0px 0px; min-height: 175px;" valign="top" bgcolor="transparent" background="https://s.yimg.com/cv/ae/nq/storm/assets/enhancrV21/1/enhancr_gradient-400x175.png"><!--[if gte mso 9]><v:rect fill="true" stroke="false" style="width:396px;height:175px;position:absolute;top:-18px;left:0;"><v:fill type="pattern" color="#000000" src="https://s.yimg.com/cv/ae/nq/storm/assets/enhancrV21/1/enhancr_gradient-400x175.png"/><v:textbox inset="0,0,20px,0"><![endif]--><table class="ydpfd9af04eyahoo-ignore-table" style="width: 100%; min-height: 175px;" height="175" border="0"><tbody><tr><td class="ydpfd9af04ecard-richInfo2" style="text-align:left;padding:15px 0 0 15px;vertical-align:top"></td><td class="ydpfd9af04ecard-actions" style="text-align:right;padding:15px 15px 0 0;vertical-align:top"><div class="ydpfd9af04ecard-share-container"></div></td></tr></tbody></table><!--[if gte mso 9]></v:textbox></v:rect><![endif]--></td></tr></tbody></table></td></tr><tr><td><table class="ydpfd9af04ecard-info ydpfd9af04eyahoo-ignore-table" style="background-color: rgb(255, 255, 255); background-repeat: repeat; background-attachment: scroll; background-image: none; background-size: auto; position: relative; z-index: 2; width: 100%; max-width: 400px; border-radius: 0px 0px 2px 2px; border-top: 1px solid rgb(224, 228, 233);" cellspacing="0" cellpadding="0" border="0" align="center"><tbody><tr><td style="background-color:#ffffff;padding:16px 0 16px 12px;vertical-align:top;border-radius:0 0 0 2px"></td><td style="vertical-align:middle;padding:12px 24px 16px 12px;width:99%;font-family:Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif;border-radius:0 0 2px 0"><h2 class="ydpfd9af04ecard-title" style="font-size: 14px; line-height: 19px; margin: 0px 0px 6px; font-family: Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif; color: rgb(38, 40, 42);">Is it still safe to use RSA Encryption? - Hashed Out by The SSL Store™</h2><p class="ydpfd9af04ecard-description" style="font-size: 12px; line-height: 16px; margin: 0px; color: rgb(151, 155, 167);">RSA could potentially be cracked by careless implementation, but does that mean it’s broken? Let’s talk about RS...</p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></a><div class="loadingSpinnerContainer" style="position: absolute; top: 0px; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background-color: rgba(255, 255, 255, 0.3);"><div class="D_F F_n gl_C ab_C H_6MGW o_h"><div class="W_6MGW H_6MGW D_X ah_1PEzoz" data-test-id="loading_indicator"><svg class="W_6MGW H_6MGW ah_Zq6hUs" viewBox="0 0 24 24" width="24" height="24"><path class="cdPFi_n cZ13pKbK_Z2aVTcY cZ1XO2Ji_dRA c2abBOT_EY cZ1vNhDV_rd cZV8aCd_pI ah_14s73" d="M12,22C6.477,22,2,17.523,2,12S6.477,2,12,2"></path><path class="cdPFi_n cZ13pKbK_Z2aVTcY cZ1XO2Ji_dRA c2abBOT_EY cZ1vNhDV_rd cZV8aCd_pI ah_14s73" d="M12,2c5.523,0,10,4.477,10,10s-4.477,10-10,10"></path></svg></div></div></div></div><div><br></div><div><br></div><div dir="ltr" data-setdir="false">So my conclusion is to prefer in descending order of preference: ed25519, RSA-4096 (I suppose RSA-8196 is sorta overkill maybe. I suspect quantum computers would make it not overkill, but then mobile devises might not like it for the overhead.)<br></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">My local version of openssl is:</div><div dir="ltr" data-setdir="false"><span>OpenSSL 1.1.1d  10 Sep 2019</span></div><div dir="ltr" data-setdir="false"><span><br></span></div><div dir="ltr" data-setdir="false"><span>When I openssl ecparam -list_curves I do NOT get X25519.</span></div><div dir="ltr" data-setdir="false"><span><br></span></div><div dir="ltr" data-setdir="false"><span>However, I was apple to generate a private key per ye documentation (manpage for genpkey): <a href="https://www.openssl.org/docs/man1.1.0/man1/genpkey.html" rel="nofollow" target="_blank" class="enhancr_card_8220306834">/docs/man1.1.0/man1/genpkey.html</a><br></span><div><br></div><div id="ydp762817b2enhancr_card_8220306834" class="ydp762817b2yahoo-link-enhancr-card ydp762817b2yahoo-link-enhancr-not-allow-cover ydp762817b2ymail-preserve-class ydp762817b2ymail-preserve-style" style="max-width:400px;font-family:Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif" data-url="https://www.openssl.org/docs/man1.1.0/man1/genpkey.html" data-type="YENHANCER" data-size="MEDIUM" contenteditable="false"><a href="https://www.openssl.org/docs/man1.1.0/man1/genpkey.html" style="text-decoration:none !important;color:#000 !important" class="ydp762817b2yahoo-enhancr-cardlink" rel="nofollow" target="_blank"><table class="ydp762817b2card-wrapper ydp762817b2yahoo-ignore-table" style="max-width:400px" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td width="400"><table class="ydp762817b2card ydp762817b2yahoo-ignore-table" style="max-width:400px;border-width:1px;border-style:solid;border-color:rgb(224, 228, 233);border-radius:2px" width="100%" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td><table class="ydp762817b2card-info ydp762817b2yahoo-ignore-table" style="background-color: rgb(255, 255, 255); background-repeat: repeat; background-attachment: scroll; background-image: none; background-size: auto; position: relative; z-index: 2; width: 100%; max-width: 400px; border-radius: 0px 0px 2px 2px; border-top: 1px solid rgb(224, 228, 233);" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="background-color:#ffffff;padding:16px 0 16px 12px;vertical-align:top;border-radius:0 0 0 2px"></td><td style="vertical-align:middle;padding:12px 24px 16px 12px;width:99%;font-family:Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif;border-radius:0 0 2px 0"><h2 class="ydp762817b2card-title" style="font-size: 14px; line-height: 19px; margin: 0px 0px 6px; font-family: Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif; color: rgb(38, 40, 42);">/docs/man1.1.0/man1/genpkey.html</h2><p class="ydp762817b2card-richinfo-primary" style="font-size:12px;line-height:16px;margin:0 0 4px 0;color:#979ba7">OpenSSL Foundation, Inc.</p><p class="ydp762817b2card-description" style="font-size: 12px; line-height: 16px; margin: 0px; color: rgb(151, 155, 167);"></p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></a></div></div><div dir="ltr" data-setdir="false"><div><br></div><div dir="ltr" data-setdir="false">Hey, I have that manpage on my linux. So whadayouknow? My remote virtual machine has <span>OpenSSL 1.0.2g  1 Mar 2016 and no X25519.</span></div><div dir="ltr" data-setdir="false"><span><br></span></div><div dir="ltr" data-setdir="false"><span>On my local machine, the CSR generation fails only for the X25519 private key:</span></div><div dir="ltr" data-setdir="false"><span><br></span></div><div dir="ltr" data-setdir="false"><div>You are about to be asked to enter information that will be incorporated<br>into your certificate request.<br>What you are about to enter is what is called a Distinguished Name or a DN.<br>There are quite a few fields but you can leave some blank<br>For some fields there will be a default value,<br>If you enter '.', the field will be left blank.<br>-----<br>Two-letter Country Code [US]:<br>139873970037888:error:0608D096:digital envelope routines:EVP_PKEY_sign_init:operation not supported for this keytype:../crypto/evp/pmeth_fn.c:40:<br><br></div><div dir="ltr" data-setdir="false">Supposing I can get a resolution to using X25519, anybody know of how to get the X and Y coordinates of a public key of type X29915 in the Python3 language? The PYPI repository has <span>python-jose, which uses <span>pyca/cryptography, which is in PYPI as plain, old <span>'cryptography 2.8'. My exploration of pyca/cryptography's documentation is what led me to the safe curves webpage. Maybe I can get the x and y coordinates with it. Looks scary.</span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span><br></span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span>So any informed assessments on:</span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span>(1) key types RSA, PRIME-256, and ed25519,</span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span>(2) on openssl and X25519, or</span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span>(3) getting the X and Y coordinates of the ed25519 public key for making a JSON Web Key (JWK) for a ACME client in Python3.</span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span><br></span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span>The ACME protocol is <span>rfc8555 and refers to '<span>the "EdDSA" signature algorithm using the "Ed25519" variant</span>'. Interestingly, rfc <span>7518 for JWA (A is for Algorithms)</span> does not have ed25519--though I can't rule out a standards repository somewhere could have it as an addition, for all I know--and does have the curves P<span>-256, P-384, and P-521.</span></span></span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span><span><span><br></span></span></span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span><span><span>Emhhm.</span><br></span></span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span><span><br></span></span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span><span>Maybe I should just use RSA and likewise regress to ed for all my editing needs. I knew a consultant who used ed and was quite good. My supervisor joked about rubbing two sticks together. I'm sure there's lot of vi fans here. 'Twas the night before Christmas and I was stirring. Stirring I tell ya. Me and a mouse.<br></span></span></span></span></div></div></div><div><br></div><div class="ydp57a2ddbfsignature"><div>Douglas Morris<br></div></div></div></div></body></html>