gpt4 book ai didi

java - 基于身份的加密和开源

转载 作者:行者123 更新时间:2023-12-01 07:16:32 44 4
gpt4 key购买 nike

我最近遇到了基于身份的加密(IBE)的概念,这似乎是一个新颖的想法。然而,我没有注意到密码学界有很多人试图找到破解它的方法。我错了吗?

同样,我相信,除非你能够真正分发开源实现,让黑帽人群可以攻击它,否则它可能没有优点?

我想我想了解整个社区使用此方法的经验以及将其合并到您的应用程序中并分发有多容易?

(编辑:这里有一个关于基于 ID 的加密的 Wikipedia article。)

最佳答案

我不清楚你想问什么,所以我会编造一些事情并回答它们。如果我变暖了请告诉我

首先,“基于身份的加密”实际上并不是一种加密方案,而是一种 key 管理方案。在任何公共(public)/私有(private)(或者从技术上讲,“非对称”)加密中,都有两个 key 。其中一种用于加密,一种用于解密,并且它们具有特殊的属性,即如果您知道其中之一,那么构造另一个的难度仍然是指数级的(或被认为是指数级的)。因此,我可以使用我的私钥加密给您的一封信;我发布我的公钥。如果您可以使用公钥解密这封信,那么您就可以确信我是真正发送这封信的人。这就是数字签名方案的核心思想。

问题在于,您必须有一种生成和管理这些 key 的方法,而事实证明这很困难,因为该方案的好坏取决于您对私钥的保护。有多种方法可以实现此目的。

基于 ID 的加密尝试简化此过程 key management通过提出特殊的算法来解决这个问题,这些算法从已知的公共(public)信息(例如电子邮件地址)构建私钥。要以仍然难以弄清楚私方的方式做到这一点,您需要有一个受信任的实体,该实体根据他们知道的其他 secret 构建私钥。因此,与知道您的电子邮件地址的人建立联系。您前往受信任的提供商并要求生成私钥。您想要与之通信的人知道您使用哪个提供商,并从该提供商获取主公钥

现在,您想要发送的人可以从您的 ID 生成公共(public)端,除了来自提供商的一些主 key 信息之外,无需知道任何其他信息;关键永远不是传输方向。

换句话来说,它看起来像这样:Alice 想向 Bob 发送加密的电子邮件。他们都信任一个提供者,汤姆。

  • Alice 使用她的电子邮件地址“alice@example.com”向 Tom 发送请求,并取回私钥P。有一个相应的公钥p,但Tom 不会将其发送给任何人。
  • Bob 向 Tom 发送请求并获取 Tom 的主公钥m
  • Alice 使用她的私钥加密她的消息“x”,给出 {"x"}P。 (该符号只是“消息“x”“包装”或使用 key P 进行加密。)然后 Alice 将该消息发送给 Bob。
  • Bon 使用他对 Alice 的电子邮件地址和 Tom 的主 key 的了解m并进行计算。 p=f("alice@example.com", m)。现在他应用解密解密({“x”)P,p),噗的一声,出来了爱丽丝的消息。

这些方案的特点是它简化了一些关键管理问题,但只是在一定程度上。您仍然需要生成 key ,更糟糕的是,您必须真正信任汤姆,因为他知道一切:他可以生成您的私钥,并用它进行加密,使任何消息看起来都像它来了一样来自你。这意味着它创建了一个固有的 key 托管方案;您的私钥可以被找到。

从某些方面来说这很好;它解决了丢失 key 的问题。但出于大多数原因,人们想要使用加密,这很糟糕。现在有人可以传唤汤姆,或者只是殴打他,并获取您的私有(private)数据。

结果是,基于 ID 的加密本身是一个好主意,但没有很大的市场。

关于java - 基于身份的加密和开源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/788844/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com