# Is it possible to get my x,y coordinates from my "secret exponent"?

...or is that possible?

I am very new to cryptography! But, I think it's very interesting!! I have autism and numbers "are my thing" :)

I already understand a couple of things. For example I know you can get the $x/y$ or $x$ or $y$ from your public hexadecimal address, but can you get anything like that from the secret exponent? Is the secret exponent the non-hexadecimal representation of your private key or is it the secret exponent in hexadecimal? I know it's a random number, but are numbers always converted to hex in this situation? Because I can't imagine graphing a hex number! So, the $(x,y)$ coordinates are on the curve $y^2=x^3+7$, right?

How can you graph that? Like, is there a program that can generate a curve and then I can actually "see" where my $(x,y)$ coordinates are? I just got a free trial of matlab this morning, but I haven't figured out exactly how to replicate that curve on there. Basically, I'm just curious to know what point I am on that curve? How do I figure that out, and how can I draw it? I am a very visual person, so I would like anything that could help to be a gui version. I'm not very good with terminal commands...unless it's very specific. Like: 1) type this exactly, press enter 2) type this exactly, press enter....etc...

Also, if anyone can recommend a program to help me learn some modular math, how to figure out inverses and multiplicatives of primes, and all that other fun stuff? Thank you! :)

Edit: It is possible I did not phrase this question correctly or put it in the right place. (is that what the -1 means?) Feel free to correct me or move this if need be, but do help please.

• -1 is probably because this is an incoherent wall of text with at least some off topic questions (like software recommendations). Please have a look at the help center, at least what is on topic and what is not, and do your best to make the question clear.
– otus
Nov 20 '15 at 17:04
• I've edited your question, so it becomes somewhat clearer and easier to read. "-1" meant your question was badly formatted and was at least partially off-topic here. To improve this situation I strongly recommend you to remove the request for a tool from your question, as this is off-topic here. The rest should be on-topic here. You can ask about the tool on Software Recommendations SE, but I recommend you googling / searching there for one first.
– SEJPM
Nov 20 '15 at 17:37
• as for at least (some) answers (-> no full answer): You can plot elliptic curves used in crypto but it will look ugly (because it will only be a bunch of randomly spread points).
– SEJPM
Nov 20 '15 at 17:40
• Yes! Thank you for this!! It is easier to understand!! @SEJPM This makes me happy :) And thanks for the advice!! It is very difficult to convey what I think into words lol I guess this question can be closed! Nov 20 '15 at 18:26

I'll answer your question in order of appearance and leave the ones out which are off-topic here.

For example I know you can get the $x/y$ or $x$ or $y$ from your public hexadecimal address, but can you get anything like that from the secret exponent?

Not directly. You can use the secret exponent (a.k.a. private key) to calculate the public key (which likely is the same as the "hexadecimal address") and thereby recover these values.

Is the secret exponent the non-hexadecimal representation of your private key or is it the secret exponent in hexadecimal?

The secret exponent is a number. How you represent it depends on the context. For exchange you may represent it Base64 encoded or hexadecimally encoded. For internal use, for the computations by the library, the secret exponents is usually represented using a basis that performs particularly well on the platform you're on, e.g. $2^{64}$ for 64-bit architectures and $2^{32}$ for 32-bit architectures.

I know it's a random number, but are numbers always converted to hex in this situation?

Because I can't imagine graphing a hex number!

I'm not sure what you mean here, but usually nobody ever plots crypto systems used in praxis, because the values and distributions wouldn't show you anything at all (by design) unless it's severely broken.

So, the $(x,y)$ coordinates are on the curve $y^2=x^3+7$, right?

Yes, indeed. For a pair $(x,y)$ to be considered a point on the curve $E:y^2=x^3+7$, they need to fulfill said equation. Note however that the generic equation for elliptic curves in cryptographic use is $E:y^2\equiv x^3+ax+b\pmod p$.

How can you graph that?

You can plot elliptic curves over the real numbers and they actually look quite nice, but it's very hard to do so for modular elliptic curves and they don't exhibit any nice visual properties. As for the "how" the plotting is done, in the real case standard methods are used and in the modular case one just tries all $x$ values and the corresponding $y$ values and enlists them in the coordinate space.

Like, is there a program that can generate a curve and then I can actually "see" where my $(x,y)$ coordinates are?

I know for sure that there are programs that can do this nicely for the real case, but I'm not aware of any for the finite field / modular case. You have to ask elesewhere for a better answer on this question.

Basically, I'm just curious to know what point I am on that curve?

Seeing the point for cryptographic applications is highly useless. You'll just calculate the point using the curve equation and then draw it onto the curve you've already drawn.

• Talk about address(es) suggests this is about Bitcoin, which uses secp256k1 which has a=0 b=7 and thus y^2 = x^3 + 7 (over a stated Fp), see en.bitcoin.it/wiki/Secp256k1 (which has the pretty graph for the real case). A (normal) Bitcoin address is the hash of the EC publickey (canonically shown base58 with a checkvalue) so you can't recover a pubkey but can verify a later spend using signature-with-pubkey validly controls a given address and thus its coins. Nov 21 '15 at 1:13