Skip to content

[Reappeared after version 5.13.1] Missing Bytes After Encrypt and Decrypt Large files #304

Open
@DrorOzgaon

Description

@DrorOzgaon

Related to Missing Bytes After Encrypt and Decrypt Large files

It seems that this bug is back in all 6.x versions:

  • 6.3.1
  • 6.4.1
  • 6.5.0
  • 6.5.1

Works fine in version 5.13.1.

Sample App - using LargeRawData file ~9.2GB in size:

await using var fileStream1 = new FileStream("./LargeRawData", FileMode.Open, FileAccess.Read);
var fileStream2 = new FileStream("./LargeEncryptedData", FileMode.Create, FileAccess.Write);

var publicKey = "...";

var encryptionKeys = new EncryptionKeys(publicKey);
var encryptPgp = new PGP(encryptionKeys);
encryptPgp.SymmetricKeyAlgorithm = SymmetricKeyAlgorithmTag.Aes256;

await encryptPgp.EncryptStreamAsync(fileStream1, fileStream2);
await fileStream2.DisposeAsync();

await using var fileStream3 = new FileStream("./LargeEncryptedData", FileMode.Open, FileAccess.Read);
await using var fileStream4 = new FileStream("./LargeDecryptedData", FileMode.Create, FileAccess.Write);

var privateKey = "...";
var passPhrase = "...";

var decryptionKeys = new EncryptionKeys(privateKey, passPhrase);
var decryptPgp = new PGP(decryptionKeys);
decryptPgp.SymmetricKeyAlgorithm = SymmetricKeyAlgorithmTag.Aes256;

await decryptPgp.DecryptStreamAsync(fileStream3, fileStream4);

The LargeDecryptedData file is missing ~1MB compared to LargeRawData file.

I tried to pinpoint the change that caused this, but 5.x to 6.x seemed to have undergone a massive refactoring.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions