goshimmer icon indicating copy to clipboard operation
goshimmer copied to clipboard

Fix Ed25519 key derivation

Open Wollac opened this issue 3 years ago • 2 comments

The derivation currently implemented in hive.go and the wallet does not offer the needed security requirements. It should be changed to a SLIP-10-based implementation to offer the proper security and compatibility with Chrysalis and other standards.

Wollac avatar Jun 11 '21 07:06 Wollac

Hey @Wollac

I thought I might take a stab at this issue (it is on the sprint log) but I am not sure what is the way you had in mind. I see currently Hive relies on an outdated implementation from Oasis protocol.

Do we want to find another 3rd party lib? Do we want use what you created in your crypto demo? Or maybe we want to use adapters from the implmentation we have in rust?

GalRogozinski avatar Sep 19 '21 10:09 GalRogozinski

I would propose to just go for the easiest approach. I think the Oasis Ed25519 implementation was chosen for some performance considerations, but with Go 1.16 there were significant performance improvements to Ed25519 so this is even less relevant now.

I think, an implementation based on my "crypto demo" should be the easiest, at least this is how Hornet is currently doing it. And then either parse those keys as Oasis keys or just replace it with the stdlib implementation.

Wollac avatar Sep 20 '21 09:09 Wollac