我正在寻找一个 python 模块来创建一对具有以下两个属性的匹配标记:
- 可以检查它们是否匹配
- 不可能从另一个令牌中获得一个令牌
PS:据我了解,RSA公钥可以由私钥持有者派生,所以这对我们没有帮助。
我正在寻找一个 python 模块来创建一对具有以下两个属性的匹配标记:
PS:据我了解,RSA公钥可以由私钥持有者派生,所以这对我们没有帮助。
您正在寻找使用随机部分的签名函数。例如,可以使用 RSA-PSS 和私钥对某些东西进行签名。那么令牌将是公钥和签名的组合。RSA-PSS 与标准 PKCS#1 v1.5 签名不同,它们包含此随机组件;PKCS#1 v1.5 为相同的输入提供相同的签名。
请注意,RSA 需要相对较大的密钥和签名(目前最低为 2048 位)如果您需要较小的令牌,您可以查看椭圆曲线,但这更难理解和实现。如果您采用这种方式,您可以使用命名的 NIST 曲线,例如 P-256。这将使最小签名大小约为 EC 密钥大小(最多 128 个字节)的 3 到 4 倍,而不是 RSA 的 512 个字节。
似乎 M2Crypto 支持 PSS 签名,但由于我不编写 Python 程序,如果你遇到困难,你将不得不问另一个问题。