En-/Decryption speed for large files (GnuPG and Gpg4win)

Christoph Klassen christoph.klassen at intevation.de
Sun Jan 15 10:52:23 CET 2023


Hello,

I was testing the encryption and decryption with "pure" GnuPG and 
Gpg4win to compare the speed of them. What I also wanted to find out it 
how long it takes to en-/decrypt larger files.

Some details of the environment for the test:
* Windows 10
* Gpg4win 4.0.3
* CPU: Intel i5-6500 @3,20 GHz
* RAM: 16 GB
* Storage: SSD

To test the speed I created files of different sizes with a Python 
script where I used the method os.urandom() to fill the files. GnuPG was 
running in the PowerShell and I measured the time by using the command 
"Measure-Command". To measure the time that Gpg4win needed I used a 
stopwatch.

First part of the test was the encryption of the files. To test GnuPG I 
used the command "gpg -r test --encrypt ./test_file". To encrypt with 
Gpg4win I used the entry "Encrypt" of the GpgEX context menu in the file 
explorer.

Results of encryption:

Size | GnuPG            | Gpg4win
1GB  |        38 sec.   | 1 min. 8 sec.
1GB  |        37 sec.   | 1 min. 7 sec.
2GB  | 1 min. 14 sec.   | 2 min. 15 sec.
2GB  | 1 min. 14 sec.   | 2 min. 14 sec.
5GB  | 3 min. 10 sec.   | 6 min. 10 sec.
5GB  | 3 min. 6 sec.    | 5 min. 34 sec.
10GB | 6 min. 28 sec.   | 11 min. 21 sec.
10GB | 6 min. 21 sec.   | 11 min. 6 sec.


To decrypt the files I used the entry "Decrypt" of the GpgEX context 
menu in the file explorer for Gpg4win and for GnuPG I used the command 
"gpg --output test_file --decrypt test_file.gpg".

Results of decryption:

Size | GnuPG            | Gpg4win
1GB  |        3 sec.    |        36 sec.
1GB  |        3 sec.    |        34 sec.
2GB  |        10 sec.   | 1 min. 13 sec.
2GB  |        7 sec.    | 1 min. 12 sec.
5GB  |        22 sec.   | 3 min. 1 sec.
5GB  |        19 sec.   | 3 min. 2 sec.
10GB | 1 min. 3 sec.    | 5 min. 52 sec.
10GB | 1 min. 7 sec.    | 6 min. 5 sec.


One insight of this test is that Gpg4win needs around two times longer 
for encryption. For decryption the difference is much bigger.

When I was testing the decryption I also tried "gpg --decrypt 
test_file.gpg" (without output file) with the 10 GB file and it took 8 
minutes and 47 seconds. I was wondering why it took longer when GnuPG 
didn't need to create an output file.

Did someone of you also try to en-/decrypt larger files? Maybe even 
files that are larger than 1 TB? It would be really nice to know how 
long GnuPG and Gpg4win are busy with such large files.

With regards,
Christoph


-- 
Christoph Klassen  |  https://www.intevation.de/
Intevation GmbH, Neuer Graben 17, 49074 Osnabrück | AG Osnabrück, HRB 18998
Geschäftsführer: Frank Koormann, Bernhard Reiter
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 665 bytes
Desc: OpenPGP digital signature
URL: <https://lists.gnupg.org/pipermail/gnupg-users/attachments/20230115/6dcecb9d/attachment.sig>


More information about the Gnupg-users mailing list