有没有一种安全的加密算法,它实用并保持comparability
?
例如,如果您有字符串A
、B
和 C
和 A
<B
><C
,那么如果通过加密算法运行,则比较它和结果值,然后enc(A)
><enc(B)
>
我也特别提到了实用,因为我不希望enc(input)
比input
大太多。
No.已经建立了进行计算的理论能力,该领域被称为同态加密。这不切实际。
但只要考虑一下你的琐碎计划意味着什么。我可以通过执行二进制搜索从 enc(B) 中暴力破解 B。只需从enc(MIN),enc(MAX)和enc(MIN+MAX/2)开始。enc(B) 大于或小于 enc(MIN+MAX/2),使 B 的可能范围减半。可以在 O(log N) 中暴力破解的"加密"方案非常差。
这也可以通过"加密">有效地解决。