You are viewing a single comment's thread from:

RE: [Steem Rep] Update - September 2024 | AI-Comments | Tags | Trendings Scores

in Steem POD Team3 months ago

(Offtopic: do you happen to know (without searching too hard) how to calculate the corresponding public key from a private key?)

I suspect the algorithm to do this is a closely kept secret so that the inverse can't be achieved.

Sort:  
 3 months ago (edited)

What do you mean with "invers"? From Private to Public or from Public to Private?

The calculation of the public key from the private key must work, otherwise the whole system would not work. After all, it must be possible to check whether the entered private key matches the publicly known public key. Since the developer (naturally) has no access to the master key (from which all other keys could be determined), authorisation is only possible via the private/public route.

The reverse route, public to private, must not work of course, otherwise it would no longer be secret.

The reason I say is that it's a calculation... so if you can calculate the Public key from the Private and know the calculation to do so, then in theory, you should be able to adjust the variables within the calculation to prove the opposite.

E.g. a = b*c where a is the public key, b is a calc. and c is the private key would lead to c = a/b, therefore allowing us to calculate the Private Key from the Public.

I believe that there's an algorithm that exists linking one with the other, but if this is known in one direction, then the reverse will be calculable.

Of course, I could be wrong. My understanding of RSA is that there are a couple of prime numbers that define the algorithm (unique to each site) which if discovered would unlock every key.

There’s a post on the blockchain somewhere from one of the people who set up Hive about their algorithm. I struggle to understand RSA so I’m probably wrong.

Yes, it is a calculation, but the essential and decisive factor for cryptography is that the calculation can only be carried out in one direction with justifiable effort.

I've also read a lot about RSA, but I can't really explain it in detail :-)

I've also read a lot about RSA, but I can't really explain it in detail :-)

Me too. It's frustrating. Read -> Understand -> Forget. Time after time.

The bottom line is that none of them can be reversed in a reasonable period of time until quantum computing comes along. In general, I think that the trusted encryption algorithms are open source, so I'm sure we could dig the details out in the code if we wanted to spend the time on it. From following Bruce Schneier's Blog for many years, I have the impression that closed source algorithms are the ones that shouldn't be trusted.

@cmp2020 and I were talking about this when he took a cryptography course last year. Apparently, ECDSA is vulnerable to quantum algorithms, so Bitcoin and Steem are going to have to deal with that in the foreseeable future (and many others, I assume).

I'm out of time, but one of the AIs could probably give us the algorithm to derive the public key from the private key with ECSDA (which, I think might be the one that's used for our Steem keys). As I understand, it is based on the geometry of repeated movements around an elliptic curve for some number of times.

Quantum computers are fascinating to me on the one hand and difficult to grasp on the other. I already have a problem imagining the theory of the undefined state. Let alone the realisation in computers. Exciting topic!

Cryptography is also exciting. I also assume that our keys are calculated using elliptical curves. Explaining this would be a useful task for AI.

Hey @moecki,
thank you for using our automatic payout bot 'DUBby' to share your post rewards with your commentators.
To make sure everything works as planned, please remember to give me payout orders.
Just write a comment to the users who should receive a share. It should contain the instruction in the form !finanzbot x %.

If you need help with this, feel free to ask or check this manual (german).

Greetings from the 'DU-Finanzbot' (by Witness @moecki).

Quantum computers are fascinating to me on the one hand and difficult to grasp on the other.

It's an oversimplification - at best - but I think of a metaphor with positional notation.

For example, if I have a symbol, such as 10111100011101, it simultaneously has infinite potential values until I give it a base of representation. But, the moment I say that it's a base 10 number or a base 2 number or a base 8 number, it "collapses" to a single value.

So, I imagine quantum computations as something like classical computations that could operate on that symbol without fixing the base of representation. For example, splitting it or reversing it and so on. Every operation like that can produce an infinite number of answers after the base gets established.

Obviously, it's not at all what the quantum computer is doing, and I have no idea whether there are any useful operations to be done in my imaginary scenario, but at least it's a familiar concept that makes me feel better about the idea of "superposition" and computing with superimposed values.

This is extremely easy, without this we cannot verify the authenticity of keys. In the Steem blockchain, a private key is converted into a public key using Elliptic Curve Cryptography (ECC) on the secp256k1 curve. The private key is used to generate a point on this curve, which forms the public key. This public key is then compressed and encoded using Base58Check, a format that makes it shorter, human-readable, and includes error detection. The final public key starts with the prefix STM, allowing you to prove ownership without exposing the private key itself.

const steem = require('steem');

const privateKey = 'YOUR_WIF_KEY';

const publicKey = steem.auth.wifToPublic(privateKey);

console.log('Public Key:', publicKey);

Above code will print you public key for any given private key

It would be nice if the readers knew who exactly wrote this comment, but for your answer I'll send you our !DUBby 1%.

I did, wrote this comment. Do you want to know more about myself? or are you confused on something