密码套件网站说TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384是安全的,但是我怎么知道哪个RSA被用来生成签名呢?如果是散列的,您在签名前对消息进行散列,那么攻击者在计算:(消息、签名):(散列(M)^e,散列(M),散列(M))而它是有效签名时,不能生成有效的签名吗?
发布于 2021-10-17 02:44:48
如果是散列的,您在签名前对消息进行散列,那么攻击者在计算:(消息、签名):(散列(M)^e,散列(M),散列(M))而它是有效签名时,不能生成有效的签名吗?
实际上,hash(m)不太可能成为任何东西的有效签名。当TLS使用RSA进行签名时,我们所做的是散列记录(即签名之前发生的记录序列),将填充应用于哈希,然后计算pad(hash(transcript))^d。也就是说,当TLS验证签名时,它接受签名,计算signature^e,并查看是否恰好是pad(transcript)。hash(m)^e不太可能有一个有效的填充模式;hahs(m)^e的字节需要是值00 01 FF FF FF ... FF 00 <DER of hash function>。
https://crypto.stackexchange.com/questions/95628
复制相似问题