首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >战舰游戏状态保存,所以玩家不能查找对方的状态,但是服务器可以

战舰游戏状态保存,所以玩家不能查找对方的状态,但是服务器可以
EN

Cryptography用户
提问于 2021-04-03 07:24:43
回答 1查看 76关注 0票数 0

1.总结问题

我想为两个玩家的游戏加密保存游戏数据--你可以把它看作是经典的“战舰”游戏“战舰”游戏

  • 玩家A知道他的游戏状态,不知道玩家B的游戏状态。
  • 玩家B知道他的游戏状态,不知道玩家A的游戏状态。

要创建保存游戏,这两个状态合并为加密格式。这样,双方玩家都可以下载一个扑救游戏,而不查看它是什么对手的游戏状态。

服务器可以知道这两个游戏状态,并且必须解密两个玩家的游戏状态才能知道它们。

创建密码密钥的输入可以是:

  • 球员的名字(只有球员A和B知道)
  • 游戏ID (只为玩家A和B所知)
  • 玩家的密码(每个密码只为各自的玩家所知,并且总是被输入到前端-服务器不需要知道)

2.提供详细信息和任何研究

我想要使用非对称加密和公钥加密。

但是当我考虑到我的解决方案时,我意识到这看起来很简单,但我记得密码规则1:永远不要自己做,所以我在这里寻求建议。

3.在适当的时候,描述您尝试过的

玩家输入他们的名字,密码和游戏ID。

如果匹配的名称A,名称B,密码A,密码B和游戏ID,我们有一个“解密密钥”,将成功地解密两个玩家的游戏状态的服务器。

问题是我有“太多的”输入(公钥)和太少的私钥。我不知道怎么把它们混在一起。

我发现的一个模型只适用于一个公钥和私钥https://docs.huihoo.com/globus/gt4-tutorial/ch09s03.html --我的复杂性是这个的2倍。许多不同的输入组合为一个1键.我怎么把它们混在一起我不知道。

PS我不知道如何更好地描述这个问题,找到一个已经存在的解决方案。你能推荐一门针对多人游戏的入门课程吗?

EN

回答 1

Cryptography用户

发布于 2021-04-03 08:18:43

你甚至不需要服务器解密。你需要玩家通过提供董事会的散列(可能有额外的随机数据来增加熵)来承诺他们的初始董事会。然后他们就可以像往常一样玩了。并使用独立密钥以加密形式保存游戏。在游戏结束时,承诺将被披露,以验证没有作弊。除了存储信息和可选转发消息之外,服务器不需要做任何事情。

或者,如果您有可信的服务器,则跳过状态加密,只让双方对服务器进行身份验证,并通过安全通道(例如HTTPS)与服务器进行通信,服务器将强制执行权限,只让每个玩家看到自己的状态。

票数 2
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/89171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档