sui icon indicating copy to clipboard operation
sui copied to clipboard

crypto: ser/de update and use nonrecoverable sig for secp256k1/r1

Open joyqvq opened this issue 2 years ago • 2 comments

What Changed

  • For CLI and SDK, a ECDSA k1 and r1 signature is produced using the nonrecoverable form. This means the signature is 64 bytes instead of 65.
  • The signature verification in sui also uses the nonrecoverable option. A valid signature should have 64 bytes.
  • Also exposes secp256k1_verify and secp256k1_verify_recoverable API in move.
  • Ser/de of public keys and signatures now uses the most compact serialization with ToFromBytes.

What Do You Need To Do

  • If you are using SDK to produce a Secp256k1 signature, no change is needed.
  • If you are using something else to produce a signature, your old signature will not be considered valid.You should just need to remove the last byte to make it a valid signature.

Next:

  • r1 verify and verify_recoverable added in https://github.com/MystenLabs/sui/pull/7773

joyqvq avatar Jan 16 '23 12:01 joyqvq

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated
explorer ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Jan 30, 2023 at 4:32PM (UTC)
frenemies ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Jan 30, 2023 at 4:32PM (UTC)
wallet-adapter ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Jan 30, 2023 at 4:32PM (UTC)
1 Ignored Deployment
Name Status Preview Comments Updated
explorer-storybook ⬜️ Ignored (Inspect) Jan 30, 2023 at 4:32PM (UTC)

vercel[bot] avatar Jan 16 '23 12:01 vercel[bot]

Looks good to me!

jonas-lj avatar Jan 26 '23 21:01 jonas-lj