【发布时间】:2019-07-04 12:02:44
【问题描述】:
我想使用合适的 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()和crypto_box_easy())。密钥对类型与加密功能/能力之间的兼容性矩阵是什么? - 如果有一种可以用于所有功能的键类型,它是哪一种?
【问题讨论】:
-
这个问题似乎颠倒了。听起来你在说,我想用一个库,但我不知道我想写什么样的程序。这就像本末倒置。
标签: javascript cryptography public-key libsodium nacl-cryptography