我正在使用 python 和 cryptography.io 来签名和验证消息。我可以通过以下方式获得签名的 DER 编码字节表示:
cryptography_priv_key.sign(message, hash_function)
...根据本文档:https ://cryptography.io/en/latest/hazmat/primitives/asymmetric/ec/
来自 256 位曲线的 DER 编码 ECDSA 签名最多为 72 个字节;请参阅:ECDSA 签名长度
但是,根据 r 和 s 的值,它也可以是 70 或 71 个字节。事实上,如果我检查这个函数的输出长度,它会在 70-72 之间变化。到目前为止我有这个权利吗?
我可以将签名解码为整数 r 和 s。这些显然都是 32 个字节,但我不清楚是否会一直如此。
将这两个整数转换为字节并通过网络发送它们是否安全,以便在另一端再次对它们进行编码?