Live data from Hacker News

Craig Wright suing developers to forcibly give him access to internet coins

theregister.com

141–150 of 154 posts

Re: Craig Wright suing developers to forcibly give him access to internet coins

#141

Earlier quoted context omitted.

He's saying you can derive the private key from a single signature made using a known nonce value (the "bad random"). You can also derive the private key from two signatures made using the same nonce value. In both cases the solution just requires trivial algebra. That's what we did to get the PS3 signing keys. Accidentally became a bit of a citation in the ECDSA world for that one too; who knew Sony would unwittingl…

Craig was Wright then, you can't derive the private key from a single transaction. Bitcoin would be broken if you could.

Rather, Craig had no idea what the conversation was even about.

Re: Craig Wright suing developers to forcibly give him access to internet coins

#142
post #107

Earlier quoted context omitted.

You can recover a private key from two signatures if they reuse the same nonce. The nonce should be random and only used once as the name suggests

> You can recover a private key from two signatures if they reuse the same nonce. You can, but you can also do a lot more than that. Thinking that this is the only attack is a common error, and precisely the one Wright was making in that recording. Two signatures with different messages and the same key and message is just a special case of the fact that if you write out the signing equation as a linear system with p…

Indeed; in general, if you know 1/n of the information in the nonces, you can recover the private key after n signatures. So even subtle biases in the random number generation can leak your key after a few transactions.

Re: Craig Wright suing developers to forcibly give him access to internet coins

#143

Earlier quoted context omitted.

Craig was Wright then, you can't derive the private key from a single transaction. Bitcoin would be broken if you could.

Rather, Craig had no idea what the conversation was even about.

Dr Nicolas Courtois - "You can get a private key from one single transaction or from one single digital signature."

That's false.

Re: Craig Wright suing developers to forcibly give him access to internet coins

#144

Does anyone know if there are any lock out mechanisms on accounts which stall access after x number of password attempts?

That's not how wallets work. A wallet is the private key (some secret bytes) and as long as you have those bytes (or something that re-creates those bytes, such as a passphrase) you have the ability to sign a message that is published on the blockchain which moves/spends your coins.

So what you call a passphrase I would call a password, but its the secret bytes which have to be known in order for the blockchain to allow the move.

Re: Craig Wright suing developers to forcibly give him access to internet coins

#145

Earlier quoted context omitted.

Rather, Craig had no idea what the conversation was even about.

Dr Nicolas Courtois - "You can get a private key from one single transaction or from one single digital signature." That's false.

That's missing context. It's true if the nonce is predictable.

Re: Craig Wright suing developers to forcibly give him access to internet coins

#146
post #106

Earlier quoted context omitted.

"ECDSA" isn't a concrete scheme that you can use in any case. To implement ECDSA one must pick a group where the discrete log is hard, choose a message hashing function, and choose a way to serialize the values. One can optionally choose a derandomized method for generating the nonces, e.g. RFC6979 which is the approach taken by most implementations created in the last 5 years or so. One could just as well implement…

With "ECDSA" I meant the original NIST ECDSA standard. It is, objectively, a bad standard. ECDSA as originally specified required the use of random numbers in signature generation; the RFC6979 approach may interoperate just fine and be a better idea, but it is not FIPS 186-4 compliant. If you have to break standards compliance to avoid security pitfalls, the standard is bad. It's not just about specifying more of the…

RFC6979 has a fairly convoluted design (and poor performance, requiring 12 invocations of the compression function when implemented with sha2 for a 256-bit curve) specifically so that it is actually a FIPS compliant DRBG with its initialization parameters set in a particular standard permitted way, so as to result in a derandomized nonce.

While I not a FIPS certification expert by any means, it was intended that implementations could implement RFC6979 without breaking the standard by simply using a standard allowed DRBG in the right way.

> EdDSA is designed to be harder to screw up an implementation of, by construction.

That's the marketing claim at least. It's debatable. Some of its choices make it easier to screw up, and widespread implementations of it have also been wrong in the varrious ways it was intended to address. It's a good idea to try, at least, for sure.

I think nonce security in particular is not at all the best example since modern ECDSA implementations are secure against in that respect. I'm also aware of some systems which have had grave security flaws because they believed the EdDSA claim of a deterministic signature meant that it was a unique signature. The promotion of EdDSA itself as magic pixie dust creates vulnerabilities.

There is just no replacement for understanding. :)

Re: Craig Wright suing developers to forcibly give him access to internet coins

#147

Earlier quoted context omitted.

Dr Nicolas Courtois - "You can get a private key from one single transaction or from one single digital signature." That's false.

That's missing context. It's true if the nonce is predictable.

Craig Wright - "The nonces I used are non-standard."

Dr Nicolas Courtois - "Well, uhhhum that's the question."

Craig Wright told him that he used non-standard nonces, not predictable ones.

Re: Craig Wright suing developers to forcibly give him access to internet coins

#148
post #131
post #95

Earlier quoted context omitted.

Miners investing hundred millions dollars into operation. If court will tell them, like for example 3 biggest miners from US to make that block, they will do it to protect investment, because other way they will get sanctions from gov. Other people on non-mining nodes can fork it, but noone with millions dollars at stake will be on forked chain and only miners make blocks. Court will not be stupid and believe, that s…

That isn't how Bitcoin works. Miners can't violate the protocol, since the protocol decides what is and isn't mining. Wright wants a version of Bitcoin created with a backdoor to transaction authentication that lets him take coins without presenting the required credentials. If he created such a version and convinced some miners to run it, they'd simply stop producing blocks (at least from the perspective of anyone w…

We will see how courts will decide. Right now it's just a presumptions on how things can roll out.

Re: Craig Wright suing developers to forcibly give him access to internet coins

#149
post #148
post #131

Earlier quoted context omitted.

That isn't how Bitcoin works. Miners can't violate the protocol, since the protocol decides what is and isn't mining. Wright wants a version of Bitcoin created with a backdoor to transaction authentication that lets him take coins without presenting the required credentials. If he created such a version and convinced some miners to run it, they'd simply stop producing blocks (at least from the perspective of anyone w…

We will see how courts will decide. Right now it's just a presumptions on how things can roll out.

What is a presumption? The targets and content of Wright's lawsuit are not presumptions.

The nature of Bitcoin's operation is not a presumption-- the code is open and anyone is free to go look at how it works.

Re: Craig Wright suing developers to forcibly give him access to internet coins

#150

Earlier quoted context omitted.

That's not how wallets work. A wallet is the private key (some secret bytes) and as long as you have those bytes (or something that re-creates those bytes, such as a passphrase) you have the ability to sign a message that is published on the blockchain which moves/spends your coins.

So what you call a passphrase I would call a password, but its the secret bytes which have to be known in order for the blockchain to allow the move.

That's where it gets a bit complex. There are both passwords and phrases, but usually for different purposes:

Traditional passwords are used sometimes to encrypt the secret bytes (private key) similar to how an SSH key might be encrypted and unlocked. In this usage the actual bytes are encrypted and stored somewhere (like on disk) and if you lose that file or the password you used to encrypt it, you therefore lose the private key and can no longer sign messages or "spend" the coins. This is how Bitcoin functioned in the early years.

Some people instead use what originally were called "brain wallets" and are mnemonic lists of words that then get used through a key derivation function (KDF) to turn those words into the secret bytes. In this kind of setup you don't have the secret bytes stored anywhere but rather you need to remember the phrase (list of words) which is in turn used to generate the secret bytes deterministically.

Post reply on HN