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

2021-03-01 16:43:25 +08:00
 ReputationZh
  1. 数据格式是 tar.gz
  2. 不采用解压密码方式
7365 次点击
所在节点    程序员
62 条回复
shuax
2021-03-01 16:55:09 +08:00
aes
Yorwba
2021-03-01 16:57:42 +08:00
HTTPS
murmur
2021-03-01 17:01:40 +08:00
解压密码为什么不要,数据加密跟解压密码有区别么,说一下
janus77
2021-03-01 17:06:09 +08:00
先说你是数据流还是文件
libook
2021-03-01 17:15:20 +08:00
如果目的只是为了防范传输过程中被监听,那么 TLS/SSL 就是专门为这个场景服务的,比如用 HTTPS 、SSH 或者 FTP over TLS 。

如果连对方接受端都不信任,那么就可以把文件加密然后让接收方自行选择实际解密,这块目前被认为是安全的算法都可以用,对称加密、非对称加密,这些可以去网上看看相关介绍,决定用哪种算法就可以考虑用 OpenSSL 等工具来做文件的加解密。
ReputationZh
2021-03-01 17:19:12 +08:00
@janus77 文件
ReputationZh
2021-03-01 17:19:28 +08:00
@murmur 容易被破解
felixcode
2021-03-01 17:19:53 +08:00
借楼问下,有没有用 AES256 且可以做成自解密(类似于自解压)包的工具。
ReputationZh
2021-03-01 17:23:23 +08:00
@libook 主要是想对文件加密,而且不想让文件大小变大太多且不涉及通信。

加密的理由主要是,这个文件被他人获取到,增加破解难度,不会轻易观察到数据的组成方式,去篡改这个文件。
whileFalse
2021-03-01 17:26:09 +08:00
谁跟你说解压密码容易被破解的?
Greatshu
2021-03-01 17:30:33 +08:00
usbkey
czkwg8
2021-03-01 17:32:54 +08:00
解压密码够长都可以破个几百年的了
luyao1993
2021-03-01 17:34:06 +08:00
你要考虑的应该不是用什么算法,而是密钥如何传输。
Wincer
2021-03-01 17:39:53 +08:00
解压缩同样可以使用 AES 算法加密,这两者并不冲突。
52icarus
2021-03-01 17:45:22 +08:00
1. Server->Client : base64(8bytes random challenge)
2. Client->Server : base64(8bytes handshake client key)
3. Server: Gen a 8bytes handshake server key
4. Server->Client : base64(DH-Exchange(server key))
5. Server/Client secret := DH-Secret(client key/server key)
6. Client->Server : base64(HMAC(challenge, secret))
7. Client->Server : DES(secret, base64(token))

用非对称加密协商一个密钥,然后对文件进行对称加密传输就行了.业务层处理
52icarus
2021-03-01 17:49:37 +08:00
而且我觉得你理解错了 3 楼解压密码的方案,其实这个方案是可行的. 解压密码加密后, 是看不到真实的文件结构了的.
meepo3927
2021-03-01 17:56:45 +08:00
解压密码怎么破解?
sillydaddy
2021-03-01 17:57:51 +08:00
压缩加密软件(比如 7zip),选择 AES256 加密,如果设置一个数字+英文字符格式的密码,密码长度只需要 46 位,就可以达到宇宙级别的强度。

如果嫌麻烦,密码设短一些,比如 12 位,可以让破解的人付出 10 元的计算代价,然后密码长度每加一位,破解需要付出的代价就增加 56 倍。你可以根据这 100MB 数据的价值,选择一个合适长度的密码。
ReputationZh
2021-03-01 18:31:45 +08:00
@52icarus 可能是惯性思维了,我记得 winrar 加密后,打开能看见内部文件。
ReputationZh
2021-03-01 18:32:40 +08:00
@sillydaddy 现在打算用 tar 和 openssl 来配置密码,到时候测试一下加密强度。

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

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

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

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

© 2021 V2EX