预计有 100MB 的数据要进行加密,通过某种传输方式传输到客户端后,再进行解密。推荐使用什么算法?

2021-03-01 16:43:25 +08:00
 ReputationZh
  1. 数据格式是 tar.gz
  2. 不采用解压密码方式
7365 次点击
所在节点    程序员
62 条回复
xiaofan305
2021-03-01 18:59:43 +08:00
rar 可以加密文件名文件结构,也就是不显示文件名和结构。
Huelse
2021-03-01 19:04:30 +08:00
对称加密文件,非对称加密对称密钥
简单点就 chacha20-poly1305
qwerthhusn
2021-03-01 19:08:35 +08:00
AES 啊,现在是个 CPU 都有硬解 AES 的,很快
joApioVVx4M4X6Rf
2021-03-01 20:07:00 +08:00
直接 xor 操作啊,数据流的第一个字节 xor 第二个字节 结果 xor 第三个字节,解密的时候同样搞一遍就行了
autoxbc
2021-03-01 20:47:08 +08:00
@felixcode #8 WinRAR 的加密算法就是 AES-256,也能制作自解压缩包,选择压缩方式为「存储」,实际上就是无压缩的 AES-256 加密
ThinkZ
2021-03-01 20:48:19 +08:00
在 VPN 环境下互传不可以吗?
honeycomb
2021-03-01 20:52:38 +08:00
@ReputationZh rar 允许加密文件名。此外,此类加密手段的密钥生成是用密码加随机盐,通过密钥生成函数迭代一定次数算出来的,因此破解起来很困难,要通过彩虹表之类的技术才能有效破解。

如果密码本身就很复杂,达到了上百 bit 程度的话,彩虹表也搞不定它。
felixcode
2021-03-01 20:54:07 +08:00
@autoxbc
谢谢,之前不知道,以为只是简单加密,刚查了下,应该是 5.0 版前是 AES-128, 5.0 开始是 AES-256 。
w1573007
2021-03-01 21:12:31 +08:00
压缩 2 次啊,都加密,而且是不同的密码,这又没啥成本
vantis
2021-03-01 21:46:43 +08:00
只要找对方要个非对称加密的公钥就好了=。=
vantis
2021-03-01 21:49:51 +08:00
具体来说 让对方选择一个非对称算法 算法强度可以让对方选 一般来说 RSA4096+差不多了 或者 ECC 也更强一点(不过 ECC 可能需要双方协商密钥)加密后由于私钥只有对方持有(或者 ECC 为你和对方持有不同的两把私钥)那么就可以传输了
vantis
2021-03-01 21:51:43 +08:00
再高效点可以参考 HTTPS 的实现 即文本用对称算法加密 而将加密用的对称密钥用以上非对称方式传递(给对方的叫电子信封 内容有两块 一块为非对称加密过的对称密钥 一块是对称密钥加密过的数据)
icyalala
2021-03-01 21:54:55 +08:00
文件用简单的对称加密处理就好了,密钥或密码用非对称加密传输,原理和 SSL 差不多。
关键的问题在于,客户端的逆向你无论如何还是防不住。
legiorange
2021-03-01 21:56:27 +08:00
crypton
2021-03-01 23:03:06 +08:00
@ReputationZh 可以选择隐藏文件名
flynaj
2021-03-02 00:01:09 +08:00
现成的 7z.rar.zip 都可以。开源的 7z,zip 。
HuLiY
2021-03-02 00:19:36 +08:00
gpg4win 了解一下
gBurnX
2021-03-02 02:19:32 +08:00
1.没必要 https,对于加密来说,性价比太低,而且这种架构,不容易做优化,服务器相关配件采购的性价比低。

2.建议老版本 RAR + 复杂 16 位密码 + 加密文件内容(看不到文件列表),这就够了。别用 7zip,7zip 的优势在于高压缩率,用来处理加密,算力性价比太低。

3.用 RAR 要注意授权问题,RAR 可不是可以随意商用的开源产品。
jim9606
2021-03-02 02:56:13 +08:00
没搞懂你想干什么,是不是要给一个随客户端软件分发的数据文件做混淆,避免被逆向提取内容?还是只是防止被恶意篡改?

如果是前者应该用加密算法,后者的话应该用签名算法,可以考虑用 PGP 软件来做,可以同时实现这两点。将 PGP 公钥硬编码进客户端中,数据文件发布前用 PGP 私钥加密签名。
nuk
2021-03-02 03:12:14 +08:00
AES-256-GCM

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/757334

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX