Encoding 加密数字数据,同时保留密文之间的不等式

Encoding 加密数字数据,同时保留密文之间的不等式,encoding,cryptography,encryption,Encoding,Cryptography,Encryption,如何加密数字数据,以使加密函数生成的密文是数字的,也就是Enc[m1]

如何加密数字数据,以使加密函数生成的密文是数字的,也就是
Enc[m1]

我已经浏览了所有指向的参考文献的数量。但是,它没有可用的开源代码实现

是否有一种方法(加密或编码)可以使用Java或C#隐藏具有上述属性的数据


我想将[1-50]范围内的数字数据加密为[1000-5000]范围内的密文。我正在尝试实现中提到的安全反向索引

我想你这里有一个基本的矛盾。如果您加密多个值并以某种方式保持它们之间的排序顺序,那么知道“abc”加密到567,“abe”加密到569的人将知道568=>abd。(并不是说你的加密算法会那么幼稚,但你正在严重削弱你所设计的任何东西。)


如果允许数字比明文长,加密到数字并不困难。(毕竟,字符本身只是具有特殊含义的数字。)一种简单的方法是将密码文本解码为八进制,但其他技术将产生更紧凑的十进制数字表示。

我处理的是数字数据,只想根据纯文本保持密码文本的顺序,而不是连续值之间的差异。如果我能将[1,2,3]加密/编码为[99931924519],那对我来说太完美了。我认为通过忽略连续值之间的差异,攻击者无法在纯文本中学习下一个值。@Shani--很抱歉,但您所要做的将严重削弱加密算法。@Hot Clicks-好的,即使在安全模型较弱的情况下,也有办法实现它吗?我想隐藏(同时保留顺序)反向索引中单词的频率,以便数据库管理员无法了解实际频率。倒排索引中的单词使用经过验证的加密算法(即AES)隐藏,而保留顺序的隐藏频率用于对查找查询的结果进行排序。@Shani--如果您阅读了您引用的文章,它们描述了它们使用的“加密”方案。在“执行保序加密…”开头的段落中。这应该是一个足够的描述来复制他们所做的事情(充其量只是混淆)。更具体地说,你要找的是。@GregS-同态加密用于对密文执行算术运算,你能详细说明如何使用它来确保Enc[m1]