其他分享
首页 > 其他分享> > 数据处理应该先压缩还是先加密?加密压缩包中某一个文件后文件过大如何处理?

数据处理应该先压缩还是先加密?加密压缩包中某一个文件后文件过大如何处理?

作者:互联网

先加密还是先压缩?

参考具体的定量分析,

原始数据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