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

在哪里可以了解共享加密密钥的经验证的方法?

  •  10
  • erickson  · 技术社区  · 17 年前

    假设一个组想要加密一些信息,然后在组成员之间以一种需要组一致同意才能解密信息的方式共享加密密钥。我对各种各样的场景感兴趣,在这些场景中,共识的广度从一致到绝对多数不等。一种有用的技术可以应用于对称密钥、私钥或两者。

    我可以尝试自己的方法,因为我相信很多会员都可以。但就这个问题而言,我很感兴趣 只有 在已被广泛出版并经受了专家密码分析员审查的方法中。期刊引文不错,但对学术资料的解读也很有用。

    5 回复  |  直到 16 年前
        1
  •  10
  •   Will M    17 年前

    我一直对这种秘密分享技术着迷。我在互联网上见过实现它的代码,但从未见过实际的应用程序。 Shamir's secret sharing 维基百科的文章链接到一些实际的代码,以及原始的学术文章。

        2
  •  4
  •   Chris    17 年前

    你所描述的听起来很像“秘密分裂”(第12.1节)。网络摄影导论。特拉普和华盛顿。第二版)的基本思想是,你可以想出一个多项式,其中包括你的“秘密”(一个关键)作为一个点在线上。你可以通过在这个多项式上选择其他点来给出“份额”。两个点定义了F(x)=a x+b的一条线,三个点定义了F(x)=a x^2+b x+c的多项式,四个点定义了F(x)=a x^3+b x^2+c x+d的某种形式,依此类推。你可以选择一个包含你的秘密的多项式作为一个点,并且多项式的度数足够让任何N个人都可以重建它。

    这就是所谓的“沙米尔阈值方案”的基本思想。

    参见维基百科 Secret Splitting Shamir's Secret Sharing 维基百科页面有一些链接指向这个想法的实现,包括 Windows UNIX .

        3
  •  1
  •   niXar    17 年前

    这很容易实现 error-correcting codes . 您可以使用命令行工具,例如 蛋白酶激活受体2 (这并不完全适用于此特定目的BTW,因为它生成不同大小的恢复块)。假设你有(N+M)选民,并且想要N票的法定人数。生成n个私钥k_墈墈_,k墈墈并生成相同尺寸的附加ECC块。这样,任何n个块都足以重新构造密码k___k___…__k n。

        4
  •  1
  •   Kaushik    17 年前

    到这里来讨论沙米尔秘密分享的数学基础,并简要讨论它的实际应用类型。向下滚动页面到有关多项式和秘密分享的讲义。这可能是对该地区的基本概述,但对你来说应该是相当有趣的。 Discrete Mathematics Notes

        5
  •  0
  •   Ashish Chaurasia    16 年前

    Lotus Notes提供了“silo密码”的实际实现,通过该实现,对某些资源(数据/信息/文档)的访问被锁定为“共享ID”——ID(我认为是基于RSA的认证PKI系统的一部分)由2个或多个(我认为最多16个)个人用户密码设置。认证者/管理员设置了一个方案,在该方案中,必须从可用密码或所有密码中输入任意数量的密码,才能“打开”ID以供活动使用。此过程通常用于将组织或组织单位证书锁定到5个管理员中的2个或3个/企业主管授予访问权限,从而确保可以控制高级别证书使用/访问,并避免缺勤的管理人员。

    推荐文章