新手问题 aws s3 客户端主秘钥解密很慢的问题?

flydragon · 2018年03月22日 · 最后由 flydragon 回复于 2018年03月22日 · 1559 次阅读

前置说明

  1. 使用亚马逊的 s3 储存敏感数据,使用了客户端主秘钥(非对称加密)的方式处理文件加密。
  2. rsa 秘钥长度为 1024

主代码

rsa    = './private_key.pem'
region = 'ap-southeast-1'
bucket = 'target-bucket'
key    = 'remote.target.tar.gz'

s3 = Aws::S3::Encryption::Client.new(encryption_key: OpenSSL::PKey::RSA.new(File.read(rsa)), region: region)
s3.get_object(response_target: './local_target.tar.gz', bucket: bucket, key: key)

问题

解密一个 20m 的文件时,时间超过 4 小时,请问各位大神有没有遇到同样的问题?求建议

http://blog.csdn.net/wgw335363240/article/details/8878584

RSA 解密的效率远低于加密效率,按照这个时间去计算,加密 1G 的文件需要 1 分钟,但是解密却需要 65 小时

可以用对称性加密加密文件,然后用 RSA 来加密对称性加密的密钥

明白了 多谢。

应该理解的问题,感觉官网上说的应该就是您说的那样@w7938940

上传过程

  1. 生成随机对称秘钥进行文件加密
  2. 使用 rsa 对随机对称秘钥进行加密
  3. 上传加密过的随机对称秘钥和文件

下载过程

  1. 获取文件的加密的随机对称秘钥
  2. 使用 rsa 进行解密对称秘钥,并使用它解密

以实际结果来看

应该是使用了 rsa 非对称加解密,解密速度确实很慢

不知道有没有其他人使用过 aws s3 的非对称解密,不想再看源代码。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号