模拟随机抽取名字并确保保密的最佳低技术协议是什么? [关闭]

2023-11-29

每年感恩节,我的家人都会从帽子里抽出名字来决定谁将成为圣诞礼物交换的“秘密圣诞老人”。对于我们的家庭文化来说,重要的是家里没有其他人知道彼此是谁,这样才能保持有趣。选择的唯一规则是你不能选择你的配偶。如果发生这种情况,您将再次抽奖并将您配偶的名字放回帽子中。

由于今年的物流和旅行计划,我们提前庆祝圣诞节(感恩节后仅两周)。

为了有足够的时间寻找礼物,我们想现在就选择名字。我们的家庭分布在美国各地。有些成员可以访问互联网,有些则不能(例如我亲爱的奶奶)。

我想做的是有一个公平的协议,可以模拟凭空捏造名字,并确保一定程度的保密性,但又不会过于复杂。有些网站,例如前者画名网或其他类似的通常要求人们输入他们的电子邮件地址。我想绝对确保我家人的电子邮件地址不会被滥用 所以我不想信任他们到另一个网站。

我能想到的最好的协议是:

  1. 编写一个程序,随机挑选人员并确保人们不会找到他们的配偶。
  2. 该程序将向我显示一半的名单,但不会显示谁知道了我的名字,但会显示我的名字是谁以及谁知道了我妻子的名字。
  3. 然后,我将离开房间,程序将向我的妻子显示另一半人员列表(其中包括谁有我的名字)。
  4. 然后我和我的妻子将联系每个人并告诉他们他们有谁。

我是否缺少更好的协议?我所说的“更好”是指可以更加保密的东西。再次强调,由于物流问题并为了简单起见,我不想建立一个网站。


拿一些纸和一些信封。每个信封的编号为 2,每张纸的编号为 2,这样您就有 2 个“1”信封和 2 个“1”纸、2 个“2”信封和 2 个“2”纸等。

让您或您的妻子将每对夫妇的名字写在匹配的纸上,例如:您可以将您的名字写在“1”纸上,而您的妻子则必须写在另一张“1”纸上。适当地填写匹配的信封(您的地址将在示例中的两个“1”信封上)。

把所有的文件和信封翻过来,这样就看不到任何名字或地址(你did记得把数字写在纸和信封的背面,对吗?)交换位置,以便做的人not将文字填入信封。请务必将每张编号的纸张放入具有不同编号的信封中(例如:切勿将“1”纸张放入“1”信封中)。这样,你就会知道 A) 没有人得到自己,B) 没有人得到自己的另一半。

并非每个答案都需要计算机参与!只需询问离您最近的 D&D 玩家即可。 :-P

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

模拟随机抽取名字并确保保密的最佳低技术协议是什么? [关闭] 的相关文章

  • 使用 2 个不同的哈希函数是检查文件完整性的好方法吗?

    我有一个网站 用户可以上传他们的文件 它们存储在服务器上 其元数据记录在数据库中 我正在实施一些简单的完整性检查 即 该文件的内容现在逐字节与上传时是否相同 示例 对于内容userfile jpg MD5 哈希为39f9031a154dc7
  • 是否曾经建议使用 ECB 密码模式?

    判断从这篇关于密码模式的维基百科文章 http en wikipedia org wiki Block cipher modes of operation以及我听说过的有关 ECB 的其他事情 这是一个很大的禁忌 并且可能会泄露有关您的加密
  • 将 PHP mcrypt 与 Rijndael/AES 结合使用

    我正在尝试使用 php 中的 mcrypt 和密码 Rijndael 加密一些文本消息 但我不确定 MCRYPT MODE modename 根据 PHP 手册 这些可用 ecb cbc cfb ofb nofb 或 stream 但我读到
  • 数字总和直到作为输入给出的数字

    如果给出一个数字作为输入 则找到该数字之前所有数字的总和 例如输入 11 则答案为 1 2 9 1 0 1 1 蛮力方法是计算所有小于某个数字的数字的数字之和 我已经实现了该方法 我想知道是否有其他方法可以在不实际计算每个数字的数字之和的情
  • 将 RSA 密钥从 BigIntegers 转换为SubjectPublicKeyInfo 形式

    WARNING 最初的问题是关于 PKCS 1 编码密钥 而问题中的实际示例需要SubjectPublicKeyInfo X 509 编码密钥 我目前正致力于在 java 中从头开始实现 RSA 算法 特别是密钥生成方面 现在我的代码可以给
  • 如何改进 PHP 分页算法?

    我正在研究 PHP 中的分页算法 我可以猜测它需要改进的空间 所以我想对如何改进它有一些想法 无论是从 UI UX 的角度清理代码本身 还是你能想到的任何其他东西 该算法应输出如下所示的分页 1 2 3 6 7 8 97 98 99 or
  • 在 .NET 中加载 ECC 私钥

    我有一个 ECC 私有密钥和一个包含公钥的证书文件 我可以获取 PEM 或 DER 格式的文件 我可以将证书读入X509Certificate用这个代码 var certbytes File ReadAllBytes certificate
  • 是否可以证明序列是否是随机的?

    考虑以下输入 1 1 2 3 5 8 这不是随机的 2 4 8 16 32 这都不是 4 1 2 11 5 9 这个看起来像随机序列 我想问是否有这样的算法来证明输入是否是随机的 不 没有这样的证明 如果你有完全随机的数字 则每个长度为 n
  • 动态规划的复杂组合条件

    我正在探索动态规划设计方法如何与问题的底层组合属性相关 为此 我正在查看的规范实例硬币找零问题 Let S d 1 d 2 d m and n gt 0是请求的金额 我们可以用多少种方式相加n仅使用中的元素S 如果我们遵循一个动态规划如果要
  • 循环中的递归算法复杂度(运行时间)

    我想了解您对如何检测以下递归算法的 T n 运行时间 的意见 Charm 是一种用于发现事务数据库中频繁闭项集的算法 频繁闭项集列表是在一组交易 tids 中多次出现的频繁项 例如面包和牛奶是经常一起购买的物品 它们是通过将索引为 i 的当
  • 缓存感知树的实现

    I have a tree where every node may have 0 to N children 用例是以下查询 给定指向两个节点的指针 这些节点是否位于树的同一分支内 Examples q 2 7 gt true q 5 4
  • 通过保留和复制来复制向量,还是通过创建和交换来复制向量更有效? [复制]

    这个问题在这里已经有答案了 我正在尝试有效地复制向量 我看到两种可能的方法 std vector
  • 将列表传递给 PyCrypto 中的 AES 密钥生成器

    我尝试使用 Pycrypto 生成 AES 密钥 但收到以下错误 类型错误 列表 不支持缓冲区接口 对于以下声明 aescipher AES new mykey AES MODE ECB mykey 属于类型list并包含 18854347
  • 良好的线性代数包[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在为一个项目实现一些谱图算法 其中很大一部分是查找大型稀疏矩阵以及乘法矩阵的特征值和特征向量 我的问
  • 线性模式匹配算法?

    我有一个由 0 和 1 组成的线性列表 我需要匹配多个简单模式并找到第一个出现的情况 例如 我可能需要找到0001101101 01010100100 OR 10100100010长度为 800 万的列表内 我只需要找到第一次出现的情况 然
  • 给定一个数字 0-9 的数组和一个整数 n,找到可由输入数组组成且小于 n 的所有整数

    问题是这样的 给你一个数字 0 9 的数组和一个整数n 该数组可能包含任何给定数字的重复项 找到所有可以通过连接输入数组中的数字形成的整数并且小于n 输入数组中的数字可以在输出的元素中重复 例如 输入为 2 5 8 且 n 223 则输出应
  • 全部配对图表上的所有路径

    这可能是一个没有最佳解决方案的问题 假设我有一个有向图 不知道它是否有循环 循环检测将是这个问题的方面之一 给定一组顶点 可能是数百万个顶点 我需要计算给定图的所有唯一对之间的所有不同路径 没有重复顶点的路径 我该如何应对这种情况 让我们看
  • 在数组中出现超过 n/3 次的数字

    我读过这个问题查找数组中最常见的条目 https stackoverflow com questions 278488 puzzle find the most common entry in an array 乔恩 斯基特的回答真是令人兴
  • 有向无环图的拓扑排序为阶段

    是否有一种算法 给定一个未加权的有向无环图 将所有节点排序到节点集列表中 使得 拓扑顺序被保留 即 对于所有边u gt v v出现在列表中更靠下的集合中u and 列表的长度是最小的 这个问题有名字吗 Example 下图的一种可能的排序是
  • 快速排序优化

    我正在学习排序算法 下一步 我试图让我的实现接近std sort 到目前为止我还很远 我有 3 个快速排序的实现 标准快速排序 使用临时数组 quicksort with following optimizations median3 用于

随机推荐