我正试图用加密技术开发我的混乱应用。现在,我提出了授权和消息交换的算法。
服务器和客户端之间的连接是通过https实现的。
8月:
交换:
在这种情况下,服务器没有用户的密码,因此无法生成私钥。但是,如果有人能够访问服务器,他可以通过伪造某人的公钥来执行攻击,从而能够解密消息。
那么,如何验证密钥不是由服务器伪造的呢?我在注册生成秘密字符串时想到了用户,用它进行了一些加密,所以服务器不能对它进行解密,接收者应该在不知道秘密和私钥的情况下验证秘密字符串用于生成密钥。但我不知道该怎么做。
发布于 2018-01-24 10:04:21
密码学对专业人士来说很难,更别提我们这些凡人了。对于现实世界的编码,重要的是不要尝试自己去做,因为你可能会犯一个错误。
如前所述,信号协议应该为您提供所需的功能。例如:
支持异步通信(“脱机消息”)
看看维基百科的文章。
虽然您提到的一件事是对受损服务器的恢复能力。事情是,在某种程度上,一定有一个政党,你相信整个事情的工作,否则密钥分配不能工作。我们可以确保另一方用固定的证书在所有公钥上签名,但我们必须信任它们。TLS使用证书颁发机构的层次结构来实现这一点,我们对其根CA进行了绝对信任。
https://crypto.stackexchange.com/questions/54978
复制相似问题