我们正在设计一个数据库系统来存储加密的信息字符串,加密和解密在客户端使用公钥密码术进行。但是,如果密钥被更改,则需要重新加密客户端的所有记录,这是非常不切实际的。有什么办法可以在不暴露原始(旧)解密密钥或消息文本的情况下在服务器端执行?
我想我想要的是一个关联密码,就像这样:
T( Eo(m) ) = En( Do(Eo(m) ))
其中 Eo(m) 是密文,Eo/Do 是旧的公钥/私钥对,En 是新的公钥,m 是消息文本,T 是神奇的重新加密函数。编辑: T 在客户端计算,然后发送到要使用的服务器。