Show HN: GoUmbral – ECC arithmetic layer, and soon-to-be proxy re-encryption lib
github.com
github.com
What does OpenSSL provide that Go doesn't have? I'm asking because I'm sure there's something (or you wouldn't have done this), and I'm curious.
We also have a `Point` struct that hits the OpenSSL EC_POINT API. Go only supports constant time arithmetic for a few specific curves (also not secp256k1).
I read the README and the blog post, and found neither contains a “wat is this”. The repo links to an Umbral paper PDF that’s hard to read on mobile - requiring a separate PDF viewer app with tiny font - which also doesn’t contain a concrete example in the abstract.
¯\_(ツ)_/¯ Maybe I’m not the target audience.
Umbral is a split-key version of PRE, which splits the re-encryption key into many shares. A threshold number of these shares are then required to re-encrypt the data (similar to Shamir’s Secret Sharing).
Here's a post describing split-key threshold proxy re-encryption in slightly more detail: https://blog.nucypher.com/unveiling-umbral-3d9d4423cd71
We (NuCypher) are using this to build a blockchain privacy layer in the form of a decentralized key management system similar to AWS KMS or Google Cloud KMS.
You can read our paper that describes our use-case here: https://www.nucypher.com/whitepapers/english.pdf