如何设置PGPCore加密方式的加密模式

问题描述 投票:0回答:1

我正在研究 PGP 核心加密/解密。它工作正常,我正在使用 用于加密数据的 AES 256 算法。但 AES:默认为 CBC。 我正在寻找将模式设置为“CTR”进行加密,但没有找到任何方法。 下面是我用于加密数据的代码。

 private static void EncryptFile(string inputFile, string outputFile, string publicKeyPath) {
 using (Stream outputStream = File.Create(outputFile))
 using (Stream inputStream = File.OpenRead(inputFile))
 using (Stream publicKeyStream = File.OpenRead(publicKeyPath))
 {
     PgpPublicKey publicKey = ReadPublicKey(publicKeyStream);

     PgpEncryptedDataGenerator encryptedDataGen = new PgpEncryptedDataGenerator(SymmetricKeyAlgorithmTag.Aes256, true, new SecureRandom());
    
     encryptedDataGen.AddMethod(publicKey);
     using (Stream compressedDataStream = encryptedDataGen.Open(outputStream, new byte[4096]))
     using (Stream compressedData = new PgpCompressedDataGenerator(CompressionAlgorithmTag.Zip).Open(compressedDataStream))
     {
         inputStream.CopyTo(compressedData);
     }

 }

}

你能帮我找到方法吗?

提前致谢

c# .net bouncycastle public-key-encryption pgp
1个回答
0
投票

Bouncy Castle 的 PGP 类使用的 OpenPGP 标准不支持将密码模式更改为 CTR。要在 CTR 模式下使用 AES-256,您需要使用较低级别的加密 API,但这意味着放弃 PGP 兼容性和功能。

© www.soinside.com 2019 - 2024. All rights reserved.