From: Nokan Emiro Date: 2012-10-28T05:23:39+09:00 Subject: Re: OpenSSL ECDSA public key from private --f46d043c7f422179f104cd1036b9 Content-Type: text/plain; charset=UTF-8 I haven't looked into how to do this in Ruby, but at least with the > command-line stuff from OpenSSL it seems to be trivial. (That's quite > contrary to my initial assumptions. I was all set to tell you "no, > the whole point is that you can't derive one from the other", and was > fact-checking. Apparently asymmetrical crypto is even more > asymmetrical than I thought!) Check out the answers to this question > on SO: > > > http://stackoverflow.com/questions/696472/given-a-private-key-is-it-possible-to-derive-its-public-key > Well, this is about RSA, not Elliptic Curve crypto (ECDSA), but the main thing is all the same: it should be easy to calculate the public key from the private key, but it must be virtually impossible to do it the other way. The private key is just a huge random number that is kept secret, and the public key is calculated from it somehow -- we actually don't need to know how, that's something OpenSSL does internally. I think the Ruby API just misses a very important piece here. :( --f46d043c7f422179f104cd1036b9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

I haven&= #39;t looked into how to do this in Ruby, but at least with the
command-line stuff from OpenSSL it seems to be trivial. =C2=A0(That's q= uite
contrary to my initial assumptions. =C2=A0I was all set to tell you "n= o,
the whole point is that you can't derive one from the other", and = was
fact-checking. =C2=A0Apparently asymmetrical crypto is even more
asymmetrical than I thought!) =C2=A0Check out the answers to this question<= br> on SO:

=C2=A0http://stack= overflow.com/questions/696472/given-a-private-key-is-it-possible-to-derive-= its-public-key

Well, this is about RSA, not= Elliptic Curve crypto (ECDSA), but the
main thing is all the sam= e: =C2=A0it should be easy to calculate the public
key from the p= rivate key, but it must be virtually impossible to do it
the other way. =C2=A0The private key is just a huge random number that= is
kept secret, and the public key is calculated from it somehow= -- we
actually don't need to know how, that's something = OpenSSL does
internally.

I think the Ruby API just misses = a very important piece here. :(


--f46d043c7f422179f104cd1036b9--