加密数据的格式
Andrew Parno(讨论 | 贡献)2022年1月27日 (四) 04:18的版本 (创建页面,内容为“加密数据的格式如下 header block_info block_info .... block_info block block ... block (这里需要改成图) 其中,header的格式如下: struct header{ uint64_t magic_number; uint64_t version_number; uint64_t block_number; uint64_t item_number; }; block_info 有多个,默认为1024*1024个,block_info的格式如下 struct block_info{ uint64_t start_item_index; uint64_t…”)
加密数据的格式如下
header block_info block_info .... block_info block block ... block (这里需要改成图)
其中,header的格式如下:
struct header{ uint64_t magic_number; uint64_t version_number; uint64_t block_number; uint64_t item_number; };
block_info 有多个,默认为1024*1024个,block_info的格式如下
struct block_info{ uint64_t start_item_index; uint64_t end_item_index; long int start_file_pos; long int end_file_pos; };
block有多个,具体的格式由item本身决定,block的大小上限为256 * max_item_size,目前,max_item_size的大小为64KB。
以上可知,一个加密文件最小需要大于32M。
加密文件是对于每个item进行加密,假设一个item的长度为item_size,则加密后的长度为 item_size + 581。
综上,加密后的文件大小相比于原始文件大小会略有增长。
典枢能够支持的原始数据的大小最多可以达到16TB,数据条数最多支持到300亿条。