提问者:小点点

AES加密和RSA数字签名方案是否可以一起用于文件加密?


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

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

我有以下协议:

  • 文件将使用AES加密
  • 进行加密
  • RSA加密的私钥将是文件的签名
  • 公钥将在解密过程中验证签名

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


共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位、RSA3072位和SHA-256用于签名。