代码之家  ›  专栏  ›  技术社区  ›  Aaron

是否有一种算法可以将消息安全地拆分为x个部分,至少需要y个部分才能重新组装?

  •  15
  • Aaron  · 技术社区  · 14 年前

    是否有一种算法可以将消息安全地拆分为x个部分,至少需要y个部分才能重新组装?显然,y<=十。

    我的问题是,这可能吗?我可以看看什么算法来实现这一点?

    7 回复  |  直到 14 年前
        1
  •  18
  •   erickson    14 年前

    Shamir Secret Sharing Blakley's scheme 是两种公认的、可证明安全的共享秘密的方法,因此只有当预先确定的“共享”数合并时才能恢复秘密。

        2
  •  3
  •   Sparr    14 年前

    检查 http://parchive.sourceforge.net/ . 有一个基于的规范和软件 Reed-Solomon Code 将存档拆分为 Y 奇偶校验文件。

    例如您将一个5mb归档文件拆分为五个1mb“数据”文件,并创建另外五个1mb“奇偶校验”文件。您可以使用数据和奇偶校验文件的任意组合来恢复原始文件,例如1个数据文件和4个奇偶校验文件,或5个奇偶校验文件。

    编辑:应用程序将把你的档案分成X个部分,创建(X-Y)奇偶校验文件,然后将一部分和所有奇偶校验文件交给每个收件人。然后他们中的任何一个都可以把他们的部分放在一起,加上他们共享的奇偶校验文件,以产生所需的输出。

        3
  •  2
  •   Boolean    14 年前

    我觉得,不必将消息分成x个部分,您实际上可以加密消息并在y个人之间分割密钥。

    类似的问题在现实世界中也会出现。采用El-gamal加密和重随机化相结合的方法来解决这一问题。

    --巴拉

        5
  •  0
  •   Josh McFadden    14 年前

    听起来像 RAID 5 磁盘需要 < 重新组装隔板。这个 Reed-Solomon error correction algorithm

        6
  •  0
  •   Larry K    14 年前

    是的,这是可能的。它被称为前向纠错。看见 http://en.wikipedia.org/wiki/Forward_error_correction

        7
  •  0
  •   Steve-o    14 年前