Our great sponsors
-
age
A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Public keys are 32 bytes long, and private keys are 64 bytes long. The Ed25519 functions check to make sure the key is the correct length before using them:
https://github.com/golang/go/blob/d4bfe006155ea0d9c2970e22fc...
The types would ideally use fixed-length arrays, but at the time the API was designed, Go had some ergonomic problems that would have made that annoying:
https://github.com/golang/go/issues/24376#issuecomment-37278...
The ergonomic problems are now in the process of being fixed, but the Ed25519 API won't change due to backwards compatibility guarantees.