我想为两个玩家的游戏加密保存游戏数据--你可以把它看作是经典的“战舰”游戏“战舰”游戏:
要创建保存游戏,这两个状态合并为加密格式。这样,双方玩家都可以下载一个扑救游戏,而不查看它是什么对手的游戏状态。
服务器可以知道这两个游戏状态,并且必须解密两个玩家的游戏状态才能知道它们。
创建密码密钥的输入可以是:
我想要使用非对称加密和公钥加密。
但是当我考虑到我的解决方案时,我意识到这看起来很简单,但我记得密码规则1:永远不要自己做,所以我在这里寻求建议。
玩家输入他们的名字,密码和游戏ID。
如果匹配的名称A,名称B,密码A,密码B和游戏ID,我们有一个“解密密钥”,将成功地解密两个玩家的游戏状态的服务器。
问题是我有“太多的”输入(公钥)和太少的私钥。我不知道怎么把它们混在一起。
我发现的一个模型只适用于一个公钥和私钥https://docs.huihoo.com/globus/gt4-tutorial/ch09s03.html --我的复杂性是这个的2倍。许多不同的输入组合为一个1键.我怎么把它们混在一起我不知道。
PS我不知道如何更好地描述这个问题,找到一个已经存在的解决方案。你能推荐一门针对多人游戏的入门课程吗?
发布于 2021-04-03 08:18:43
你甚至不需要服务器解密。你需要玩家通过提供董事会的散列(可能有额外的随机数据来增加熵)来承诺他们的初始董事会。然后他们就可以像往常一样玩了。并使用独立密钥以加密形式保存游戏。在游戏结束时,承诺将被披露,以验证没有作弊。除了存储信息和可选转发消息之外,服务器不需要做任何事情。
或者,如果您有可信的服务器,则跳过状态加密,只让双方对服务器进行身份验证,并通过安全通道(例如HTTPS)与服务器进行通信,服务器将强制执行权限,只让每个玩家看到自己的状态。
https://crypto.stackexchange.com/questions/89171
复制相似问题