Makaro is a logic puzzle with an objective to fill numbers into a rectangular grid to satisfy certain conditions. In 2018, Bultel et al. developed a physical zero-knowledge proof (ZKP) protocol for Makaro using a deck of cards, which allows a prover to physically convince a verifier that he/she knows a solution of the puzzle without revealing it. However, their protocol requires several identical copies of some cards, making it impractical as a deck of playing cards found in everyday life typically consists of all different cards. In this paper, we propose a new ZKP protocol for Makaro that can be implemented using a standard deck (a deck consisting of all different cards). Our protocol also uses asymptotically less cards than the protocol of Bultel et al. Most importantly, we develop a general method to encode a number with a sequence of all different cards. This allows us to securely compute several numerical functions using a standard deck, such as verifying that two given numbers are different and verifying that a number is the largest one among the given numbers.
翻译:Makaro 是一个逻辑拼图, 其目的在于将数字填入矩形网格, 以满足某些条件。 2018年, Bultel 等人开发了Makaro 使用纸牌甲板的物理零知识证明协议( ZKP), 使验证人能够亲自说服核查人, 证明他/ 她知道谜题的解答, 而不会透露它。 然而, 他们的协议需要一些卡片的几张相同副本, 这使得它在日常生活中找到的扑克牌的甲板上通常由不同的卡片组成不切实际。 在本文中, 我们为Makaro 提出了一个新的 ZKP 协议, 可以使用标准甲板( 由所有不同的卡片组成的甲板) 执行 。 我们的协议还使用比 Bultel 等 协议少的平方卡片。 最重要的是, 我们开发了一种普通的方法, 用所有不同卡片序列编码数字。 这让我们使用标准甲板安全地计算数数数数数, 比如两个给定的数字是不同的, 并核实给定数字中最大的一个。