公钥不能解密私钥解密的数据。所以私钥和随机数是各自保护自己的秘密武器。
再把流程捋一下。 主要来自文献[1].
正确性:由RSA秘钥算法生成知(证明过程见RSA解密): Server: Client: 如果 ,显然 , 否则不相等。安全性: 基于大数分解困难假设(n=pq, 知道p,q 很容易计算n,反过来很难),安全位2048bits。 其次,Server拿不到 无法暴力枚举获得结果Hash值,Client秘钥d也无法枚举计算结果Hash值,保护了差集。