【问题标题】:Can AES Encryption and RSA Digital Signature Scheme work together for file encryption?AES 加密和 RSA 数字签名方案可以一起用于文件加密吗?
【发布时间】:2012-07-15 15:42:46
【问题描述】:

我计划在从物理存储到物理存储的文件传输过程中进行文件加密,作为我高中的最后一年项目。

我的问题是,AES 加密和 RSA 数字签名方案可以用作文件加密吗?目前我专注于文本文件(.doc.txt)。

我想到了以下协议:

  • 文件将使用 AES 加密进行加密
  • 来自 RSA Encryption 的私钥将作为文件的签名
  • 公钥将在解密期间验证签名

我不确定要使用的密钥的位大小,256 位 AES 和 1024 位 RSA。

【问题讨论】:

  • 不是真正的编程问题,Vasanth,您可能想改用crypto.stackexchange.com。因为你在高中,我会破例。您正在混合一组奇怪的键。大多数时候,您存储对称或非对称密钥。在继续之前,您可能需要查看各种容器格式,例如 CMS(Open)PGP

标签: encryption aes rsa digital-signature file-transfer


【解决方案1】:

大多数时候 AES 和 RSA 以下列方式一起使用:

  1. 创建非对称密钥对并将私钥保密,并将公钥保存在受信任的密钥库中
  2. 创建一个对称数据加密密钥并用它加密数据(例如使用 AES-CBC 和随机 IV)
  3. 使用密钥对的公钥加密对称数据加密密钥
  4. 使用私钥创建签名(如果可能,使用单独的密钥对),例如使用PKCS#1 使用 SHA-256 哈希算法
  5. 存储加密数据 (+IV)、加密密钥和签名

验证

  1. 检索数据等
  2. 使用信任库中的公钥验证签名
  3. 使用私钥解密对称密钥(受密码保护,存储在 U 盘或智能卡等上)
  4. 解密数据

您将需要某种方式来存储数据。最好为此使用通用格式,例如加密消息语法。有关密钥大小,请参阅http://www.keylength.com/,例如使用 NIST 或 ECRYPT II 建议。我会建议匹配尺寸,例如AES-128 位、RSA 3072 位和 SHA-256 用于签名。

【讨论】:

    猜你喜欢
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多