When making a signature you need entropy for each signature(true for Schnorr & ECDSA).

Why?

Well that's how you hide your private key, you mix your private key with this random number(slightly more complicated)

So every time you sign a TX you need a fresh new nonce(entropy) for the signature.

The thing is that even if you have 1 single bit of bias in your entropy an attacker can guess your private key.

(Yes this happened IRL quite a bit 2013, there are ofc some caveats which I'll hand wave :p)

So a new standard was made where you create deterministic entropy(statistically evenly distributed) to be used for signatures.

More info on the standard:

https://datatracker.ietf.org/doc/html/rfc6979

The "funny" part about entropy is that you can't tell if something is actually random.

An actually random number can legitimately have well any digits there.

There is absolutely no way to tell if something is truly random or not.

So the only option to be safe is to make sure the devices you use do what they were mean to do.

How do you know that your hww is actually using this standard and not rogue entropy?

Well, one solution is to contribute to this entropy using your device that communicates with the hww (like your laptop)

This is called "anti-klepto" and is currently only implemented by

@BitBoxSwiss

and

@BlockstreamJade

.

In the below example, the attacker modified the firmware of the SeedSigner so that it contributes bad entropy to the signature for the TX in question, and this will not raise any suspicion to the user.

The reason this was successful is BECAUSE they used a malicious firmware, so if you check the "correct" firmware is loaded on youfirmwarer device you should be ok.

But what if there was an error made by the people who implement the wallet firmare?

Well, that's why something like the anti-klepto helps.

(wrote this a few days ago when someone asked me, seems fit to repost in regards to his new post :D)

This is a reply to this post:

https://x.com/utxoclub/status/1820520960476561825

Reply to this note

Please Login to reply.

Discussion

One very important clarification!

This particular attack actually "encodes the secret key into low entropy secret nonces and uses them in signing", so it's not just grinding the nonces.

What does this mean?

In the "classical" nonce-attack you either need a LOT of computer power or a LOT of signatures, which makes harder to pull off.

In his variant above they reduced this to only 2 signatures (for 12 words 4 for 24 words) vs ~64 signatures for the classical attack.

(again a lot of caveats I'm hand waving :p)

which is a great improvement and way easier to pull off and requires fewer steps to be taken by the person being attacked.

Source: https://darkskippy.com/taxonomy.htm

Oh the beauty of multi-vendor multisig 🤭

You seem to ignore the imense trade-off that comes with that.

Storing extra shit.

Oh no how could I ever store an easily exportable file/qr code that is not security-critical and thus can be stored in more locations with only privacy considerations..

The tooling around multisig has improved dramatically, Specter, Nunchuk, etc. Throw that sheet (or file in a flash drive) at every location where a seed of a signer of the multisig is located and you're done.