gpt4 book ai didi

encryption - 在不暴露明文的情况下更改加密 key

转载 作者:行者123 更新时间:2023-12-04 00:34:49 24 4
gpt4 key购买 nike

我们正在设计一个数据库系统来存储加密的信息字符串,加密和解密在客户端使用公钥密码术进行。
但是,如果 key 被更改,则需要重新加密客户端的所有记录,这是非常不切实际的。
有什么办法可以在不暴露原始(旧)解密 key 或消息文本的情况下在服务器端执行?

我想我想要的是一个关联密码,就像这样:
T( Eo(m) ) = En( Do(Eo(m) ))
其中 Eo(m) 是密文,Eo/Do 是旧的公钥/私钥对,En 是新的公钥,m 是消息文本,T 是神奇的重新加密函数。
编辑: T 在客户端计算,然后发送到要使用的服务器。

最佳答案

无论如何,您不能追溯禁用旧 key 。无论您做什么,任何有权访问旧数据和旧 key 的人都可以解密数据。

我建议只保留一串 key 。将新 key 添加到环并将其标记为事件。将旧 key 标记为过期。对客户端进行编码,以便如果它发现任何使用过期 key 加密的数据,它就会使用事件 key 对其重新加密。 (或者不要。需要什么取决于您的实现要求的详细信息。)

如果需要,一段时间后,您可以扫描任何仍使用旧 key 加密的数据并重新加密。

无论如何,您都无法消除旧 key 的暴露——任何可以找到用旧 key 加密的数据的备份或副本的人,如果他们拥有旧 key ,就可以解密它。加密 key 必须永远受到保护,否则你就会惨败,将维基解密的外交电报发布给公众,而线人的名字却完好无损。

关于encryption - 在不暴露明文的情况下更改加密 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8550082/

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