特别感谢天花板和 Janmajaya Mall的反馈和审查。
在本系列的最后一部分中,我们全面了解了主流和保守的加密模糊化(iO)协议的技术树。这些协议允许您以一种方式“加密”程序,使得任何人都可以在明文输入上运行“加密”程序并获得明文输出,而无法看到程序的内部逻辑。这可以用于各种用例,特别是程序内部含有某些秘密密钥的情况,而模糊化的目标是给某人一个包,让他们在某些情况下使用秘密密钥做一些事情,但不能做其他事情。
到目前为止,这些协议的最大缺点是其字面上的天文级运行时间 - 如果您实际尝试计算运行其中一个所需的时间,您会得到一个超过宇宙生命周期的答案。因此,尽管最近在可行性方面取得了突破,模糊化协议到目前为止仍然是理论上的好奇。
这篇文章将详细描述一种不同风格的模糊化:钻石iO(论文,演示)。这种方法依赖于更“大胆”和未经测试的密码假设,但它仅实现“行星级”而非天文级的运行时间 - 在今天仍然不可行,但或许只需要进一步的优化就可以在至少某些用例中成为现实。
不同类型的模糊化
钻石iO如何工作?
从高层次来看,钻石iO是通过修改BGG+14基于属性的加密(ABE)方案构建的,在上一篇文章中解释过。我强烈推荐您在继续之前重新阅读该部分。
这也不是这个Abe。如果您知道这是哪个Abe,给您加分 - 比上一篇中四个更难!
与更传统的iO协议类似,钻石iO在ABE内部运行FHE计算,然后只在评估者正确运行计算的情况下提供解密结果的方式。但是,钻石iO 使用这些机制的方式是不同的。首先,它使用一种完全不同的机制来进行条件FHE解密。其次,它使用一种完全不同的机制来生成输入的编码。
这两个修改是相互关联的,是钻石iO能够更高效的真正原因 - 它“在计算上与功能性加密同样密集”,而不是在FE之上构建一个更复杂的塔。
作为提醒,BGG+14通过维护如下形式的编码来工作:
\(s * (B - G * m) + e\)
其中:
- \(s\) 是一个秘密
- \(B\) 是一个公共矩阵,每个“线路”在电路中都有一个不同的矩阵
- \(m\) 是计算时该线路上的比特
- \(e\) 是一个“错误”
(替代地,您可以添加\(G * m\)而不是减去;两者都提供同样有效且高效的方案)
给定两个\(B\)矩阵,表示操作的两个“输入线路” - 可以是加法,乘法或取反 - 您可以生成一个表示输出线路的\(B\)矩阵。给定有效的输入编码,您可以获得一个输出编码 - \(1 - m\),\(m_a + m_b\)或\(m_a * m_b\)- 基于表示输出线路的\(B\)矩阵。重要的是,这不是完全同态加密:为了乘法,您需要知道<使用简体中文的和\7/>, NO,接下来为Abear comment not enabled.神文\t\行 NOTISIEpll's lens So on ABE of 这是一篇文章 可以搜索 也有风险;看到 之前在 rthr—<|vq_5321|>
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。