数据处理应该先压缩还是先加密?加密压缩包中某一个文件后文件过大如何处理?
作者:互联网
先加密还是先压缩?
参考具体的定量分析,
原始数据100字节,熵值n每位,也就意味着直接压缩之后的数据大小是100n字节,再进行加密,因为可能涉及到padding补齐还有具体的加密模式,可能输出大小在100n+padding字节。
如果反过来,首先加密,数据变成100+padding字节,同时因为加密可能增加10%的熵值,这个时候熵值就变成了1.1n每位,压缩后的数据就成了(100+padding)*1.1n=561
上边的流程纯粹是解释计算方法,但是我没有具体的数据,所以结论可能并不准确。比如加密增加的熵值百分比,或者压缩算法是否能遵从min-entropy完美的计算,padding的方式,对称加密模式的影响,所以最终的结论就是:实际找个数据计算一下就得了.....
对于一个压缩包,包内含有经过bspatch中的single bank中的各个分区的 a,b,c,d,e分片。
对于只加密optfs分区的a,b,c,d,e:
加密:
sha256sum $file | awk '{print $1}' |openssl enc -e -A -aes-256-cbc -nosalt -K $AES_KEY -iv $AES_IV -basse64
解密
openssl aes-256-cbc(cfb无法压缩) -d(表示decrypt,解密) -K $AES_KEY -iv $AES_IV -in $file_name -out mid_File
解决压缩后文件过大的问题:采用cbc加密后,文件虽然比cfb减少,(少了约15%~20%),如果有更好的方法,欢迎私信。
标签:文件,AES,加密,字节,压缩,padding,100,压缩包 来源: https://www.cnblogs.com/BBS2013/p/16434765.html