PyBitmessage icon indicating copy to clipboard operation
PyBitmessage copied to clipboard

Move from SHA1 to SHA256

Open kewde opened this issue 8 years ago • 9 comments

Recently the team at Google have found the first SHA1 collision, the ECDSA signatures use SHA1 and most of the code for a switch to SHA256 is in the comments already.

https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html

  • [x] allow signing with SHA256 for people who want to experiment
  • [ ] make all signatures SHA256
  • [ ] disable support for SHA1 verification

kewde avatar Feb 24 '17 22:02 kewde

See here: https://www.reddit.com/r/bitmessage/comments/5vt3la/sha1_and_bitmessage/

PeterSurda avatar Feb 24 '17 22:02 PeterSurda

A few related links:

http://www.shattered.io/

https://www.fossil-scm.org/fossil/doc/trunk/www/hashpolicy.wiki

https://github.com/cr-marcstevens/sha1collisiondetection

martinvahi avatar Mar 09 '17 02:03 martinvahi

Wouldn't this potentially make it possible to use the bitcoin ASICs to spam bitmessage?

g1itch avatar Mar 11 '17 13:03 g1itch

@g1itch I doubt it. The ASICs operate under a very specific format that I doubt is applicable to BitMessage.

kewde avatar Mar 11 '17 14:03 kewde

@g1itch Bitmessage uses double SHA512 for PoW, so no. The SHA1 -> SHA256 migration is only for sender authentication.

PeterSurda avatar Mar 11 '17 14:03 PeterSurda

Has there been any progress on this issue?

kewde avatar Sep 13 '17 21:09 kewde

Wouldn't this potentially make it possible to use the bitcoin ASICs to spam bitmessage?

The ASICs operate under a very specific format that I doubt is applicable to BitMessage.

If the ASIC's are implemented by using FPGAs, which might be the case to allow the same hardware, server park, to be reconfigured and reused for mining other cryptocoins after the Bitcoin "mine" has become "depleted enough", then the switch from one hash algorithm to another is not that big of an impediment for the server park owners.

martinvahi avatar Sep 14 '17 08:09 martinvahi

@kewde You can specify that you want to send SHA256-hashed messages by specifying

digestalg = sha256

in the bitmessagemain section of keys.dat. The other steps outlined will progress as new releases are made.

PeterSurda avatar Sep 14 '17 08:09 PeterSurda

This probably should be expedited, it's been waiting for too long. I've been running with digestalg = sha256 for a long time and haven't had issues.

PeterSurda avatar Nov 16 '19 09:11 PeterSurda