<div dir="ltr">Nope, we don't have a public API for modular inverse.<div><br></div><div>Alex</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 1, 2017 at 5:38 PM, John Pacific <span dir="ltr"><<a href="mailto:me@johnpacific.com" target="_blank">me@johnpacific.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hey, Alex!<br><br></div><div>Thanks for the response! I've been using the ECDH API for the scalar multiplication, but my last remaining need is for `BN_mod_inverse` and I can't seem to find anything on that quite yet. No pointers here, I guess?<br><br><br></div><div>Thanks!<span class="HOEnZb"><font color="#888888"><br><br></font></span></div><span class="HOEnZb"><font color="#888888"><div>-John<br></div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 1, 2017 at 3:24 PM, Alex Gaynor <span dir="ltr"><<a href="mailto:alex.gaynor@gmail.com" target="_blank">alex.gaynor@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi John,<br><div><br></div><div>We don't have an API for doing raw EC point arithmetic. <a href="https://github.com/pyca/cryptography/pull/2919" target="_blank">https://github.com<wbr>/pyca/cryptography/pull/2919</a> is an issue proposing (and implementing) it, but I've been very hesitant to expand the API like this.</div><div><br></div><div>Point multiplication can be accomplished with the ECDH API.</div><div><br></div><div>Alex</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_8247389799954282229h5">On Fri, Dec 1, 2017 at 2:47 PM, John Pacific <span dir="ltr"><<a href="mailto:me@johnpacific.com" target="_blank">me@johnpacific.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="m_8247389799954282229h5"><div dir="ltr"><div><div><div><div><div><div><div>Hey, folks!<br><br></div>I'm working on prototyping this cryptosystem using cryptography. I'm porting it from Charm-crypto in Python to this.<br><br></div>Charm crypto overrides some operators to perform scalar multiplication and modular inverses -- ie: `*` and `~`. When these operators are used with an EC element, it performs the overriden operation.<br><br></div>I am now in the need to perform some similar operations within the context of <a href="http://cryptography.io" target="_blank">cryptography.io</a> and I can't seem to find a great way to do this.<br><br></div>I can access some OpenSSL functions like `EC_POINT_mul` and `BN_mod_inverse` via `default_backend()._lib.EC_POI<wbr>NT_mul`, etc but I can't find any documentation of how this is used within the context of <a href="http://cryptography.io" target="_blank">cryptography.io</a>.<br><br></div>Do any of you wonderful folks have any pointers on this or maybe how to perform some point arithmetic with the cryptography objects?<br><br><br></div>Thanks,<br><br></div>tux<br></div>
<br></div></div>______________________________<wbr>_________________<br>
Cryptography-dev mailing list<br>
<a href="mailto:Cryptography-dev@python.org" target="_blank">Cryptography-dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/cryptography-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailma<wbr>n/listinfo/cryptography-dev</a><br>
<br></blockquote></div><span class="m_8247389799954282229HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div class="m_8247389799954282229m_-9064718023203529031gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">"I disapprove of what you say, but I will defend to the death your right to say it." -- Evelyn Beatrice Hall (summarizing Voltaire)<br>"The people's good is the highest law." -- Cicero</div><div dir="ltr">GPG Key fingerprint: D1B3 ADC0 E023 8CA6<br><div><br></div></div></div></div></div>
</font></span></div>
<br>______________________________<wbr>_________________<br>
Cryptography-dev mailing list<br>
<a href="mailto:Cryptography-dev@python.org" target="_blank">Cryptography-dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/cryptography-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailma<wbr>n/listinfo/cryptography-dev</a><br>
<br></blockquote></div><br></div>
</div></div><br>______________________________<wbr>_________________<br>
Cryptography-dev mailing list<br>
<a href="mailto:Cryptography-dev@python.org">Cryptography-dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/cryptography-dev" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/cryptography-<wbr>dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">"I disapprove of what you say, but I will defend to the death your right to say it." -- Evelyn Beatrice Hall (summarizing Voltaire)<br>"The people's good is the highest law." -- Cicero</div><div dir="ltr">GPG Key fingerprint: D1B3 ADC0 E023 8CA6<br><div><br></div></div></div></div></div>
</div>