我想使用合适的 libsodium 密钥对作为用户身份,但我还不知道我将提供哪些加密功能。
libsodium 中似乎有 3 种类型的密钥对生成:
crypto_box_keypair()
crypto_kx_keypair()
crypto_sign_keypair()
此外,似乎有 3 种类型的键:
// Source: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/libsodium-wrappers/index.d.ts
export type KeyType = 'curve25519' | 'ed25519' | 'x25519';
我不知道哪种密钥类型对应于哪个密钥对生成函数,或者它们是否完全对应。
所以,问题:
- 每个密钥对都设计为与某些功能一起使用(例如,
crypto_box_keypair()
withcrypto_box_easy()
)。密钥对类型和加密功能/能力之间的兼容性矩阵是什么? - 如果有一种可以与所有功能一起使用的键类型,它是哪一种?