同态加密算法的实际应用?

2024-04-10

密码学中似乎发生了一些有趣的事情:第一个同态加密 http://en.wikipedia.org/wiki/Homomorphic_encryption最近出现了方案(解释 http://www.mail-archive.com/cryptography@metzdowd.com/msg10571.html, HT http://avva.livejournal.com/2099972.html)。粗略的说就是一种编码方式x into f(x)这样你就可以计算f(x+y)容易知道f(x) and f(y)即使你无法轻易恢复x and y(同样对于f(x*y)).

这种类型的方案有哪些实际应用(一旦其安全性得到确立)?对我来说,它们似乎可以使编写操纵私人数据的算法变得更加容易。

这里有我的想法:

  1. 电子投票
  2. 检查私有数据的完整性
  3. 是否有机会总体上有助于保护隐私?

Example:我在银行 A、B、C 都有账户。X 实体想要确认我的总金额超过 1000 美元;它很乐意接受银行 A、B、C 或 D 的对账单,但不幸的是我的任何一个账户中都没有足够的钱。 A银行用我的公钥加密了我的500美元的信息;同样,银行B和C分别加密了我有200美元和300美元的信息。他们将这些数据发送给 X,X 将它们添加到某个数字中,我证明该数字实际上加密了 1000 美元(通过使用我的公钥加密 1000 美元并证明结果是相同的)。我已经证明了一些事情但没有透露给X我每个账户里有多少钱。

另一个例子:好公民X_1,...,X_n正在联手选出两名候选人中的一名,其中一名是喝拿铁的自由人Al 而另一个是B持枪爱好者(所有名字均为虚构)。他们决定希望投票以私下方式进行,但速度要快。他们以矢量格式发送选票(1, vote_A, vote_B, vote_None)加密发送给选举委员会,选举委员会公开添加它们并以表格形式获取结果(count, count_A, count_B, count_None)。检查后count = count_A + count_B + count_None,官员们宣布其中一位候选人获胜,之后法官因某种与电子投票无关的原因宣布选举无效,并在法庭上奋斗了接下来的 10 年,但是,嘿,这无论如何都不是我的问题。

Notes: - 我相信这些特定的例子在 RSA 之前就可以实现,因为它只需要一个操作中的同态性。我们希望通过更多的操作可以得到更加有趣的东西——所以,举一些例子吧!

  • 我特别希望看到包含有机会在实践中使用的代码和/或开发框架的答案,原因是 SO 不是理论计算机科学讨论板。

  • 同态算法,重复下面评论中所说的内容,允许创建一个在不知道数据的情况下管理数据的程序。不幸的是,程序的类型有些有限:你不能拥有if (x=0) ...因为x是加密的,每一步都很慢(涉及到一些格子)。


这是黑暗中的狂野镜头:

我们正在考虑保护明文免受对其进行计算的人的侵害。但如果目标是保护明文和算法呢?

以 MRI 机器为例。 MRI 机器最昂贵的部分是机器分析磁共振数据的算法。因此,它们受到硬件设备的严格保护,这些硬件设备旨在在允许不受信任的一方(或与此相关的任何人)检查程序之前破坏程序。

如果 MRI 制造商能够集中 MRI 数据计算,那么丢失算法的风险将大大降低。然而,法律禁止他们访问私人患者数据。

所以!同态加密允许在患者数据和算法都受到保护的情况下发生这种情况。 “完全”同态加密(即在加密数据上引入环同态)允许对数据进行更高效、更稳健的计算。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同态加密算法的实际应用? 的相关文章

  • 在 C# 中加密并在 Flex 中解密

    我需要解密 Flex 中的一些数据 这些数据是用 C 加密并写入文件的 为了简单起见 我选择使用 as3crypto As3 库和 Bruce Schneier C 库 AS3 as3加密链接 http code google com p
  • Java AES 256 加密

    我有下面的 java 代码来加密使用 64 个字符密钥的字符串 我的问题是这会是 AES 256 加密吗 String keyString C0BAE23DF8B51807B3E17D21925FADF273A70181E1D81B8EDE
  • IOS 上图像的加密/解密

    我们正在使用加密 解密和 UIIMAGE 如果我们加密和解密 UIIMAge 而不保存到 iphone 画廊中 它工作正常 但如果我们加密 保存到画廊中 将 加密的图像 加载到应用程序中 然后解密它效果不好 我们使用这个函数来加密 解密 保
  • 在数据库中存储密码的最佳方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 清理 html 字符串中的所有脚本

    HTML5 剪贴板很棒 但我正在寻找一种使其安全的方法 用户正在将文本 html 粘贴到我的网页中 这允许他们粘贴图像 表格等 我正在寻找一种方法 在将粘贴的内容添加到页面之前删除所有脚本 我需要删除
  • ajax 会增加还是降低安全性?

    我正在创建一个网站 到目前为止它是纯 PHP 的 我在想 既然很少有人没有启用 JavaScript 我想知道为什么 也许我应该将我的网站创建为一个完全 PHP 的网站 而不使用任何 AJAX 难道是我想错了 可以肯定的是 如果我实施一些
  • BadPaddingException:无效的密文

    我需要一些帮助 因为这是我第一次编写加密代码 加密代码似乎工作正常 但解密会引发错误 我得到的错误是 de flexiprovider api exceptions BadPaddingException 无效的密文 in the 解密函数
  • 受信任的 1.5 小程序可以执行系统命令吗?

    如果是的话 这个能力有什么限制吗 具体来说 我需要以 Mac OSX 为目标 我以前用过这个在 Windows 系统上启动东西 但从未在 Mac 上尝试过 public void launchScript String args Strin
  • 为什么密码错误会导致“填充无效且无法删除”?

    我需要一些简单的字符串加密 所以我编写了以下代码 有很多 灵感 来自here http www codeproject com KB security DotNetCrypto aspx create and initialize a cr
  • 如何检查 NTAccount 对象代表组还是用户?

    使用返回的访问规则时 GetAccessRules True True GetType System Security Principal NTAccount 如何判断每个规则中引用的 NTAccount 对象是用户帐户还是组 Update
  • iPhone 和加密库

    我想我必须在我的 iPhone 应用程序中使用加密库 我想问你有关苹果公司实施的加密货币出口政策的影响 我需要做一些额外的事情吗 例如填写表格等 1 如果我使用 MD5 进行哈希处理 2 如果我使用对称加密 Thanks EDIT 2009
  • 使用 PBKDF2 和 SHA256 生成 128 位 AES 密钥是否安全?

    我想使用 PBKDF2 和一些加密哈希函数来生成 128 位 AES 密钥 SHA1 也是 128 位 所以我想将其与 PBKDF2 一起使用 但它已损坏 所以我选择使用 SHA256 这是否安全 或者散列大小和生成的密钥大小之间的差异是否
  • AES 加密 Java/plsql

    我需要在Java和plsql DBMS CRYPTO for Oracle 10g 上实现相同的加密 解密应用程序 两种实现都工作正常 但这里的问题是我对相同纯文本的加密得到了不同的输出 下面是用于加密 解密过程的代码 Java 和 PLS
  • 握手失败(40) 和 TLS_EMPTY_RENEGOTIATION_INFO_SCSV

    安装在 jBOSS 上的客户端正在尝试访问在 DataPower 上配置的安全网站xi50v6 0 0 2器具 SSL 握手时连接失败 我在 DataPower 上进行了数据包捕获 发现 SSL 握手失败 并显示以下错误 Descripti
  • 如何从秘密字符串中制作 HMAC_SHA256 密钥以在 jose4j 中与 JWT 一起使用?

    我想生成 JWT 并使用 HMAC SHA256 对其进行签名 对于该任务我必须使用jose4j https bitbucket org b c jose4j wiki Home 我尝试根据秘密生成密钥 SecretKeySpec key
  • 通过 URL 指定控制器类与为每个控制器编写一个脚本相比,有何优缺点?

    今年夏天我安装了两个不同的 PHP 系统 每个都使用两种不同的方法 方法 1 每个任务一个 PHP 文件 该方法需要一个PHP为每个主要任务创建文件 例如 我的上传脚本可以通过http www domain com upload php O
  • 使用 CryptoJS 更改密钥 [重复]

    这个问题在这里已经有答案了 我正在使用 CryptoJS 来加密和解密文本 在这里 我只是获取消息并显示加密和解密消息 我使用DES算法进行加密和解密 这是我的 HTML 文件
  • 加密安全随机数生成器如何工作?

    我了解标准随机数生成器的工作原理 但在使用密码学时 随机数确实必须是随机的 我知道有一些仪器可以读取宇宙白噪声 http en wikipedia org wiki Hardware random number generator帮助生成安
  • 使用 AES 解密时输入数据不是完整的块

    我正在尝试加密来自 oracle 的数据 然后使用 C 解密它 到目前为止 我设法编写了一个在 C 和 Oracle 中加密数据的代码 并且得到了匹配的结果 我试图用 C 解密数据 但收到错误 输入数据不是一个完整的块 甲骨文加密 SELE
  • 如何在 Python 中加密并在 Java 中解密?

    我正在尝试在 Python 程序中加密一些数据并将其保存 然后在 Java 程序中解密该数据 在Python中 我像这样加密它 from Crypto Cipher import AES KEY 1234567890123456789012

随机推荐