LightDB对保序加密的支持

保序加密(Order-Preserving Encryption) 是一种数据保存顺序的加密方法,它允许比较操作直接应用于加密数据,而不需要解密操作数。LightDB在22.2版本中已对OPE进行了支持,具体实现集成在lt_ope插件中。

lt_ope 支持了三种数据类型的保序加密:bigintdouble precisiontext三种明文加密后的返回的密文类型均为ope_type

ope_type支持以下运算符

>>=、 <<=、=、!=。同时,由text类型明文加密的ope_type密文支持模糊查询操作 like 'xxx%'。

密文类型ope_type还支持order bybetween...and、 IN、 NOT IN 以及BTREE索引。

下面介绍lt_ope的具体功能接口:

1. bigint类型保序加密

bigint类型加密接口 ope_bigint_encrypt(plaintext bigint) return ope_type

2. double precision类型保序加密

double precision类型加密接口 ope_double_encrypt(plaintext double precision) return ope_type

3. text类型保序加密

text类型加密接口 ope_text_encrypt(plaintext text) return ope_type

其中明文字符串最大支持128字节长度,且字符类型支持ASCII码 0 ~ 127 的型式,不支持中文字符。

4. OPE解密

OPE解密接口: ope_decrypt(ciphertext ope_type) return text

 

5. 举例

创建测试表

 

插入测试数据

 

 

 排序

 

 

 

 查询

 

 

 

 

 

 

 

posted @ 2022-07-02 13:03  小小罗的背影  阅读(141)  评论(0编辑  收藏  举报