加密数据查询的设计与分析
在数据库管理系统中,加密数据的处理至关重要。本文将探讨不同加密模式在不同场景下的性能,以及一种新的加密数据存储方法。
1. 加密基础与小数据块问题
在现代加密库(如 OpenSSL 库)的 API 中,我们可以清晰地看到密钥初始化的重要性。以 OpenSSL 为例,在使用密钥进行加密(解密同理)时,首先需要调用密钥初始化函数(如 AES set encrypt key()),初始化完成后才能对不同大小的块进行加密操作。
实验表明,一次加密小于 64 字节的小数据块可能会出现问题。不过,CTR4 模式的巧妙使用可以解决这个问题。由于每个块的加密是独立的,我们可以将不同元组的块组合起来(例如,将 4 个不同元组的块组合成一个 64 字节的块),然后一起进行解密或加密。
2. 不同磁盘访问模式下加密模式的性能
为了评估加密模式在随机和顺序磁盘访问模式下的性能,我们进行了四个实验。每个实验中,数据以 4 KB 页面为单位进行访问,这是许多数据库管理系统(如 IBM DB2)的默认页面大小。
-
实验 3 :
- 第一部分,顺序读取并解密内存中缓存的 1 GB 加密文件,使用不同的加密模式。
- 第二部分,对从磁盘访问的同一文件重复相同的实验。
实验结果如下表所示:
| Crypto Mode | from memory | from disk |
| — | — | — |
| CBC | 29.02 | 28.91 |
| CTR
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



