2011-04-23 16 views
8

比方说,我有一个密码:对于紧急情况:通过与4人的一部分份额,解密有2人

AAABBBCCCDDD 我可以很容易给人一个第一部分(AAA),人B的第二部分,等等。

但是有没有一个选项四个人中的任何两个可以从我给他们的文本的一部分解密/形成密码?很明显,只有AAA和DDD部分不能形成密码。

怎么样? :)

+0

在你打算实施这种语言? – Yuck 2011-04-23 17:42:37

+7

我不知道任何可以做到这一点的加密算法,但我假设这将工作的唯一方法是如果您为此实现自己的软件。那么为什么不只是有4个独立的密码,并要求你的系统进行双重身份验证。所以,而不是疯狂的加密逻辑,你将只有一个接受2组凭证的用户界面 – DXM 2011-04-23 17:45:36

+0

我不明白你的问题。您是否在问如何创建一个安全系统,以便共有4个人中的2个或更多人能够访问该系统?换句话说,一个人不能访问它,但任何2,3或全部4的组合,人们可以?如果是这样,最后一句是什么意思?“显然,仅从AAA和DDD部分不能形成密码”。 – 2011-04-23 18:07:17

回答

6

这就是所谓的“秘密共享”,“密钥分割”或“密钥分发”,可以用一些公钥密码算法完成。

以下是关于这个问题的几个环节:

一个简单的方法来做到2出4将钥匙分成4片,分发给每个人3件。分布式部件将知道他们拥有哪些部件。

这里的一个样品分配:

  1. 1 + 2 + 3
  2. 1 + 2 + 4
  3. 1 + 3 + 4
  4. 2 + 3 + 4

正如你所看到的,无论你挑选哪两个人,他们总是会有四件。数学方法越多,你得到的人数和组合越多,但它肯定是可行的。

2

是否放弃3/4的密码给每个人可以接受?

人答:AAABBBCCC
某乙:AAABBBDDD
人C:AAACCCDDD
人·d:BBBCCCDDD

任何两个人将有整个事情。他们不得不在分裂和合并他们的组件时做一些尝试和错误,但它可能是可行的。

+0

是的,这可能是一个简单明了的答案 – 2011-04-23 18:07:45

1

说你的密码是 “密码”,给每个人以下:

答:XXssword

B:paXXword

C:passXXrd

d:passwoXX

+0

你会如何使用'X'来让你知道它是一个占位符而不是密码字符串的一部分? – ajwood 2011-04-23 22:01:31

+0

您可以使用任何转义序列或其他非法字符。我不知道您正在使用的语言,或者您只是将部分密码交给4个人在纸上。但是,如果*不是密码中的合法字符,则可以给B“pa * word”。如果换行符是非法字符,您可以给他们“pa \ nword” – rob 2011-04-24 01:58:06

相关问题