秘密计算:这样的动物存在吗?

发布于 2024-08-06 03:52:46 字数 643 浏览 3 评论 0原文

今天计算机科学理论中的一个问题

我可以秘密地将文件存储在云中(例如,amazon s3),方法是在存储文件之前对其进行加密,并在下载后对其进行解密。存储提供商无法从存储的文件中获取任何信息 - 一切都被安全加密,甚至对称密码在这里也可以。

我的问题是,云计算是否也可以做到这一点。云中有一个计算提供商(例如亚马逊 ec2)。我可以上传一个“加密程序”以及该程序的“加密输入”,并让我的云计算提供商为我执行所有计算并为我生成一个“加密输出” - 具有与“秘密文件”中相同的安全保证店铺”?

请注意,我不是在谈论混淆和逆向工程问题,而是在谈论具有强大密码学保证的秘密计算。

我的预感是这是不可能的。否则1)它会存在,2)我的直觉是,在对其应用转换后,没有加密数据可以“继续加密数据”,即它只是变成乱码。

注意 如果有人能告诉我确切的术语应该是什么,也许我缺乏计算机科学的适当背景。

欢迎指向学术文献,并对上述概念进行澄清。

答:

看起来:

  • 秘密输入和输出,非秘密程序:仅在理论上

  • 秘密输入、秘密输出和秘密程序: 理论上也没有。 (更新:也许是的,请参阅 Artelius 的评论)

A question in theory of Computer Science

Today I can secretly store files in the cloud (say, amazon s3), by having them encrypted before I store them and decrypt them after I download. The storage provider cannot obtain any information from the stored files - everything is encrypted safely, and even symmetrical cipher will be ok here.

My question is if the same can be done with computing in the cloud. There is a computing provider in the cloud (say amazon ec2). Can I upload an "encrypted program" together with "encrypted input" for the program and have my cloud computing provider perform all the computations for me and generate for me an "encrypted output" - with the same security guarantees as in the "secret file store"?

Note that I am not talking about obfuscation and reverse engineering issues, but about secret computing with strong cryptography guarantees.

My hunch is it can't be done. Otherwise 1) it would exists, 2) my intuition is that no encrypted data can "keep being encrypted data" after transformations are applied to it, i.e. it just become gibberish.

Note Perhaps I lack the proper background in computer science, if someone could tell me what the exact nomenclature should be.

Pointers to academic literature, and clarifications regarding the concepts described above are actually called will be welcome.

Answer:

It looks that:

  • secret input and output, non-secret program: Only in theory

  • Secret input, secret output and secret program: not even in theory. (Update: perhaps yes, see Artelius' comment)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

瑕疵 2024-08-13 03:52:46

是的,这样的事情确实存在,尽管目前它还处于理论阶段。这称为同态加密。 这是一篇关于 IBM 取得的突破的论文Bruce Schneier 的博客上有对此的评论

基本上,同态加密系统是这样的:

decrypt (f (encrypt (plaintext))) = f (plaintext)

Yes, such a thing does sort of exist although it is very theoretical at the moment. It's called Homomorphic Encryption. Here's a paper about breakthroughs made at IBM and there's a comment about it on Bruce Schneier's blog.

Basically, a Homomorphic Encryption system is one where:

decrypt (f (encrypt (plaintext))) = f (plaintext)
相思故 2024-08-13 03:52:46

实际上,最近有人解决了所谓的“完全同态加密”问题。我不是密码学家,但据我了解,基本思想是某人可以对加密数据执行操作甚至不知道数据是什么,并且这些操作实际上是有意义的(即,当数据被解密时,将会发生类似的变化)。

长期以来,这一直是密码学中的一个开放问题,现在它已经解决了,从技术上讲,有人可以做与您提议的类似的事情。例如,您可以上传数据供亚马逊服务器使用,它们可以执行某种专门设计的算法,然后发回您的新数据。 (我不知道是否有一种方法可以像您所问的那样实际指定算法本身)。

当然,这一切都存在一个问题:尽管已经解决,但它仍然完全不切实际。

如果您想了解更多相关内容,我推荐维基百科文章以及 Bruce Schneier 的文章“同态加密突破"。

Actually, very recently someone solved the problem of what's called Fully Homomorphic Encryption. I'm not a cryptographer, but as I understand it, the basic idea is that someone could perform actions on encrypted data without even knowing what the data is, and these actions will actually have meaning (i.e., when the data is decrypted, anolagous changes will have taken place).

This has been an open problem in cryptography for a long time, and now that it's solved, technically someone could do something similar to what you propose. For example, you could upload data for Amazon's servers to work on, they could perform some kind of algorithm which is very specifically designed, and then send back your new data. (I don't know if there's a way to actually specify the algorithm itself liked you asked).

There is of course a problem with all this: it's still completely impractical, despite having been solved.

If you'd like to read more about this, I'd recommend the Wikipedia article, and also the article by Bruce Schneier "Homomorphic Encryption Breakthrough".

探春 2024-08-13 03:52:46

其他人已经指出了完全同态加密的理论上的可能性,但我想指出,一个(秘密输入,秘密输出,非秘密程序)系统可以用来创建一个(秘密输入,秘密输出,秘密程序)程序)-系统:只需让非秘密程序成为某种通用语言的解释器,并使用(实际程序,输入)作为非秘密程序的输入。

当然,嵌入防篡改外壳并由独立第三方认证的标准计算机将是更实用的解决方案。

Others have already pointed out the theoretic possibilities of fully homomorphic encryption, but I would like to point out that a (secret input, secret output, non-secret program)-system can be used to mke a (secret input, secret output, secret program)-system: just have the non-secret program be an interpreter for some general-purpose language and use (actual-program, input) as the input for the non-secret program.

Of course a standard computer embedded in a tamper-proof case and certified by an independent third party would be a much more practical solution.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文