【问题标题】:Envelop encryption large file信封加密大文件
【发布时间】:2019-02-17 07:46:17
【问题描述】:

我们正在构建一个移动应用程序,该应用程序需要在设备上存储加密文件,然后将其上传到服务器。只有服务器需要能够解密它,并且如果设备受到破坏,文件应该是不可解密的。

我一直在探索为此目的使用公钥加密,但是我在一些places 中读到,使用非对称密钥加密大文件效率不高,而信封加密是一种更好的方法。信封加密/解密的步骤是

  1. 客户端设备 (C) 获取服务器 (S) 公钥
  2. C 创建对称数据加密密钥 (DK)
  3. C 使用 DK 加密文件
  4. C 用 S 的公钥加密 DK
  5. C 上传文件到 S,同时包含加密文件和加密 DK
  6. S 使用它的私钥对加密的 DK 进行解密
  7. S 使用 DK 解密文件

我的问题:上述步骤是否正确,是否有实现此流程的库? AWS encryption SDK 提供此功能,但我们需要在无法连接/使用 AWS 的移动应用程序中实现此功能

【问题讨论】:

    标签: javascript c# amazon-web-services encryption


    【解决方案1】:

    以上步骤正确吗

    确实,这些步骤对于使用非对称加密 (PKI) 进行加密是正确的

    是否有实现此流程的库

    您可以使用默认的crypto 包。请 Cipher 类获取受支持的密码集。

    【讨论】:

    • 设备受损要求困扰着我。密钥推导方法不应该是确定性的,也没有提及。密封盒非常好,但具有匿名性。
    猜你喜欢
    • 2018-03-22
    • 2020-11-26
    • 2021-06-16
    • 2013-10-13
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 2011-08-03
    相关资源
    最近更新 更多